/*---------------------------------------------------------------------------
 * マネキンさん
 *    $Id: ac_shop_manekin.h,v 1.1 2003/06/06 00:15:11 tong Exp $
 *    Program:Hiromichi Miyake
 *---------------------------------------------------------------------------*/
#ifndef AC_SHOP_MANEKINh
#define AC_SHOP_MANEKINh

#ifdef _LANGUAGE_C_PLUS_PLUS
extern "C" {
#endif
    
#include "m_basic.h"
    
/*---------------------------------------------------------------------
 *
 * マネキンさん サブアクタ構造体
 *
 *---------------------------------------------------------------------*/
typedef struct __shop_manekin_sub_actor__ {
    xyz_t	pos;
    int		unitB_x;
    int		unitB_z;
    unshort	old_manekin;
    MemPtr	tex_ram;
    MemPtr	pal_ram;
    mCoBG_mBgRegist_c mBgRegist;
    int		move_bg_idx;
    float	bg_y;
    int		hadaka;
} aSM_manekin_c;
/* マネキン裸 */
typedef void (*aSM_hadaka)(int, int);
/* マネキン再ＤＭＡ */
typedef void (*aSM_dma_again)( void );
/* マネキン再び服キル */
typedef void (*aSM_cloth)(int,int);
/*---------------------------------------------------------------------
 *
 * マネキンさんクリップ情報
 *
 *---------------------------------------------------------------------*/
typedef struct __shop_manekin_clip__  {
    ACTOR	*shop_manekin;
    aSM_dma_again dma_again;
    aSM_hadaka	hadaka;
    aSM_cloth	cloth;
} aSM_proc;

/*---------------------------------------------------------------------
 *
 * マネキンさん 一括くん アクタ構造体
 *
 *---------------------------------------------------------------------*/
typedef struct __shop_manekin_class__ {
    ACTOR	actor_cl;
    int		manekin_count;
    aSM_manekin_c *manekin;
    int		block_x;
    int		block_z;
    aSM_proc	clip_info;
    MemPtr	hadaka_tex_ram;
    MemPtr	hadaka_pal_ram;
    MemPtr	manekin_common_ram;
} SHOP_MANEKIN_ACTOR;

/*--------------------------------------------------------------
 *
 * クリップ関係
 *
 *--------------------------------------------------------------*/
/* 登録チェック  */
#define aSM_CHECK	(ZCommonGet(clip.manekin_proc))
/* マネキン管理アクタ */
#define aSM_ACTOR	(ZCommonGet(clip.manekin_proc->shop_manekin))
/* マネキン再ＤＭＡ */
#define aSM_REDMA	(ZCommonGet(clip.manekin_proc->dma_again))
/* マネキン裸 */
#define aSM_HADAKA(x,z)	((ZCommonGet(clip.manekin_proc->hadaka))(x,z))
/* マネキンに服きせる */
#define aSM_CLOTH(x,z)	((ZCommonGet(clip.manekin_proc->cloth))(x,z))

/*--------------------------------------------------------------
 *
 * マネキンさん プロフィール
 *
 *--------------------------------------------------------------*/
extern Actor_profile	Shop_Manekin_Profile;

#ifdef _LANGUAGE_C_PLUS_PLUS
} 
#endif
#endif



