#define FONT_START_NUMBER 0
#define FONT_MAX_COUNT 512

#define SPRITE_START_NUMBER 0
#define SPRITE_MAX_COUNT 128

#define KSFONT_FUNC_TRUE   0;
#define KSFONT_FUNC_FALSE -1;



/* キャラクタパターン管理 */
typedef struct{
	int m_nStartNo;
	int m_nWidth;
	int m_nHeight;
	int m_nPalette;
}CKSFont;

/* スプライト管理 */
typedef struct{
	int m_nSpriteNo;	/* スプライト書込開始位置 */
	int m_nX;			/* スプライトx座標 */
	int m_nY;			/* スプライトy座標 */
	int m_nFontNo;		/* フォントデータ読込開始位置 */
	int m_nWidth;		/* フォント横幅 */
	int m_nHeight;		/* フォント縦幅 */
	int m_nPalette;		/* フォントパレット番号 */
}CKSSprite;



/* KSFontライブラリ初期化 */
void KSFontInit( void );

/* キャラクタフォント登録 */
int KSFontSet( unsigned num, unsigned short far *data, int width, int height, unsigned palette );

/* 矩形領域キャラクタ表示設定 */
int KSScreenSet( unsigned num, int screen, int cx, int cy );

/* 矩形領域パターン表示設定 */
int KSScreenSetPattern( unsigned num, unsigned ptnum, int screen, int cx, int cy );

/* 矩形領域キャラクタ塗り潰し表示設定 */
int KSScreenFill( unsigned num, int screen, int cx, int cy, int dx, int dy );




/* スプライト登録 */
int KSSpriteSet(
	int spno,
	int ftno,
	int zx,
	int zy,
	int priority );

/* スプライト移動 */
void KSSpriteMove( int spno, int mx, int my );

/* スプライトキャラクタ変更 */
void KSSpriteChange( int snum, int fnum );




