mirror of https://github.com/nmlgc/ReC98.git
45 lines
1.2 KiB
PHP
45 lines
1.2 KiB
PHP
include th02/player/player.inc
|
|
PLAYER_MOVE_MARGIN_LEFT = 8
|
|
PLAYER_MOVE_MARGIN_TOP = 8
|
|
PLAYER_MOVE_MARGIN_RIGHT = 8
|
|
PLAYER_MOVE_MARGIN_BOTTOM = 16
|
|
PLAYER_OPTION_W = 16
|
|
PLAYER_OPTION_H = 16
|
|
PLAYER_OPTION_DISTANCE = (PLAYER_W / 2) + (PLAYER_OPTION_W / 2)
|
|
|
|
; Shots
|
|
; -----
|
|
SHOT_W = 16
|
|
SHOT_H = 16
|
|
|
|
; Shots are always fired for multiples of this number of frames, even if
|
|
; INPUT_SHOT is held for a shorter amount of time.
|
|
SHOT_CYCLE_FRAMES = 18
|
|
; Set shot_time to this value to block shots from being fired this frame.
|
|
SHOT_BLOCKED_FOR_THIS_FRAME = 0FFh
|
|
; -----
|
|
|
|
MISS_ANIM_FRAMES = 32
|
|
MISS_ANIM_FLASH_AT = 28
|
|
MISS_ANIM_EXPLODE_UNTIL = 31
|
|
|
|
MISS_EXPLOSION_COUNT = 8
|
|
MISS_EXPLOSION_W = 48
|
|
MISS_EXPLOSION_H = 48
|
|
MISS_EXPLOSION_RADIUS_VELOCITY = (7 shl 4)
|
|
MISS_EXPLOSION_ANGLE_VELOCITY = 8
|
|
|
|
MISS_EXPLOSION_CLIP macro clip_label
|
|
cmp _drawpoint.y, ((PLAYFIELD_TOP - (MISS_EXPLOSION_H / 2)) shl 4)
|
|
jl short clip_label
|
|
; Yes, the next two are incorrect
|
|
cmp _drawpoint.y, ((PLAYFIELD_BOTTOM - 8) shl 4)
|
|
jge short clip_label
|
|
cmp _drawpoint.x, ((PLAYFIELD_LEFT - 40) shl 4)
|
|
jl short clip_label
|
|
cmp _drawpoint.x, ((PLAYFIELD_RIGHT - (MISS_EXPLOSION_W / 2)) shl 4)
|
|
jge short clip_label
|
|
endm
|
|
|
|
MISS_INVINCIBILITY_FRAMES = 192
|