#include "bury.h"

extern res_t far *_resource;
static res_t far *res=NULL;

void image_init(void)
{
	display_control(DCM_SCR1 | DCM_SCR2 | DCM_SPR);
	wwc_set_color_mode(COLOR_MODE_16COLOR);
	wwc_clear_font();

	pal_set();

	res = _resource;
	/*自機*/
	res_set(1, 12);
	/*弾、敵弾*/
	res_set(13, 2);
	/*火花*/
	res_set(15, 3);

	/*爆発*/
	res_set(19, 12);
	/*敵キャラ*/
	res_set(31, 4);
	/*Ｍサイズ敵*/
	res_set(35, 8);

	/*Ｌサイズ敵*/
	res_set(200, 16);
	/*数字フォント*/
	res_set(224, 10);
	/*ミニ自機（残機表示用）*/
	res_set(234, 1);
	/*ボス*/
	res_set(235, 52);
	/*アイテム*/
	res_set(287, 16);
	/*背景*/
	res_set(303, 2);
	/*タイトル*/
	res_set(305, 60);

	sprite_set_range(1, 128);
}

void title(void)
{
	int w, h, no;

	screen_fill_char(SCREEN1, 0, 0, 32,32, 0);
	screen_fill_char(SCREEN2, 0, 0, 32,32, 0);
		
	for (h=0, no=0; h<15; h++) {
		for (w=0; w<4; w++, no++) {
			screen_fill_char(SCREEN2, w+12,h+1, 1,1, 305+no | PALETTE(10));
		}
	}
}

void screen_set(void)
{
	screen_fill_char(SCREEN1,   0, 0, 32,32, 0);
	screen_fill_char(SCREEN2,   0, 0, 32,32, 0);

	screen_fill_char(SCREEN1,   0, 0, 32,18, (304 | PALETTE(12)) );
	screen_fill_char(SCREEN1,  10, 2,  1, 1, (303 | PALETTE(12)) );
	screen_fill_char(SCREEN1,  30, 8,  1, 1, (303 | PALETTE(12)) );
	screen_fill_char(SCREEN1,  20,10,  1, 1, (303 | PALETTE(12)) );
	screen_fill_char(SCREEN1,  12, 5,  1, 1, (303 | PALETTE(12)) );
	screen_fill_char(SCREEN1,  18,12,  1, 1, (303 | PALETTE(12)) );
	screen_fill_char(SCREEN1,  25,15,  1, 1, (303 | PALETTE(12)) );
	screen_fill_char(SCREEN1,   3, 2,  1, 1, (303 | PALETTE(12)) );
	screen_fill_char(SCREEN1,   7, 9,  1, 1, (303 | PALETTE(12)) );
	screen_fill_char(SCREEN1,  15,14,  1, 1, (303 | PALETTE(12)) );
	screen_fill_char(SCREEN1,  28, 0,  1, 1, (303 | PALETTE(12)) );
}

/*イメージリソース取得*/
res_t far *res_get(void)
{    
	res_t far *_res;    
	while (res != NULL) {
		if (res->magic != RESID) {break;}

		_res = res;
		res =NEXT_RES(res);

		if (_res->type == RESID_IMAGE) {
			_res =SEG_INIT(_res);
			return(_res);
		}
	}
	return NULL;
}

void res_set(int k_no, int size)
{
	static res_t far *dt;
	
	dt=res_get();
	if (dt == NULL){return;}
	wwc_font_set_colordata(k_no, size, (BYTE far*)dt+(sizeof(res_image_t)*3));
}