Ejemplo n.º 1
0
BRESULT menubase_open(int num) {

	MENUBASE	*mb;
	SCRNMENU	smenu;
	VRAMHDL		hdl;

	mb = &menubase;
	menubase_close();

	if (scrnmng_entermenu(&smenu) != SUCCESS) {
		goto mbopn_err;
	}
	mb->width = smenu.width;
	mb->height = smenu.height;
	mb->bpp = smenu.bpp;
	hdl = vram_create(mb->width, mb->height, TRUE, smenu.bpp);
	menuvram = hdl;
	if (hdl == NULL) {
		goto mbopn_err;
	}
	unionrect_rst(&mb->rect);
	mb->num = num;
	return(SUCCESS);

mbopn_err:
	return(FAILURE);
}
Ejemplo n.º 2
0
/*
 * menu
 */
BOOL
scrnmng_entermenu(SCRNMENU *smenu)
{
	int bpp;

	if (smenu == NULL) {
		goto smem_err;
	}
	bpp = scrnmng.sm.bpp;
	if (bpp == 32) {
		bpp = 24;
	}
	vram_destroy(scrnmng.vram);
	scrnmng.vram = vram_create(scrnmng.width, scrnmng.height, FALSE, bpp);
	if (scrnmng.vram == NULL) {
		goto smem_err;
	}
	scrndraw_redraw();

	smenu->width = scrnmng.width;
	smenu->height = scrnmng.height;
	smenu->bpp = bpp;

	return SUCCESS;

smem_err:
	return FAILURE;
}
Ejemplo n.º 3
0
BOOL vramdraw_create(void) {

	SYS_T	*sys;
	VRAMHDL	v;

	sys = &gamecore.sys;
#ifndef SIZE_QVGA
	v = vram_create(sys->width, sys->height, FALSE, DEFAULT_BPP);
#else
	v = vram_create(320, 240, FALSE, DEFAULT_BPP);
#endif
	mainvram = v;
	if (v == NULL) {
		TRACEOUT(("couldn't create mainvram"));
		return(FAILURE);
	}

	// vram 0と1は最初から開いてます…
#ifndef SIZE_QVGA
	gamecore.vram[0] = vram_create(sys->width, sys->height,
														TRUE, DEFAULT_BPP);
	gamecore.vram[1] = vram_create(sys->width, sys->height,
														TRUE, DEFAULT_BPP);
#else
	gamecore.vram[0] = vram_create(320, 240, TRUE, DEFAULT_BPP);
	gamecore.vram[1] = vram_create(320, 240, TRUE, DEFAULT_BPP);
#endif

	unionrect_rst(&gamecore.vramrect);
	return(SUCCESS);
}
Ejemplo n.º 4
0
BOOL scrnmng_entermenu(SCRNMENU *smenu) {

	if (smenu == NULL) {
		goto smem_err;
	}
	vram_destroy(scrnmng.vram);
	scrnmng.vram = vram_create(scrnmng.width, scrnmng.height, FALSE,
																scrnmng.bpp);
	if (scrnmng.vram == NULL) {
		goto smem_err;
	}
	scrndraw_redraw();
	smenu->width = scrnmng.width;
	smenu->height = scrnmng.height;
	smenu->bpp = (scrnmng.bpp == 32)?24:scrnmng.bpp;
	return(SUCCESS);

smem_err:
	return(FAILURE);
}
Ejemplo n.º 5
0
// VSET : 仮想VRAMの設定 Nonaka.K, T.Yui
int isfcmd_50(SCR_OPE *op) {

	SINT32	num;
	POINT_T	pt;
	VRAMHDL	*vram;

	if ((scr_getval(op, &num) != SUCCESS) ||
		(scr_getpt(op, &pt) != SUCCESS)) {
		return(GAMEEV_WRONGLENG);
	}
	if ((num >= 0) && (num < GAMECORE_MAXVRAM)) {
		vram = gamecore.vram + num;
		if (*vram) {
			vram_destroy(*vram);
		}
#ifdef SIZE_QVGA
		vramdraw_halfsize(&pt);
#endif
		*vram = vram_create(pt.x, pt.y, TRUE, DEFAULT_BPP);
		effect_vramdraw(num, NULL);
	}
	return(GAMEEV_SUCCESS);
}