/*
 *	app.h
 *
 *	P/ECEアプリケーションの雛型（シンプルライブラリ版）
 *
 *	* Tue Aug  8 05:30:00 JST 2002 Naoyuki Sawa
 *	- 作成開始。
 */
#ifndef __APP_H__
#define __APP_H__

#include "supp/supp.h"

/****************************************************************************
 *	
 ****************************************************************************/

/* クロック・メモリウェイトを変更する場合は、TURBOシンボルを定義してください。
 * - 定義した値は、turbo()関数にそのまま引き渡されます。
 */
//#define TURBO -1 /*{{TODO}}*/

/* ドラム音色を読み込む場合は、USE_MUSICシンボルを定義してください。
 * - USE_MUSICシンボルを定義しなくても、音楽演奏ルーチンは利用可能ですが、
 *   ドラム音色が実行ファイルに直接リンクされるため、ファイルサイズが大きくなります。
 */
//#define USE_MUSIC /*{{TODO}}*/

/* ポーズ機能を使う場合は、USE_PAUSEシンボルを定義してください。 */
//#define USE_PAUSE /*{{TODO}}*/

/* 高速オートリピートを使用する場合は、
 * ・QUICK_REPEAT_PADSを定義してください。
 * ・QUICK_REPEAT_PADSに高速オートリピートを有効にするPAD_*の組み合わせを指定してください。
 * ・QUICK_REPEAT_DELAYに高速オートリピートが開始するまでの時間を指定してください。
 * 高速オートリピートを使用しない場合は、
 * ・QUICK_REPEAT_PADSを定義しないでください。
 * ・QUICK_REPEAT_PADS/DELAYの定義の有無に関わらず、高速オートリピートは行われません。
 */
//#define QUICK_REPEAT /*{{TODO}}*/
#define QUICK_REPEAT_PADS	(PAD_LF | PAD_UP | PAD_RI | PAD_DN)
#define QUICK_REPEAT_DELAY	SEC(0.25)

/* キャラ定義を行う場合は、USE_CHRシンボルを定義してください */
//#define USE_CHR /*{{TODO}}*/
#ifdef USE_CHR
#define CHR_ CHR_INIT1
enum {
#include "chr.h"
};
extern const CHR chr_tbl[];
#undef CHR_
#endif /*USE_CHR*/

/****************************************************************************
 *	
 ****************************************************************************/

#define FPS		20			/* フレームレート */
#define SEC(s)		((int)(FPS * (s)))	/* 秒->フレーム変換 */

/****************************************************************************
 *	
 ****************************************************************************/

void app_init();
void app_exit();
void schedule();
void delay(int frame);
int demo_main();
void game_main();

/****************************************************************************
 *	
 ****************************************************************************/

#include "work.h"

#endif /*__APP_H__*/
