/*
 ******************************************************************************
 *
 *	シーンNoテーブル
 *	$Id: m_scene_table.h,v 1.1 2003/06/06 00:15:12 tong Exp $
 ******************************************************************************
 */
#ifndef INCLUDE_M_SCENE_TABLE_H
#define INCLUDE_M_SCENE_TABLE_H

#ifdef _LANGUAGE_C_PLUS_PLUS
extern "C" {
#endif	/* _LANGUAGE_C_PLUS_PLUS */

/*
 *	シーンデータID(m_scene_table.cのscene_data_statusに対応していないといけない)
 *	とりあえずm_select.cのnf_tbl2[]で使っている
 */
/*
 *	ここの要素を変更する場合は"SCENE_MAX"をgrepして出てくる配列の要素も変更してください
 */    
enum {
    SC_TEST01,			/* テスト面 */
    SC_TEST02,			/* テスト面(三宅) */
    SC_TEST03,			/* テスト面(元太郎) */
    SC_TEST_ROOM01,		/* テスト部屋面 */
    SC_TEST_STEP01,		/* 足跡テスト面 */
    SC_TEST04,			/* テスト面(元太郎) */
    SC_NPC_ROOM01,		/* NPCの部屋		*/
    SC_TEST_NPC_LAND,		/** ＮＰＣ */
    SC_TEST_RANDOM,		/* ランダム単体テスト */
    SC_SHOP01,			/* お店 *//* お店も大きさで場合分けする場合は小松にお知らせ下さい */
    SC_BG_TEST01,		/* BG確認コース */
    SC_BG_TEST01_XLU,		/* BG確認コース */
    SC_BROKER_SHOP,		/* 闇ブローカーのお店 */
    SC_FG_TOOL_IN,		/* FGツール用 ( 部屋の中 ) */
    SC_POST_OFFICE,		/* 郵便局 */
    SC_START_DEMO1,		/* スタートデモ 1 */
    SC_START_DEMO2,		/* スタートデモ 2 */
    SC_POLICE_BOX,		/* 交番 */
    SC_BUGGY,			/* 幌馬車 */
    SC_PLAYER_SELECT,		/* プレーヤーセレクトデモ */
    SC_PLAYER_ROOM_S,		/* プレイヤーの部屋 S	*/
    SC_PLAYER_ROOM_M,		/* プレイヤーの部屋 M	*/
    SC_PLAYER_ROOM_L,		/* プレイヤーの部屋 L	*/
    SC_CONBINE,			/* コンビニ */
    SC_SUPER,			/* スーパー */
    SC_DSUPER,			/* デパート ( 1F ) */
    SC_TEST05,			/* テストコース (吉田さん) */
    SC_PLAYER_SELECT2,		/* プレーヤーセレクトデモ 2 */
    SC_PLAYER_SELECT3,		/* プレーヤーセレクトデモ 3 */
    SC_DSUPER2,			/* デパート2F */
    SC_EVENT_NOTIFICATION,	/* イベント告知 */
    SC_KAMAKURA,		/* かまくら */
    SC_FIELD_TOOL,		/* フィールドツール用 */
    SC_TITLE_DEMO,		/* 客待ちデモ用 */
    SC_PLAYER_SELECT4,		/* プレーヤーセレクトデモ 4 */
    SCENE_MAX
};

/*
 ********************************************************
 *							*
 *		シーンデータテーブル			*
 *							*
 ********************************************************
 */
/*
 *	フィールドタイプ(ゼルダではフィールドとかダンジョンとかあった)
 */
enum {
    FIELD
};

/*
 *	シーンデータテーブルクラス
 */
typedef struct {
    Rom_Address		rom_address;	/* シーンデータセグメント情報 */
    Rom_Address		txt_rom_address;/* シーン名テクスチャセグメント */
    unchar		type;		/* フィールドタイプ(フィールドとかダンジョンとか) */
    
    unchar		_dummy_pad0;
    unchar		disk_type;	/* 1:ディスクデータ */
    unchar		__dummy;
} Scene_Data_Status;


/*
 ********************************************************
 *							*
 *		アイテムタイプ				*
 *							*
 ********************************************************
 */
enum {
    ITEM_TYPE_FIELD0,		/* フィールドタイプ	*/
    ITEM_TYPE_SHOP,		/* お店タイプ		*/
    ITEM_TYPE_POLICE_BOX,	/* 交番タイプ		*/
    ITEM_TYPE_POST_OFFICE,	/* 郵便局タイプ		*/

    ITEM_ALL_TYPES
};

/*
 ********************************************************
 *							*
 *		フィールド描画タイプ			*
 *							*
 ********************************************************
 */
enum {
    FIELD_DRAW_NORMAL_TYPE,
    FIELD_DRAW_SET_PRIM_TYPE,
    FIELD_DRAW_IN_TRAIN_TYPE,
    FIELD_DRAW_P_SEL_TYPE,

    FIELD_DRAW_ALL_TYPES
};

/*
 ********************************************************
 *							*
 *		フィールドタイプ			*
 *							*
 ********************************************************
 */
enum {
    FIELD_OUTDOOR_TYPE,		/* 外				*/
    FIELD_MY_ROOM_TYPE,		/* 自分の部屋			*/
    FIELD_NPC_ROOM_TYPE,	/* ＮＰＣ／他プレイヤーの部屋	*/
    FIELD_OTHER_ROOM_TYPE,	/* その他の部屋			*/

    FIELD_ALL_TYPES
};

#define	mST_FIELD_TYPE(a,b,bg_size)	(FIELD_DRAW_##a##_TYPE | (FIELD_##b##_TYPE << 8) | ((bg_size) << 16))

/*
 ********************************************************
 *							*
 *			外部参照用			*
 *							*
 ********************************************************
 */
extern Scene_Data_Status	scene_data_status[];


/************************************************************************
 *
 *
 *
 ************************************************************************/

#ifdef _LANGUAGE_C_PLUS_PLUS
} /* extern "C" */
#endif	/* _LANGUAGE_C_PLUS_PLUS */

#endif	/* INCLUDE_M_SCENE_TABLE_H */
/*** m_scene_table.h end ***/
