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.
|
; Objects used in battle animations.
|
||||||
|
|
||||||
QueueBattleAnimation: ; cc9a1 (33:49a1)
|
INCLUDE "battle/objects/engine.asm"
|
||||||
ld hl, ActiveAnimObjects
|
INCLUDE "battle/objects/data.asm"
|
||||||
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/functions.asm"
|
INCLUDE "battle/objects/functions.asm"
|
||||||
|
INCLUDE "battle/objects/library.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/framesets.asm"
|
INCLUDE "battle/objects/framesets.asm"
|
||||||
INCLUDE "battle/objects/oam.asm"
|
INCLUDE "battle/objects/oam.asm"
|
||||||
INCLUDE "battle/objects/gfx_headers.asm"
|
INCLUDE "battle/objects/gfx_headers.asm"
|
||||||
|
@ -174,8 +174,6 @@ BattleBGEffect_FlashInverted: ; c80eb (32:40eb)
|
|||||||
ld de, .inverted
|
ld de, .inverted
|
||||||
jp BattleBGEffect_FlashContinue
|
jp BattleBGEffect_FlashContinue
|
||||||
|
|
||||||
; c80f1 (32:40f1)
|
|
||||||
|
|
||||||
.inverted
|
.inverted
|
||||||
db %11100100 ; 3210
|
db %11100100 ; 3210
|
||||||
db %00011011 ; 0123
|
db %00011011 ; 0123
|
||||||
@ -185,8 +183,6 @@ BattleBGEffect_FlashWhite: ; c80f3 (32:40f3)
|
|||||||
ld de, .white
|
ld de, .white
|
||||||
jp BattleBGEffect_FlashContinue
|
jp BattleBGEffect_FlashContinue
|
||||||
|
|
||||||
; c80f9 (32:40f9)
|
|
||||||
|
|
||||||
.white
|
.white
|
||||||
db %11100100 ; 3210
|
db %11100100 ; 3210
|
||||||
db %00000000 ; 0000
|
db %00000000 ; 0000
|
||||||
@ -295,12 +291,8 @@ BattleBGEffect_06: ; c8171 (32:4171)
|
|||||||
ld [wOBP0], a
|
ld [wOBP0], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; c8185 (32:4185)
|
|
||||||
|
|
||||||
.PalsCGB
|
.PalsCGB
|
||||||
db $e4, $90, $fe
|
db $e4, $90, $fe
|
||||||
; c8188
|
|
||||||
|
|
||||||
.PalsSGB
|
.PalsSGB
|
||||||
db $f0, $c0, $fe
|
db $f0, $c0, $fe
|
||||||
; c818b
|
; c818b
|
||||||
@ -318,12 +310,8 @@ BattleBGEffect_07: ; c818b (32:418b)
|
|||||||
ld [wOBP0], a
|
ld [wOBP0], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; c819f (32:419f)
|
|
||||||
|
|
||||||
.PalsCGB
|
.PalsCGB
|
||||||
db $e4, $d8, $fe
|
db $e4, $d8, $fe
|
||||||
; c81a2
|
|
||||||
|
|
||||||
.PalsSGB
|
.PalsSGB
|
||||||
db $f0, $cc, $fe
|
db $f0, $cc, $fe
|
||||||
; c81a5
|
; c81a5
|
||||||
@ -334,8 +322,6 @@ BattleBGEffect_08: ; c81a5 (32:41a5)
|
|||||||
ld [wBGP], a
|
ld [wBGP], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; c81af (32:41af)
|
|
||||||
|
|
||||||
.Pals
|
.Pals
|
||||||
db $1b, $63, $87, $fe
|
db $1b, $63, $87, $fe
|
||||||
; c81b3
|
; c81b3
|
||||||
@ -399,13 +385,9 @@ BattleBGEffect_ShowMon: ; c81ea (32:41ea)
|
|||||||
call BattleBGEffect_RunPicResizeScript
|
call BattleBGEffect_RunPicResizeScript
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; c820c (32:420c)
|
|
||||||
|
|
||||||
.PlayerData
|
.PlayerData
|
||||||
db 0, $31, 0
|
db 0, $31, 0
|
||||||
db -1
|
db -1
|
||||||
; c8210
|
|
||||||
|
|
||||||
.EnemyData
|
.EnemyData
|
||||||
db 3, $00, 3
|
db 3, $00, 3
|
||||||
db -1
|
db -1
|
||||||
@ -668,15 +650,11 @@ BattleBGEffect_EnterMon: ; c837b (32:437b)
|
|||||||
call BattleBGEffect_RunPicResizeScript
|
call BattleBGEffect_RunPicResizeScript
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; c8394 (32:4394)
|
|
||||||
|
|
||||||
.PlayerData
|
.PlayerData
|
||||||
db 2, $31, 2
|
db 2, $31, 2
|
||||||
db 1, $31, 1
|
db 1, $31, 1
|
||||||
db 0, $31, 0
|
db 0, $31, 0
|
||||||
db -1
|
db -1
|
||||||
; c839e
|
|
||||||
|
|
||||||
.EnemyData
|
.EnemyData
|
||||||
db 5, $00, 5
|
db 5, $00, 5
|
||||||
db 4, $00, 4
|
db 4, $00, 4
|
||||||
@ -700,8 +678,6 @@ BattleBGEffect_ReturnMon: ; c83a8 (32:43a8)
|
|||||||
call BattleBGEffect_RunPicResizeScript
|
call BattleBGEffect_RunPicResizeScript
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; c83c1 (32:43c1)
|
|
||||||
|
|
||||||
.PlayerData
|
.PlayerData
|
||||||
db 0, $31, 0
|
db 0, $31, 0
|
||||||
db -2, $66, 0
|
db -2, $66, 0
|
||||||
@ -711,8 +687,6 @@ BattleBGEffect_ReturnMon: ; c83a8 (32:43a8)
|
|||||||
db -2, $22, 2
|
db -2, $22, 2
|
||||||
db -3, $00, 0
|
db -3, $00, 0
|
||||||
db -1
|
db -1
|
||||||
; c83d7
|
|
||||||
|
|
||||||
.EnemyData
|
.EnemyData
|
||||||
db 3, $00, 3
|
db 3, $00, 3
|
||||||
db -2, $77, 3
|
db -2, $77, 3
|
||||||
@ -1650,12 +1624,12 @@ BattleBGEffect_2f: ; c8919 (32:4919)
|
|||||||
BattleBGEffect_26: ; c892a (32:492a)
|
BattleBGEffect_26: ; c892a (32:492a)
|
||||||
call BattleBGEffects_AnonJumptable
|
call BattleBGEffects_AnonJumptable
|
||||||
.anon_jumptable
|
.anon_jumptable
|
||||||
dw Functionc8933
|
dw .zero
|
||||||
dw Functionc894a
|
dw .one
|
||||||
dw Functionc8960
|
dw .two
|
||||||
|
|
||||||
|
|
||||||
Functionc8933: ; c8933 (32:4933)
|
.zero
|
||||||
call BattleBGEffects_IncrementJumptable
|
call BattleBGEffects_IncrementJumptable
|
||||||
call BattleBGEffects_ClearLYOverrides
|
call BattleBGEffects_ClearLYOverrides
|
||||||
ld a, $43
|
ld a, $43
|
||||||
@ -1668,7 +1642,7 @@ Functionc8933: ; c8933 (32:4933)
|
|||||||
ld [hl], $0
|
ld [hl], $0
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Functionc894a: ; c894a (32:494a)
|
.one
|
||||||
ld hl, BG_EFFECT_STRUCT_03
|
ld hl, BG_EFFECT_STRUCT_03
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
@ -1682,19 +1656,19 @@ Functionc894a: ; c894a (32:494a)
|
|||||||
ld [hl], a
|
ld [hl], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Functionc8960: ; c8960 (32:4960)
|
.two
|
||||||
call BattleAnim_ResetLCDStatCustom
|
call BattleAnim_ResetLCDStatCustom
|
||||||
ret
|
ret
|
||||||
|
|
||||||
BattleBGEffect_2c: ; c8964 (32:4964)
|
BattleBGEffect_2c: ; c8964 (32:4964)
|
||||||
call BattleBGEffects_AnonJumptable
|
call BattleBGEffects_AnonJumptable
|
||||||
.anon_jumptable
|
.anon_jumptable
|
||||||
dw Functionc896d
|
dw .zero
|
||||||
dw Functionc8985
|
dw .one
|
||||||
dw Functionc89b1
|
dw .two
|
||||||
|
|
||||||
|
|
||||||
Functionc896d: ; c896d (32:496d)
|
.zero
|
||||||
call BattleBGEffects_IncrementJumptable
|
call BattleBGEffects_IncrementJumptable
|
||||||
call BattleBGEffects_ClearLYOverrides
|
call BattleBGEffects_ClearLYOverrides
|
||||||
ld a, $43
|
ld a, $43
|
||||||
@ -1709,7 +1683,7 @@ Functionc896d: ; c896d (32:496d)
|
|||||||
ld [hl], a
|
ld [hl], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Functionc8985: ; c8985 (32:4985)
|
.one
|
||||||
ld hl, BG_EFFECT_STRUCT_03
|
ld hl, BG_EFFECT_STRUCT_03
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
@ -1737,26 +1711,26 @@ Functionc8985: ; c8985 (32:4985)
|
|||||||
ld [hl], a
|
ld [hl], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Functionc89b1: ; c89b1 (32:49b1)
|
.two
|
||||||
call BattleAnim_ResetLCDStatCustom
|
call BattleAnim_ResetLCDStatCustom
|
||||||
ret
|
ret
|
||||||
|
|
||||||
BattleBGEffect_28: ; c89b5 (32:49b5)
|
BattleBGEffect_28: ; c89b5 (32:49b5)
|
||||||
call BattleBGEffects_AnonJumptable
|
call BattleBGEffects_AnonJumptable
|
||||||
.anon_jumptable
|
.anon_jumptable
|
||||||
dw Functionc89be
|
dw .zero
|
||||||
dw Functionc89ca
|
dw .one
|
||||||
dw Functionc89da
|
dw .two
|
||||||
|
|
||||||
|
|
||||||
Functionc89be: ; c89be (32:49be)
|
.zero
|
||||||
call BattleBGEffects_IncrementJumptable
|
call BattleBGEffects_IncrementJumptable
|
||||||
call BattleBGEffects_ClearLYOverrides
|
call BattleBGEffects_ClearLYOverrides
|
||||||
ld a, $43
|
ld a, $43
|
||||||
call Functionc8ede
|
call Functionc8ede
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Functionc89ca: ; c89ca (32:49ca)
|
.one
|
||||||
ld hl, BG_EFFECT_STRUCT_03
|
ld hl, BG_EFFECT_STRUCT_03
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
@ -1768,19 +1742,19 @@ Functionc89ca: ; c89ca (32:49ca)
|
|||||||
call Functionc8f2e
|
call Functionc8f2e
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Functionc89da: ; c89da (32:49da)
|
.two
|
||||||
ld hl, BG_EFFECT_STRUCT_03
|
ld hl, BG_EFFECT_STRUCT_03
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
and a
|
and a
|
||||||
jr z, .asm_c89ea
|
jr z, .reset
|
||||||
dec [hl]
|
dec [hl]
|
||||||
ld d, a
|
ld d, a
|
||||||
ld e, 4
|
ld e, 4
|
||||||
call Functionc8f2e
|
call Functionc8f2e
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.asm_c89ea
|
.reset
|
||||||
call BattleAnim_ResetLCDStatCustom
|
call BattleAnim_ResetLCDStatCustom
|
||||||
ret
|
ret
|
||||||
|
|
||||||
@ -1949,11 +1923,11 @@ endr
|
|||||||
BattleBGEffect_2b: ; c8acc (32:4acc)
|
BattleBGEffect_2b: ; c8acc (32:4acc)
|
||||||
call BattleBGEffects_AnonJumptable
|
call BattleBGEffects_AnonJumptable
|
||||||
.anon_jumptable
|
.anon_jumptable
|
||||||
dw Functionc8ad3
|
dw .zero
|
||||||
dw Functionc8ae5
|
dw .one
|
||||||
|
|
||||||
|
|
||||||
Functionc8ad3: ; c8ad3 (32:4ad3)
|
.zero
|
||||||
call BattleBGEffects_IncrementJumptable
|
call BattleBGEffects_IncrementJumptable
|
||||||
call BattleBGEffects_ClearLYOverrides
|
call BattleBGEffects_ClearLYOverrides
|
||||||
ld a, $43
|
ld a, $43
|
||||||
@ -1963,7 +1937,7 @@ Functionc8ad3: ; c8ad3 (32:4ad3)
|
|||||||
ld [hl], $40
|
ld [hl], $40
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Functionc8ae5: ; c8ae5 (32:4ae5)
|
.one
|
||||||
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
|
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
@ -1986,15 +1960,15 @@ Functionc8ae5: ; c8ae5 (32:4ae5)
|
|||||||
BattleBGEffect_1c: ; c8b00 (32:4b00)
|
BattleBGEffect_1c: ; c8b00 (32:4b00)
|
||||||
ld a, [hCGB]
|
ld a, [hCGB]
|
||||||
and a
|
and a
|
||||||
jr nz, asm_c8b7a
|
jr nz, .cgb
|
||||||
call BattleBGEffects_AnonJumptable
|
call BattleBGEffects_AnonJumptable
|
||||||
.anon_jumptable
|
.anon_jumptable
|
||||||
dw Functionc8b0e
|
dw .zero
|
||||||
dw Functionc8b22
|
dw .one
|
||||||
dw Functionc8b60
|
dw .two
|
||||||
|
|
||||||
|
|
||||||
Functionc8b0e: ; c8b0e (32:4b0e)
|
.zero
|
||||||
call BattleBGEffects_IncrementJumptable
|
call BattleBGEffects_IncrementJumptable
|
||||||
ld a, $e4
|
ld a, $e4
|
||||||
call BattleBGEffects_SetLYOverrides
|
call BattleBGEffects_SetLYOverrides
|
||||||
@ -2006,7 +1980,7 @@ Functionc8b0e: ; c8b0e (32:4b0e)
|
|||||||
ld [hLCDStatCustom + 2], a
|
ld [hLCDStatCustom + 2], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Functionc8b22: ; c8b22 (32:4b22)
|
.one
|
||||||
ld hl, BG_EFFECT_STRUCT_03
|
ld hl, BG_EFFECT_STRUCT_03
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
@ -2023,74 +1997,68 @@ Functionc8b22: ; c8b22 (32:4b22)
|
|||||||
ld d, $0
|
ld d, $0
|
||||||
push bc
|
push bc
|
||||||
call BGEffect_CheckBattleTurn
|
call BGEffect_CheckBattleTurn
|
||||||
jr nz, .asm_c8b4d
|
jr nz, .player
|
||||||
ld hl, Unknown_c8bd8
|
ld hl, .CGB_DMGEnemyData
|
||||||
add hl, de
|
add hl, de
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
ld [wOBP1], a
|
ld [wOBP1], a
|
||||||
ld d, a
|
ld d, a
|
||||||
ld e, [hl]
|
ld e, [hl]
|
||||||
ld bc, $2f30
|
lb bc, $2f, $30
|
||||||
jr .asm_c8b5b
|
jr .okay
|
||||||
|
|
||||||
.asm_c8b4d
|
.player
|
||||||
ld hl, Unknown_c8be0
|
ld hl, .DMG_PlayerData
|
||||||
add hl, de
|
add hl, de
|
||||||
ld d, [hl]
|
ld d, [hl]
|
||||||
inc hl
|
inc hl
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
ld [wOBP1], a
|
ld [wOBP1], a
|
||||||
ld e, a
|
ld e, a
|
||||||
ld bc, $3728
|
lb bc, $37, $28
|
||||||
.asm_c8b5b
|
.okay
|
||||||
call Functionc8b6c
|
call .DMG_LYOverrideLoads
|
||||||
pop bc
|
pop bc
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Functionc8b60: ; c8b60 (32:4b60)
|
.two
|
||||||
call Functionc8f19
|
call Functionc8f19
|
||||||
ld a, $e4
|
ld a, $e4
|
||||||
ld [wBGP], a
|
ld [wBGP], a
|
||||||
ld [wOBP1], a
|
ld [wOBP1], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Functionc8b6c: ; c8b6c (32:4b6c)
|
.DMG_LYOverrideLoads
|
||||||
ld hl, LYOverridesBackup
|
ld hl, LYOverridesBackup
|
||||||
.asm_c8b6f
|
.loop1
|
||||||
ld [hl], d
|
ld [hl], d
|
||||||
inc hl
|
inc hl
|
||||||
dec b
|
dec b
|
||||||
jr nz, .asm_c8b6f
|
jr nz, .loop1
|
||||||
.asm_c8b74
|
.loop2
|
||||||
ld [hl], e
|
ld [hl], e
|
||||||
inc hl
|
inc hl
|
||||||
dec c
|
dec c
|
||||||
jr nz, .asm_c8b74
|
jr nz, .loop2
|
||||||
ret
|
ret
|
||||||
|
|
||||||
asm_c8b7a: ; c8b7a (32:4b7a)
|
.cgb
|
||||||
ld de, Jumptable_c8b81
|
ld de, .Jumptable
|
||||||
call BatttleBGEffects_GetNamedJumptablePointer
|
call BatttleBGEffects_GetNamedJumptablePointer
|
||||||
jp [hl]
|
jp [hl]
|
||||||
|
|
||||||
; c8b81 (32:4b81)
|
.Jumptable
|
||||||
|
dw .cgb_zero
|
||||||
Jumptable_c8b81: ; c8b81
|
dw .cgb_one
|
||||||
dw Functionc8b87
|
dw .cgb_two
|
||||||
dw Functionc8b91
|
.cgb_zero
|
||||||
dw Functionc8bca
|
|
||||||
; c8b87
|
|
||||||
|
|
||||||
Functionc8b87: ; c8b87
|
|
||||||
call BattleBGEffects_IncrementJumptable
|
call BattleBGEffects_IncrementJumptable
|
||||||
ld hl, BG_EFFECT_STRUCT_03
|
ld hl, BG_EFFECT_STRUCT_03
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], $0
|
ld [hl], $0
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; c8b91
|
.cgb_one
|
||||||
|
|
||||||
Functionc8b91: ; c8b91
|
|
||||||
ld hl, BG_EFFECT_STRUCT_03
|
ld hl, BG_EFFECT_STRUCT_03
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
@ -2106,48 +2074,42 @@ Functionc8b91: ; c8b91
|
|||||||
ld e, a
|
ld e, a
|
||||||
ld d, 0
|
ld d, 0
|
||||||
call BGEffect_CheckBattleTurn
|
call BGEffect_CheckBattleTurn
|
||||||
jr nz, .asm_c8bbb
|
jr nz, .player_2
|
||||||
ld hl, Unknown_c8bd8
|
ld hl, .CGB_DMGEnemyData
|
||||||
add hl, de
|
add hl, de
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
push hl
|
push hl
|
||||||
call Functionc8e7f
|
call BGEffects_LoadBGPal1_OBPal0
|
||||||
pop hl
|
pop hl
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
call Functionc8e52
|
call BGEffects_LoadBGPal0_OBPal1
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.asm_c8bbb
|
.player_2
|
||||||
ld hl, Unknown_c8bd8
|
ld hl, .CGB_DMGEnemyData
|
||||||
add hl, de
|
add hl, de
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
push hl
|
push hl
|
||||||
call Functionc8e52
|
call BGEffects_LoadBGPal0_OBPal1
|
||||||
pop hl
|
pop hl
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
call Functionc8e7f
|
call BGEffects_LoadBGPal1_OBPal0
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; c8bca
|
.cgb_two
|
||||||
|
|
||||||
Functionc8bca: ; c8bca
|
|
||||||
ld a, $e4
|
ld a, $e4
|
||||||
call Functionc8e52
|
call BGEffects_LoadBGPal0_OBPal1
|
||||||
ld a, $e4
|
ld a, $e4
|
||||||
call Functionc8e7f
|
call BGEffects_LoadBGPal1_OBPal0
|
||||||
call EndBattleBGEffect
|
call EndBattleBGEffect
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; c8bd8
|
.CGB_DMGEnemyData
|
||||||
|
|
||||||
Unknown_c8bd8: ; c8bd8
|
|
||||||
db $e4, $e4
|
db $e4, $e4
|
||||||
db $f8, $90
|
db $f8, $90
|
||||||
db $fc, $40
|
db $fc, $40
|
||||||
db $f8, $90
|
db $f8, $90
|
||||||
; c8be0
|
.DMG_PlayerData
|
||||||
|
|
||||||
Unknown_c8be0: ; c8be0
|
|
||||||
db $e4, $e4
|
db $e4, $e4
|
||||||
db $90, $f8
|
db $90, $f8
|
||||||
db $40, $fc
|
db $40, $fc
|
||||||
@ -2155,112 +2117,94 @@ Unknown_c8be0: ; c8be0
|
|||||||
; c8be8
|
; c8be8
|
||||||
|
|
||||||
BattleBGEffect_RapidFlash: ; c8be8 (32:4be8)
|
BattleBGEffect_RapidFlash: ; c8be8 (32:4be8)
|
||||||
ld de, Unknown_c8bef
|
ld de, .FlashPals
|
||||||
call Functionc8d77
|
call BGEffect_RapidCyclePals
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; c8bef (32:4bef)
|
.FlashPals
|
||||||
|
|
||||||
Unknown_c8bef: ; c8bef
|
|
||||||
db $e4, $6c, $fe
|
db $e4, $6c, $fe
|
||||||
; c8bf2
|
; c8bf2
|
||||||
|
|
||||||
BattleBGEffect_16: ; c8bf2 (32:4bf2)
|
BattleBGEffect_16: ; c8bf2 (32:4bf2)
|
||||||
ld de, Unknown_c8bf9
|
ld de, .Pals
|
||||||
call Functionc8d77
|
call BGEffect_RapidCyclePals
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; c8bf9 (32:4bf9)
|
.Pals
|
||||||
|
|
||||||
Unknown_c8bf9: ; c8bf9
|
|
||||||
db $e4, $90, $40, $ff
|
db $e4, $90, $40, $ff
|
||||||
; c8bfd
|
; c8bfd
|
||||||
|
|
||||||
BattleBGEffect_17: ; c8bfd (32:4bfd)
|
BattleBGEffect_17: ; c8bfd (32:4bfd)
|
||||||
ld de, Unknown_c8c04
|
ld de, .Pals
|
||||||
call Functionc8d77
|
call BGEffect_RapidCyclePals
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; c8c04 (32:4c04)
|
.Pals
|
||||||
|
|
||||||
Unknown_c8c04: ; c8c04
|
|
||||||
db $e4, $f8, $fc, $ff
|
db $e4, $f8, $fc, $ff
|
||||||
; c8c08
|
; c8c08
|
||||||
|
|
||||||
BattleBGEffect_18: ; c8c08 (32:4c08)
|
BattleBGEffect_18: ; c8c08 (32:4c08)
|
||||||
ld de, Unknown_c8c0f
|
ld de, .Pals
|
||||||
call Functionc8d77
|
call BGEffect_RapidCyclePals
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; c8c0f (32:4c0f)
|
.Pals
|
||||||
|
|
||||||
Unknown_c8c0f: ; c8c0f
|
|
||||||
db $e4, $90, $40, $90, $fe
|
db $e4, $90, $40, $90, $fe
|
||||||
; c8c14
|
; c8c14
|
||||||
|
|
||||||
BattleBGEffect_19: ; c8c14 (32:4c14)
|
BattleBGEffect_19: ; c8c14 (32:4c14)
|
||||||
ld de, Unknown_c8c1b
|
ld de, .Pals
|
||||||
call Functionc8d77
|
call BGEffect_RapidCyclePals
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; c8c1b (32:4c1b)
|
.Pals
|
||||||
|
|
||||||
Unknown_c8c1b: ; c8c1b
|
|
||||||
db $e4, $f8, $fc, $f8, $fe
|
db $e4, $f8, $fc, $f8, $fe
|
||||||
; c8c20
|
; c8c20
|
||||||
|
|
||||||
BattleBGEffect_1a: ; c8c20 (32:4c20)
|
BattleBGEffect_1a: ; c8c20 (32:4c20)
|
||||||
ld de, Unknown_c8c27
|
ld de, .Pals
|
||||||
call Functionc8d77
|
call BGEffect_RapidCyclePals
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; c8c27 (32:4c27)
|
.Pals
|
||||||
|
|
||||||
Unknown_c8c27: ; c8c27
|
|
||||||
db $e4, $f8, $fc, $f8, $e4, $90, $40, $90, $fe
|
db $e4, $f8, $fc, $f8, $e4, $90, $40, $90, $fe
|
||||||
; c8c30
|
; c8c30
|
||||||
|
|
||||||
BattleBGEffect_1b: ; c8c30 (32:4c30)
|
BattleBGEffect_1b: ; c8c30 (32:4c30)
|
||||||
ld de, Unknown_c8c37
|
ld de, .Pals
|
||||||
call Functionc8d77
|
call BGEffect_RapidCyclePals
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; c8c37 (32:4c37)
|
.Pals
|
||||||
|
|
||||||
Unknown_c8c37:
|
|
||||||
db $e4, $fc, $e4, $00, $fe
|
db $e4, $fc, $e4, $00, $fe
|
||||||
; c8c3c
|
; c8c3c
|
||||||
|
|
||||||
BattleBGEffect_1d: ; c8c3c (32:4c3c)
|
BattleBGEffect_1d: ; c8c3c (32:4c3c)
|
||||||
ld de, Unknown_c8c43
|
ld de, .Pals
|
||||||
call Functionc8d77
|
call BGEffect_RapidCyclePals
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; c8c43 (32:4c43)
|
.Pals
|
||||||
|
|
||||||
Unknown_c8c43:
|
|
||||||
db $e4, $90, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $90, $e4, $ff
|
db $e4, $90, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $90, $e4, $ff
|
||||||
; c8c55
|
; c8c55
|
||||||
|
|
||||||
BattleBGEffect_1e: ; c8c55 (32:4c55)
|
BattleBGEffect_1e: ; c8c55 (32:4c55)
|
||||||
ld de, Unknown_c8c5c
|
ld de, .Pals
|
||||||
call Functionc8d77
|
call BGEffect_RapidCyclePals
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; c8c5c (32:4c5c)
|
.Pals
|
||||||
|
|
||||||
Unknown_c8c5c:
|
|
||||||
db $00, $40, $90, $e4, $ff
|
db $00, $40, $90, $e4, $ff
|
||||||
; c8c61
|
; c8c61
|
||||||
|
|
||||||
BattleBGEffect_VibrateMon: ; c8c61 (32:4c61)
|
BattleBGEffect_VibrateMon: ; c8c61 (32:4c61)
|
||||||
call BattleBGEffects_AnonJumptable
|
call BattleBGEffects_AnonJumptable
|
||||||
.anon_jumptable
|
.anon_jumptable
|
||||||
dw Functionc8c68
|
dw .zero
|
||||||
dw Functionc8c85
|
dw .one
|
||||||
|
|
||||||
|
|
||||||
Functionc8c68: ; c8c68 (32:4c68)
|
.zero: ; c8c68 (32:4c68)
|
||||||
call BattleBGEffects_IncrementJumptable
|
call BattleBGEffects_IncrementJumptable
|
||||||
call BattleBGEffects_ClearLYOverrides
|
call BattleBGEffects_ClearLYOverrides
|
||||||
ld a, $43
|
ld a, $43
|
||||||
@ -2276,12 +2220,12 @@ Functionc8c68: ; c8c68 (32:4c68)
|
|||||||
ld [hl], $20
|
ld [hl], $20
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Functionc8c85: ; c8c85 (32:4c85)
|
.one: ; c8c85 (32:4c85)
|
||||||
ld hl, BG_EFFECT_STRUCT_03
|
ld hl, BG_EFFECT_STRUCT_03
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
and a
|
and a
|
||||||
jr z, .asm_c8c9e
|
jr z, .finish
|
||||||
dec [hl]
|
dec [hl]
|
||||||
and $1
|
and $1
|
||||||
ret nz
|
ret nz
|
||||||
@ -2294,19 +2238,19 @@ Functionc8c85: ; c8c85 (32:4c85)
|
|||||||
call Functionc900b
|
call Functionc900b
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.asm_c8c9e
|
.finish
|
||||||
call BattleAnim_ResetLCDStatCustom
|
call BattleAnim_ResetLCDStatCustom
|
||||||
ret
|
ret
|
||||||
|
|
||||||
BattleBGEffect_WobbleMon: ; c8ca2 (32:4ca2)
|
BattleBGEffect_WobbleMon: ; c8ca2 (32:4ca2)
|
||||||
call BattleBGEffects_AnonJumptable
|
call BattleBGEffects_AnonJumptable
|
||||||
.anon_jumptable
|
.anon_jumptable
|
||||||
dw Functionc8cab
|
dw .zero
|
||||||
dw Functionc8cc3
|
dw .one
|
||||||
dw Functionc8cdd
|
dw .two
|
||||||
|
|
||||||
|
|
||||||
Functionc8cab: ; c8cab (32:4cab)
|
.zero: ; c8cab (32:4cab)
|
||||||
call BattleBGEffects_IncrementJumptable
|
call BattleBGEffects_IncrementJumptable
|
||||||
call BattleBGEffects_ClearLYOverrides
|
call BattleBGEffects_ClearLYOverrides
|
||||||
ld a, $43
|
ld a, $43
|
||||||
@ -2320,12 +2264,12 @@ Functionc8cab: ; c8cab (32:4cab)
|
|||||||
ld [hl], $0
|
ld [hl], $0
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Functionc8cc3: ; c8cc3 (32:4cc3)
|
.one: ; c8cc3 (32:4cc3)
|
||||||
ld hl, BG_EFFECT_STRUCT_03
|
ld hl, BG_EFFECT_STRUCT_03
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
cp $40
|
cp $40
|
||||||
jr nc, Functionc8cdd
|
jr nc, .two
|
||||||
ld d, $6
|
ld d, $6
|
||||||
call BattleBGEffects_Sine
|
call BattleBGEffects_Sine
|
||||||
call Functionc900b
|
call Functionc900b
|
||||||
@ -2336,40 +2280,40 @@ Functionc8cc3: ; c8cc3 (32:4cc3)
|
|||||||
ld [hl], a
|
ld [hl], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Functionc8cdd: ; c8cdd (32:4cdd)
|
.two: ; c8cdd (32:4cdd)
|
||||||
call BattleAnim_ResetLCDStatCustom
|
call BattleAnim_ResetLCDStatCustom
|
||||||
ret
|
ret
|
||||||
|
|
||||||
BattleBGEffect_2e: ; c8ce1 (32:4ce1)
|
BattleBGEffect_2e: ; c8ce1 (32:4ce1)
|
||||||
call Functionc8d0b
|
call Functionc8d0b
|
||||||
jr c, .asm_c8cea
|
jr c, .xor_a
|
||||||
bit 7, a
|
bit 7, a
|
||||||
jr z, .asm_c8ceb
|
jr z, .okay
|
||||||
.asm_c8cea
|
.xor_a
|
||||||
xor a
|
xor a
|
||||||
.asm_c8ceb
|
.okay
|
||||||
push af
|
push af
|
||||||
call DelayFrame
|
call DelayFrame
|
||||||
pop af
|
pop af
|
||||||
ld [hSCY], a
|
ld [hSCY], a
|
||||||
xor $ff
|
xor $ff
|
||||||
inc a
|
inc a
|
||||||
ld [OTPartyMon3SpclAtk], a
|
ld [AnimObject01_YOffset], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
BattleBGEffect_1f: ; c8cf9 (32:4cf9)
|
BattleBGEffect_1f: ; c8cf9 (32:4cf9)
|
||||||
call Functionc8d0b
|
call Functionc8d0b
|
||||||
jr nc, .asm_c8cff
|
jr nc, .skip
|
||||||
xor a
|
xor a
|
||||||
.asm_c8cff
|
.skip
|
||||||
ld [hSCX], a
|
ld [hSCX], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
BattleBGEffect_20: ; c8d02 (32:4d02)
|
BattleBGEffect_20: ; c8d02 (32:4d02)
|
||||||
call Functionc8d0b
|
call Functionc8d0b
|
||||||
jr nc, .asm_c8d08
|
jr nc, .skip
|
||||||
xor a
|
xor a
|
||||||
.asm_c8d08
|
.skip
|
||||||
ld [hSCY], a
|
ld [hSCY], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
@ -2378,18 +2322,18 @@ Functionc8d0b: ; c8d0b (32:4d0b)
|
|||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
and a
|
and a
|
||||||
jr nz, .asm_c8d18
|
jr nz, .okay
|
||||||
call EndBattleBGEffect
|
call EndBattleBGEffect
|
||||||
scf
|
scf
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.asm_c8d18
|
.okay
|
||||||
dec [hl]
|
dec [hl]
|
||||||
ld hl, BG_EFFECT_STRUCT_03
|
ld hl, BG_EFFECT_STRUCT_03
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
and $f
|
and $f
|
||||||
jr z, .asm_c8d2a
|
jr z, .every_16_frames
|
||||||
dec [hl]
|
dec [hl]
|
||||||
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
|
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
|
||||||
add hl, bc
|
add hl, bc
|
||||||
@ -2397,7 +2341,7 @@ Functionc8d0b: ; c8d0b (32:4d0b)
|
|||||||
and a
|
and a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.asm_c8d2a
|
.every_16_frames
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
swap a
|
swap a
|
||||||
or [hl]
|
or [hl]
|
||||||
@ -2416,7 +2360,7 @@ BattleBGEffect_35: ; c8d3a (32:4d3a)
|
|||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
cp $40
|
cp $40
|
||||||
jr nc, .asm_c8d53
|
jr nc, .finish
|
||||||
ld d, $6
|
ld d, $6
|
||||||
call BattleBGEffects_Sine
|
call BattleBGEffects_Sine
|
||||||
ld [hSCX], a
|
ld [hSCX], a
|
||||||
@ -2427,7 +2371,7 @@ BattleBGEffect_35: ; c8d3a (32:4d3a)
|
|||||||
ld [hl], a
|
ld [hl], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.asm_c8d53
|
.finish
|
||||||
xor a
|
xor a
|
||||||
ld [hSCX], a
|
ld [hSCX], a
|
||||||
ret
|
ret
|
||||||
@ -2437,7 +2381,7 @@ Functionc8d57: ; c8d57 (32:4d57)
|
|||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
and a
|
and a
|
||||||
jr z, .asm_c8d69
|
jr z, .zero
|
||||||
|
|
||||||
dec [hl]
|
dec [hl]
|
||||||
ld hl, BG_EFFECT_STRUCT_03
|
ld hl, BG_EFFECT_STRUCT_03
|
||||||
@ -2446,7 +2390,7 @@ Functionc8d57: ; c8d57 (32:4d57)
|
|||||||
call Functionc8eb2
|
call Functionc8eb2
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.asm_c8d69
|
.zero
|
||||||
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
|
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
@ -2456,23 +2400,23 @@ Functionc8d57: ; c8d57 (32:4d57)
|
|||||||
call Functionc8eac
|
call Functionc8eac
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Functionc8d77: ; c8d77 (32:4d77)
|
BGEffect_RapidCyclePals: ; c8d77 (32:4d77)
|
||||||
ld a, [hCGB]
|
ld a, [hCGB]
|
||||||
and a
|
and a
|
||||||
jr nz, asm_c8dd4
|
jr nz, .cgb
|
||||||
push de
|
push de
|
||||||
ld de, Jumptable_c8d85
|
ld de, .Jumptable_DMG
|
||||||
call BatttleBGEffects_GetNamedJumptablePointer
|
call BatttleBGEffects_GetNamedJumptablePointer
|
||||||
pop de
|
pop de
|
||||||
jp [hl]
|
jp [hl]
|
||||||
|
|
||||||
Jumptable_c8d85: ; c8d85 (32:4d85)
|
.Jumptable_DMG
|
||||||
dw Functionc8d8b
|
dw .zero_dmg
|
||||||
dw Functionc8daa
|
dw .one_dmg
|
||||||
dw Functionc8dc9
|
dw .two_dmg
|
||||||
|
|
||||||
|
|
||||||
Functionc8d8b: ; c8d8b (32:4d8b)
|
.zero_dmg: ; c8d8b (32:4d8b)
|
||||||
call BattleBGEffects_IncrementJumptable
|
call BattleBGEffects_IncrementJumptable
|
||||||
ld a, $e4
|
ld a, $e4
|
||||||
call BattleBGEffects_SetLYOverrides
|
call BattleBGEffects_SetLYOverrides
|
||||||
@ -2490,59 +2434,59 @@ Functionc8d8b: ; c8d8b (32:4d8b)
|
|||||||
ld [hl], a
|
ld [hl], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Functionc8daa: ; c8daa (32:4daa)
|
.one_dmg: ; c8daa (32:4daa)
|
||||||
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
|
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
and $f
|
and $f
|
||||||
jr z, .asm_c8db5
|
jr z, .okay_1_dmg
|
||||||
dec [hl]
|
dec [hl]
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.asm_c8db5
|
.okay_1_dmg
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
swap a
|
swap a
|
||||||
or [hl]
|
or [hl]
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
call Functionc8eac
|
call Functionc8eac
|
||||||
jr c, .asm_c8dc3
|
jr c, .okay_2_dmg
|
||||||
call Functionc900b
|
call Functionc900b
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.asm_c8dc3
|
.okay_2_dmg
|
||||||
ld hl, BG_EFFECT_STRUCT_03
|
ld hl, BG_EFFECT_STRUCT_03
|
||||||
add hl, bc
|
add hl, bc
|
||||||
dec [hl]
|
dec [hl]
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Functionc8dc9: ; c8dc9 (32:4dc9)
|
.two_dmg: ; c8dc9 (32:4dc9)
|
||||||
call Functionc8f19
|
call Functionc8f19
|
||||||
ld a, $e4
|
ld a, $e4
|
||||||
ld [rBGP], a
|
ld [rBGP], a
|
||||||
call EndBattleBGEffect
|
call EndBattleBGEffect
|
||||||
ret
|
ret
|
||||||
|
|
||||||
asm_c8dd4: ; c8dd4 (32:4dd4)
|
.cgb
|
||||||
push de
|
push de
|
||||||
ld de, Jumptable_c8ddd
|
ld de, .Jumptable_CGB
|
||||||
call BatttleBGEffects_GetNamedJumptablePointer
|
call BatttleBGEffects_GetNamedJumptablePointer
|
||||||
pop de
|
pop de
|
||||||
jp [hl]
|
jp [hl]
|
||||||
|
|
||||||
Jumptable_c8ddd: ; c8ddd (32:4ddd)
|
.Jumptable_CGB: ; c8ddd (32:4ddd)
|
||||||
dw Functionc8de7
|
dw .zero_cgb
|
||||||
dw Functionc8e02
|
dw .one_cgb
|
||||||
dw Functionc8e21
|
dw .two_cgb
|
||||||
dw Functionc8e2a
|
dw .three_cgb
|
||||||
dw Functionc8e49
|
dw .four_cgb
|
||||||
|
|
||||||
|
|
||||||
Functionc8de7: ; c8de7 (32:4de7)
|
.zero_cgb: ; c8de7 (32:4de7)
|
||||||
call BGEffect_CheckBattleTurn
|
call BGEffect_CheckBattleTurn
|
||||||
jr nz, .asm_c8df2
|
jr nz, .player_turn_cgb
|
||||||
call BattleBGEffects_IncrementJumptable
|
call BattleBGEffects_IncrementJumptable
|
||||||
call BattleBGEffects_IncrementJumptable
|
call BattleBGEffects_IncrementJumptable
|
||||||
.asm_c8df2
|
.player_turn_cgb
|
||||||
call BattleBGEffects_IncrementJumptable
|
call BattleBGEffects_IncrementJumptable
|
||||||
ld hl, BG_EFFECT_STRUCT_03
|
ld hl, BG_EFFECT_STRUCT_03
|
||||||
add hl, bc
|
add hl, bc
|
||||||
@ -2553,69 +2497,69 @@ Functionc8de7: ; c8de7 (32:4de7)
|
|||||||
ld [hl], a
|
ld [hl], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Functionc8e02: ; c8e02 (32:4e02)
|
.one_cgb: ; c8e02 (32:4e02)
|
||||||
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
|
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
and $f
|
and $f
|
||||||
jr z, .asm_c8e0d
|
jr z, .okay_1_cgb
|
||||||
dec [hl]
|
dec [hl]
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.asm_c8e0d
|
.okay_1_cgb
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
swap a
|
swap a
|
||||||
or [hl]
|
or [hl]
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
call Functionc8eac
|
call Functionc8eac
|
||||||
jr c, .asm_c8e1b
|
jr c, .okay_2_cgb
|
||||||
call Functionc8e52
|
call BGEffects_LoadBGPal0_OBPal1
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.asm_c8e1b
|
.okay_2_cgb
|
||||||
ld hl, BG_EFFECT_STRUCT_03
|
ld hl, BG_EFFECT_STRUCT_03
|
||||||
add hl, bc
|
add hl, bc
|
||||||
dec [hl]
|
dec [hl]
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Functionc8e21: ; c8e21 (32:4e21)
|
.two_cgb: ; c8e21 (32:4e21)
|
||||||
ld a, $e4
|
ld a, $e4
|
||||||
call Functionc8e52
|
call BGEffects_LoadBGPal0_OBPal1
|
||||||
call EndBattleBGEffect
|
call EndBattleBGEffect
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Functionc8e2a: ; c8e2a (32:4e2a)
|
.three_cgb: ; c8e2a (32:4e2a)
|
||||||
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
|
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
and $f
|
and $f
|
||||||
jr z, .asm_c8e35
|
jr z, .okay_3_cgb
|
||||||
dec [hl]
|
dec [hl]
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.asm_c8e35
|
.okay_3_cgb
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
swap a
|
swap a
|
||||||
or [hl]
|
or [hl]
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
call Functionc8eac
|
call Functionc8eac
|
||||||
jr c, .asm_c8e43
|
jr c, .okay_4_cgb
|
||||||
call Functionc8e7f
|
call BGEffects_LoadBGPal1_OBPal0
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.asm_c8e43
|
.okay_4_cgb
|
||||||
ld hl, BG_EFFECT_STRUCT_03
|
ld hl, BG_EFFECT_STRUCT_03
|
||||||
add hl, bc
|
add hl, bc
|
||||||
dec [hl]
|
dec [hl]
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Functionc8e49: ; c8e49 (32:4e49)
|
.four_cgb: ; c8e49 (32:4e49)
|
||||||
ld a, $e4
|
ld a, $e4
|
||||||
call Functionc8e7f
|
call BGEffects_LoadBGPal1_OBPal0
|
||||||
call EndBattleBGEffect
|
call EndBattleBGEffect
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Functionc8e52: ; c8e52 (32:4e52)
|
BGEffects_LoadBGPal0_OBPal1: ; c8e52 (32:4e52)
|
||||||
ld h, a
|
ld h, a
|
||||||
ld a, [rSVBK]
|
ld a, [rSVBK]
|
||||||
push af
|
push af
|
||||||
@ -2642,7 +2586,7 @@ Functionc8e52: ; c8e52 (32:4e52)
|
|||||||
ld [hCGBPalUpdate], a
|
ld [hCGBPalUpdate], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Functionc8e7f: ; c8e7f (32:4e7f)
|
BGEffects_LoadBGPal1_OBPal0: ; c8e7f (32:4e7f)
|
||||||
ld h, a
|
ld h, a
|
||||||
ld a, [rSVBK]
|
ld a, [rSVBK]
|
||||||
push af
|
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
|
BattleStart_TrainerHuds: ; 2c000
|
||||||
ld a, $e4
|
ld a, $e4
|
||||||
ld [rOBP0], a
|
ld [rOBP0], a
|
||||||
|
@ -1,9 +1,5 @@
|
|||||||
INCLUDE "includes.asm"
|
INCLUDE "includes.asm"
|
||||||
|
|
||||||
wCreditsBorderFrame EQU $cf64
|
|
||||||
wCreditsBorderMon EQU $cf65
|
|
||||||
wCreditsLYOverride EQU $cf66
|
|
||||||
|
|
||||||
SECTION "Credits", ROMX, BANK[CREDITS]
|
SECTION "Credits", ROMX, BANK[CREDITS]
|
||||||
|
|
||||||
const_def
|
const_def
|
||||||
|
@ -1,6 +1,3 @@
|
|||||||
wCurrPocket EQU $cf65
|
|
||||||
|
|
||||||
|
|
||||||
Pack: ; 10000
|
Pack: ; 10000
|
||||||
ld hl, Options
|
ld hl, Options
|
||||||
set NO_TEXT_SCROLL, [hl]
|
set NO_TEXT_SCROLL, [hl]
|
||||||
|
13
wram.asm
13
wram.asm
@ -1532,14 +1532,18 @@ wMomBankDigitCursorPosition::
|
|||||||
wIntroSceneFrameCounter::
|
wIntroSceneFrameCounter::
|
||||||
wHoldingUnownPuzzlePiece::
|
wHoldingUnownPuzzlePiece::
|
||||||
wCardFlipCursorY::
|
wCardFlipCursorY::
|
||||||
|
wCreditsBorderFrame::
|
||||||
wcf64:: ds 1
|
wcf64:: ds 1
|
||||||
IF !DEF(CRYSTAL11)
|
IF !DEF(CRYSTAL11)
|
||||||
wPokedexStatus::
|
wPokedexStatus::
|
||||||
ENDC
|
ENDC
|
||||||
|
wCreditsBorderMon::
|
||||||
wTitleScreenTimerLo::
|
wTitleScreenTimerLo::
|
||||||
wUnownPuzzleCursorPosition::
|
wUnownPuzzleCursorPosition::
|
||||||
wCardFlipCursorX::
|
wCardFlipCursorX::
|
||||||
|
wCurrPocket::
|
||||||
wcf65:: ds 1
|
wcf65:: ds 1
|
||||||
|
wCreditsLYOverride::
|
||||||
wTitleScreenTimerHi::
|
wTitleScreenTimerHi::
|
||||||
wUnownPuzzleHeldPiece::
|
wUnownPuzzleHeldPiece::
|
||||||
wCardFlipWhichCard::
|
wCardFlipWhichCard::
|
||||||
@ -1679,8 +1683,11 @@ FXAnimID::
|
|||||||
FXAnimIDLo:: ; cfc2
|
FXAnimIDLo:: ; cfc2
|
||||||
ds 1
|
ds 1
|
||||||
FXAnimIDHi:: ; cfc3
|
FXAnimIDHi:: ; cfc3
|
||||||
ds 3
|
ds 1
|
||||||
|
wPlaceBallsX:: ; cfc4
|
||||||
|
ds 1
|
||||||
|
wPlaceBallsY:: ; cfc5
|
||||||
|
ds 1
|
||||||
TileAnimationTimer:: ; cfc6
|
TileAnimationTimer:: ; cfc6
|
||||||
ds 1
|
ds 1
|
||||||
|
|
||||||
@ -1795,11 +1802,13 @@ LuckyNumberDigit2Buffer::
|
|||||||
PhoneCallerLo::
|
PhoneCallerLo::
|
||||||
wNextRadioLine::
|
wNextRadioLine::
|
||||||
wMovementBufferPerson::
|
wMovementBufferPerson::
|
||||||
|
wPlaceBallsDirection::
|
||||||
ds 1
|
ds 1
|
||||||
wd004::
|
wd004::
|
||||||
LuckyNumberDigit3Buffer::
|
LuckyNumberDigit3Buffer::
|
||||||
PhoneCallerHi::
|
PhoneCallerHi::
|
||||||
wRadioTextDelay::
|
wRadioTextDelay::
|
||||||
|
wTrainerHUDTiles::
|
||||||
ds 1
|
ds 1
|
||||||
wd005::
|
wd005::
|
||||||
LuckyNumberDigit4Buffer::
|
LuckyNumberDigit4Buffer::
|
||||||
|
Loading…
x
Reference in New Issue
Block a user