static	int		CheckDamage( Work * ) ;
static	void	ResetParam( Work  * ) ;


static	void	ActStandStill( Work *, int ) ;

move.c
static	void	ActMove( Work *, int ) ;


static	void	ActDiscovery( Work *, int ) ;
static	void	ActDiscoveryNikita( Work *, int ) ;
static	void	ActCallTeam( Work *, int ) ;
static	void	ActDanbowlKeri( Work *, int ) ;

clearing.c
static	void	ActFingerCall( Work *, int ) ;
static	void	ActKeep180( Work *, int ) ;
static	void	ActAP_Stand( Work *, int ) ;
static	void	ActAP_Scout( Work *, int ) ;
static	void	ActAP_CautionStand( Work *, int ) ;
static	void	ActAP_Nod( Work *, int ) ;
static	void	ActAP_GreatPunch( Work *, int ) ;
static	void	ActAP_DoorOpen( Work *, int ) ;
static	void	ActAP_GoBackSign( Work *, int ) ;

attack.c
static	void	ActReadyGun( Work *, int ) ;
static	void	ActShoot( Work *, int ) ;
static	void	ActShoot3burst( Work *, int ) ;
static	void	ActGrenade( Work *, int ) ;
static	void	ActPunch( Work *, int ) ;
static	void	ActButukaru( Work *, int ) ;

damage.c
static	void	ActOgetup( Work *, int ) ;
static	void	ActThrowDown( Work *, int ) ;
static	void	ActHanging( Work *, int ) ;
static	void	ActFlash( Work *, int ) ;
static	void	ActFaint( Work *, int ) ;
static	void	ActKubiori( Work *, int ) ;
static	void	ActWakeup( Work *, int ) ;
static	void	ActShrink( Work *, int ) ;

down.c
static	void	ActDown( Work *, int ) ;
static	void	ActDroppe( Work *, int ) ;
static	void	ActDeath( Work *, int ) ;
static	void	ActReset( Work *, int ) ;

static	void	ShowMotion( Work *, int ) ;
static	void	Action( Work * ) ;

/* override.c */
static	void	ActOverLegBreak( Work *, int ) ;
static	void	ActOverRHandBreak( Work *, int ) ;
static	void	ActOverLHandBreak( Work *, int ) ;
static	void	ActOverLRHandBreak( Work *, int ) ;
static	void	ActOverScoutR( Work *, int ) ;
static	void	ActOverScoutL( Work *, int ) ;
static	void	ActOverScoutD( Work *, int ) ;
static	void	ActOverScoutU( Work *, int ) ;
static	void	ActOverKushami( Work *, int ) ;
static	void	ActOverAkubi( Work *, int ) ;
static	void	ActOverKatakori( Work *, int ) ;
static	void	ActOverSenobi( Work *, int ) ;
static	void	ActOverInemuri( Work *, int ) ;
static	void	ActOverHounyou( Work *, int ) ;
static	void	ActOverPipi( Work *, int ) ;

/* put.c */
static	void	PutBlood( Work *, int, int ) ;
static	void	PutDust( Work * ) ;
static	void	PutItem( Work * ) ;
void	ENE_PutMark( Work *, int ) ;
static	void	PutFootNoise( Work * ) ;
static	void	PutBreath( Work * ) ;
static	void	PutSightLine( Work  *) ;
static	void	GunShoot( Work * ) ;

int		ENE_SetPutChar( Work *, int ) ;
static	int		UnsetPutChar( Work *, void	(*putchar)( Work * )) ;


wrok->target
work->act_status
work->vision.length
work->vision.facedir
CheckDamage( work )
CheckPad( work )
work->pad.dir
work->physic.actnum
work->control
work->body

sound
	time
	se no.



typedef	struct	{
	CONTROL	*ctrl ;
	TARGET	*targ ;
	OBJECT	*body ;
	short	dir ;			/* ̂̌ */
	short	motion_num ;	/* [VԍibodyɃZbg) */
	short	c_motion_num ;	/* gp̃[Vԍ */
	short	pad0 ;
	int		status ;		/* ANVXe[^X */	
	int		time ;			/* oߎ */
	
	void	*CheckDamae( void * ) ;	/* _[W`FbN֐ */
	void	*CheckPad( void * ) ;	/* pbh`FbN֐ */
	
	short	*se_time ;				/* rd^Cobt@ */
	int		*se_num ;				/* rdԍobt@ */
	short	se_next ;				/* ̂rdobt@ԍ */
	short	pad1 ;

} ACTION ;
