/*
 ******************************************************************************
 *
 *	トレードマーク画面制御のヘッダー
 *	$Id: m_trademark.h,v 1.3 2004/02/26 19:10:28 tong Exp $
 *
 ******************************************************************************
 */
#ifndef __M_TRADEMARK_H_
#define __M_TRADEMARK_H_

#include "u64basic.h"
#include "game.h"
#include "m_view.h"

#ifdef _LANGUAGE_C_PLUS_PLUS
extern "C" {
#endif	/* _LANGUAGE_C_PLUS_PLUS */

/** データ初期化モードテーブル */
enum	init_data_mode_table {
    INIT_DATA_MODE_TABLE_e,

    INIT_START_e = INIT_DATA_MODE_TABLE_e,	/** 始めから */
    INIT_GOTO_DEMO_e,		/** 客待ちデモセレクトシーンに飛ぶ */
    INIT_FLASHROM_e,		/** フラッシュロムのクリア */
    INIT_CONTINUE_e,		/** 続きから */
    INIT_MAKE_SAVE_DATA_e,	/** ショー用のセーブデータ生成 */
    INIT_FIN_e,			/** 初期化終了 */
    INIT_DATA_MODE_TABLE_END_e = INIT_FIN_e
};

#define	TRADEMARK_TEXTURE_SIZE	(320*240)

/* タイトルのテクスチャ型 */
typedef union {
    u64		dummy;				/* アライメントの為 */
    unshort	tex_p[TRADEMARK_TEXTURE_SIZE];	/* タイトルのテクスチャ領域 */

} TEX_TM;

/* 派生クラスの定義 */
typedef struct {
    GAME	g;		/* 基底クラス */
    View	view;		/** ビュワークラス */
    xyz_t	scale;
    float	amp_width_y;
    unint	frame_count;	/** フレームカウンタ */
    int		init_data_mode;	/** データ初期化処理モード */
    int		cursor_col[INIT_DATA_MODE_TABLE_END_e][3];/** カーソルの色 */
    int		action;		/** 動作ビット */
    TEX_TM	trademark_tex;	/* タイトルのテクスチャ領域 */
    unint	alpha;		/* 半透明アルファ値 */
    short	timer;
    short	alpha_data;
    short	wait_timer;
    short	angle;
    short	add_angle;
    unsigned	char done;
    unsigned	char amp_flag;
    unsigned	char cancel_fg;
    unsigned	char save_check;
    char	*staticSegment;	/* スタティックセグメントポインタ */

} GAME_TRADEMARK;


extern void	trademark_init(
    GAME	*game_p
    );
extern void	trademark_cleanup(
    GAME	*game_p
    );

#ifdef _LANGUAGE_C_PLUS_PLUS
} /* extern "C" */
#endif	/* _LANGUAGE_C_PLUS_PLUS */

#endif /* __M_TRADEMARK_H_ */
