Exemple #1
0
static void dlgflist(void) {

	FLIST	fl;

	fl = getflist(menudlg_getval(DID_FLIST));
	if ((fl != NULL) && (!fl->isdir)) {
		menudlg_settext(DID_FILE, fl->name);
	}
}
Exemple #2
0
int dlgscr_cmd(int msg, MENUID id, long param) {

	switch(msg) {
		case DLGMSG_CREATE:
			dlginit();
			break;

		case DLGMSG_COMMAND:
			switch(id) {
				case DID_OK:
					dlgupdate();
					menubase_close();
					break;

				case DID_CANCEL:
					menubase_close();
					break;

				case DID_TAB:
					setpage(menudlg_getval(DID_TAB));
					break;

				case DID_LCD:
					menudlg_setenable(DID_LCDX, menudlg_getval(DID_LCD));
					break;

				case DID_SKIPLIGHT:
					setintstr(DID_LIGHTSTR, menudlg_getval(DID_SKIPLIGHT));
					break;

				case DID_TRAMWAIT:
					setintstr(DID_TRAMSTR, menudlg_getval(DID_TRAMWAIT));
					break;

				case DID_VRAMWAIT:
					setintstr(DID_VRAMSTR, menudlg_getval(DID_VRAMWAIT));
					break;

				case DID_GRCGWAIT:
					setintstr(DID_GRCGSTR, menudlg_getval(DID_GRCGWAIT));
					break;

				case DID_REALPAL:
					setintstr(DID_REALPALSTR,
											menudlg_getval(DID_REALPAL) - 32);
					break;
			}
			break;

		case DLGMSG_CLOSE:
			menubase_close();
			break;
	}
	(void)param;
	return(0);
}
Exemple #3
0
static void setclockstr(void) {

	UINT32	clock;
	UINT	multiple;
	OEMCHAR	work[32];

	if (menudlg_getval(DID_CLOCK1)) {
		clock = PCBASECLOCK20 / 100;
	}
	else {
		clock = PCBASECLOCK25 / 100;
	}
	multiple = menudlg_getval(DID_MULTIPLE);
	if (multiple < 1) {
		multiple = 1;
	}
	else if (multiple > 32) {
		multiple = 32;
	}
	clock *= multiple;
	OEMSPRINTF(work, str_clockfmt, clock / 10000, clock % 10000);
	menudlg_settext(DID_CLOCKSTR, work);
}
Exemple #4
0
static void setbufstr(void) {

	UINT	val;
	OEMCHAR	work[32];

	val = menudlg_getval(DID_BUFFER);
	if (val < 100) {
		val = 100;
	}
	else if (val > 1000) {
		val = 1000;
	}
	OEMSPRINTF(work, str_buffmt, val);
	menudlg_settext(DID_BUFSTR, work);
}
Exemple #5
0
static void setmulstr(void) {

	UINT	multiple;
	OEMCHAR	work[32];

	multiple = menudlg_getval(DID_MULTIPLE);
	if (multiple < 1) {
		multiple = 1;
	}
	else if (multiple > 32) {
		multiple = 32;
	}
	OEMSPRINTF(work, str_mulfmt, multiple);
	menudlg_settext(DID_MULSTR, work);
}
Exemple #6
0
static void dlgupdate(void)
{
	BOOL	renewal;
	int val;

	renewal = FALSE;
	val = menudlg_getval(DID_JOYPAD1);
	if (np2oscfg.JOYPAD1 != (UINT8)val) {
		np2oscfg.JOYPAD1 = (UINT8)val;
		renewal = TRUE;
	}
	
	val = menudlg_getval(DID_PAD1_1A) + (menudlg_getval(DID_PAD1_2A) << 1);
	if (np2oscfg.JOY1BTN[0] != (UINT8)val) {
		np2oscfg.JOY1BTN[0] = (UINT8)val;
		renewal = TRUE;
	}
	val = menudlg_getval(DID_PAD1_1B) + (menudlg_getval(DID_PAD1_2B) << 1);
	if (np2oscfg.JOY1BTN[1] != (UINT8)val) {
		np2oscfg.JOY1BTN[1] = (UINT8)val;
		renewal = TRUE;
	}
	val = menudlg_getval(DID_PAD1_1C) + (menudlg_getval(DID_PAD1_2C) << 1);
	if (np2oscfg.JOY1BTN[2] != (UINT8)val) {
		np2oscfg.JOY1BTN[2] = (UINT8)val;
		renewal = TRUE;
	}
	val = menudlg_getval(DID_PAD1_1D) + (menudlg_getval(DID_PAD1_2D) << 1);
	if (np2oscfg.JOY1BTN[3] != (UINT8)val) {
		np2oscfg.JOY1BTN[3] = (UINT8)val;
		renewal = TRUE;
	}

	if (renewal) {
		joymng_initialize();
		sysmng_update(SYS_UPDATECFG);
	}
}
Exemple #7
0
static BOOL dlgupdate(void) {

	FLIST	fl;

	fl = getflist(menudlg_getval(DID_FLIST));
	if (fl == NULL) {
		return(FALSE);
	}
	file_setseparator(filesel.path, NELEMENTS(filesel.path));
	file_catname(filesel.path, fl->name, NELEMENTS(filesel.path));
	if (fl->isdir) {
		dlgsetlist();
		menudlg_settext(DID_FILE, NULL);
		return(FALSE);
	}
	else {
		filesel.result = TRUE;
		return(TRUE);
	}
}
Exemple #8
0
static void dlgupdate(void) {

	UINT		update;
	UINT		val;
const OEMCHAR	*str;

	update = 0;
	if (menudlg_getval(DID_CLOCK1)) {
		val = PCBASECLOCK20;
	}
	else {
		val = PCBASECLOCK25;
	}
	if (np2cfg.baseclock != val) {
		np2cfg.baseclock = val;
		update |= SYS_UPDATECFG | SYS_UPDATECLOCK;
	}
	val = menudlg_getval(DID_MULTIPLE);
	if (val < 1) {
		val = 1;
	}
	else if (val > 32) {
		val = 32;
	}
	if (np2cfg.multiple != val) {
		np2cfg.multiple = val;
		update |= SYS_UPDATECFG | SYS_UPDATECLOCK;
	}

	if (menudlg_getval(DID_RATE11)) {
		val = 11025;
	}
	else if (menudlg_getval(DID_RATE44)) {
		val = 44100;
	}
	else {
		val = 22050;
	}
	if (np2cfg.samplingrate != (UINT16)val) {
		np2cfg.samplingrate = (UINT16)val;
		update |= SYS_UPDATECFG | SYS_UPDATERATE;
		soundrenewal = 1;
	}

	if (menudlg_getval(DID_MODELVM)) {
		str = str_VM;
	}
	else if (menudlg_getval(DID_MODELEPSON)) {
		str = str_EPSON;
	}
	else {
		str = str_VX;
	}
	if (milstr_cmp(np2cfg.model, str)) {
		milstr_ncpy(np2cfg.model, str, NELEMENTS(np2cfg.model));
		update |= SYS_UPDATECFG;
	}

	if (menudlg_getval(DID_RATE11)) {
		val = 11025;
	}
	else if (menudlg_getval(DID_RATE44)) {
		val = 44100;
	}
	else {
		val = 22050;
	}
	if (np2cfg.samplingrate != (UINT16)val) {
		np2cfg.samplingrate = (UINT16)val;
		update |= SYS_UPDATECFG | SYS_UPDATERATE;
		soundrenewal = 1;
	}
	val = menudlg_getval(DID_BUFFER);
	if (val < 100) {
		val = 100;
	}
	else if (val > 1000) {
		val = 1000;
	}
	if (np2cfg.delayms != (UINT16)val) {
		np2cfg.delayms = (UINT16)val;
		update |= SYS_UPDATECFG | SYS_UPDATESBUF;
		soundrenewal = 1;
	}

	val = menudlg_getval(DID_RESUME);
	if (np2oscfg.resume != (UINT8)val) {
		np2oscfg.resume = (UINT8)val;
		update |= SYS_UPDATEOSCFG;
	}
	sysmng_update(update);
}
Exemple #9
0
static void dlgupdate(void) {

	UINT	update;
	BOOL	renewal;
	UINT	val;
	UINT8	value[6];

	update = 0;
	renewal = FALSE;
	val = menudlg_getval(DID_SKIPLINE);
	if (np2cfg.skipline != (UINT8)val) {
		np2cfg.skipline = (UINT8)val;
		renewal = TRUE;
	}
	val = menudlg_getval(DID_SKIPLIGHT);
	if (val > 255) {
		val = 255;
	}
	if (np2cfg.skiplight != (UINT16)val) {
		np2cfg.skiplight = (UINT16)val;
		renewal = TRUE;
	}
	if (renewal) {
		pal_makeskiptable();
	}
	val = menudlg_getval(DID_LCD) + (menudlg_getval(DID_LCDX) << 1);
	if (np2cfg.LCD_MODE != (UINT8)val) {
		np2cfg.LCD_MODE = (UINT8)val;
		pal_makelcdpal();
		renewal = TRUE;
	}
	if (renewal) {
		scrndraw_redraw();
		update |= SYS_UPDATECFG;
	}

	val = menudlg_getval(DID_GDC72020);
	if (np2cfg.uPD72020 != (UINT8)val) {
		np2cfg.uPD72020 = (UINT8)val;
		update |= SYS_UPDATECFG;
		gdc_restorekacmode();
		gdcs.grphdisp |= GDCSCRN_ALLDRAW2;
	}
	for (val=0; (val<3) && (!menudlg_getval(gdcchip[val])); val++) { }
	if (np2cfg.grcg != (UINT8)val) {
		np2cfg.grcg = (UINT8)val;
		update |= SYS_UPDATECFG;
		gdcs.grphdisp |= GDCSCRN_ALLDRAW2;
	}
	val = menudlg_getval(DID_PC980124);
	if (np2cfg.color16 != (UINT8)val) {
		np2cfg.color16 = (UINT8)val;
		update |= SYS_UPDATECFG;
	}

	ZeroMemory(value, sizeof(value));
	value[0] = (UINT8)menudlg_getval(DID_TRAMWAIT);
	if (value[0]) {
		value[1] = 1;
	}
	value[2] = (UINT8)menudlg_getval(DID_VRAMWAIT);
	if (value[2]) {
		value[3] = 1;
	}
	value[4] = (UINT8)menudlg_getval(DID_GRCGWAIT);
	if (value[4]) {
		value[5] = 1;
	}
	for (val=0; val<6; val++) {
		if (np2cfg.wait[val] != value[val]) {
			np2cfg.wait[val] = value[val];
			update |= SYS_UPDATECFG;
		}
	}
	val = menudlg_getval(DID_REALPAL);
	if (np2cfg.realpal != (UINT8)val) {
		np2cfg.realpal = (UINT8)val;
		update |= SYS_UPDATECFG;
	}
	sysmng_update(update);
}
Exemple #10
0
int snd_menu(Sound *menu, int num_items)
{
	float x,y;
	float base_width = MAX_MENU_SIZE;
	float base_height = ((menu[num_items-1].y + ui_font_height()) - menu[0].y);

	int menu_pos;
	char work[32];

	int max_menu = 0;

	base_height += ui_font_height() * 2;
	for (int i = 0; i < num_items; ++i) {
    
		switch (menu[i].type) {
		case DLGTYPE_RADIO:
		case DLGTYPE_CHECK:
		case DLGTYPE_SLIDER:
			++max_menu;
			break;
		}
	}

	int result = -1;
	int id = 0;
	int sel = 0;
#if 0  
	int max_val  = 0;
	int min_val = 0;
	int val_index = 0;
#endif  
	float offx = ui_offx() + (ui_width() - base_width) / 2;
	float offy = ui_offy() + (ui_height() - base_height) / 2;

	int fade = 128;
  
	for (;;) {
		uisys_task();
      
		if (ui_keyrepeat(JOY_UP)) {

			switch (result) {
			case DID_PAD1_1A:
			case DID_PAD1_1B:
			case DID_PAD1_1C:
			case DID_PAD1_1D:
			case DID_PAD1_2A:
			case DID_PAD1_2B:
			case DID_PAD1_2C:
			case DID_PAD1_2D:
			case DID_PAD1_RA:
			case DID_PAD1_RB:
			case DID_PAD1_RC:
			case DID_PAD1_RD:
				break;
	
			default:
				if (--sel < 0)
					sel = max_menu - 1;
			}
      
		} else if (ui_keyrepeat(JOY_DOWN)) {
      
			switch (result) {
				
			case DID_PAD1_1A:
			case DID_PAD1_1B:
			case DID_PAD1_1C:
			case DID_PAD1_1D:
			case DID_PAD1_2A:
			case DID_PAD1_2B:
			case DID_PAD1_2C:
			case DID_PAD1_2D:
			case DID_PAD1_RA:
			case DID_PAD1_RB:
			case DID_PAD1_RC:
			case DID_PAD1_RD:
				break;
	
			default:
				if (++sel > (max_menu - 1))
					sel = 0;
			}
		}
#if 0			
		else if (ui_keyrepeat(JOY_RIGHT) || ui_keyrepeat(JOY_RTRIGGER)) {
      
			switch (result) {
			case DID_PAD1_1A:
			case DID_PAD1_1B:
			case DID_PAD1_1C:
			case DID_PAD1_1D:
			case DID_PAD1_2A:
			case DID_PAD1_2B:
			case DID_PAD1_2C:
			case DID_PAD1_2D:
			case DID_PAD1_RA:
			case DID_PAD1_RB:
			case DID_PAD1_RC:
			case DID_PAD1_RD:
				if (++val_index > max_val)
					val_index = max_val;
				break;
	
			default:
				if (++menu_index > 1) {
					menu_index = 1;
				} else {
					return 0;
				}
			}
		} else if (ui_keyrepeat(JOY_LEFT) || ui_keyrepeat(JOY_LTRIGGER)) {
      
			switch (result) {
			case DID_PAD1_1A:
			case DID_PAD1_1B:
			case DID_PAD1_1C:
			case DID_PAD1_1D:
			case DID_PAD1_2A:
			case DID_PAD1_2B:
			case DID_PAD1_2C:
			case DID_PAD1_2D:
			case DID_PAD1_RA:
			case DID_PAD1_RB:
			case DID_PAD1_RC:
			case DID_PAD1_RD:
				if (--val_index < min_val)
					val_index = min_val;
				break;
	
			default:
				if (--menu_index < 0) {
					menu_index = 0;
				} else {
					return 0;
				}
			}
		}
#endif
    
		if (ui_keypressed(JOY_A)) {

			switch (id) {

			case DID_JOYPAD1:
				menudlg_setval(id, !menudlg_getval(id));
				break;
				
			case DID_PAD1_1A:
			case DID_PAD1_1B:
			case DID_PAD1_1C:
			case DID_PAD1_1D:
			case DID_PAD1_2A:
			case DID_PAD1_2B:
			case DID_PAD1_2C:
			case DID_PAD1_2D:
			case DID_PAD1_RA:
			case DID_PAD1_RB:
			case DID_PAD1_RC:
			case DID_PAD1_RD:
				dlg_btn(id);
				break;

			}
		}
    
		if (ui_keypressed(JOY_B)) {

			switch (result) {
			case DID_PAD1_1A:
			case DID_PAD1_1B:
			case DID_PAD1_1C:
			case DID_PAD1_1D:
			case DID_PAD1_2A:
			case DID_PAD1_2B:
			case DID_PAD1_2C:
			case DID_PAD1_2D:
			case DID_PAD1_RA:
			case DID_PAD1_RB:
			case DID_PAD1_RC:
			case DID_PAD1_RD:
				result = -1;
				break;

			default:
				if (result < 0)
					return -1;
			}
		}

		if ((fade += 255/60) > 255) fade = 128;
      
		tx_resetfont();

		scrnmng_update();
		draw_transquad(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, UI_TR, UI_TR, UI_TR, UI_TR);
		draw_transquad(offx, offy, offx + base_width, offy + base_height, UI_BS, UI_BS, UI_BS, UI_BS);
      
		OEMSPRINTF(work, "%s ", mstr_snd);
		x = offx + (base_width - strlen(work) * ui_font_width()) / 2;
		y = offy;
		ui_font_draw(x, y, 255, 255, 255, work);

		y += ui_font_height();
		x = offx;

		draw_transquad(offx, y, offx + base_width, y + 1, MAKECOL32(128, 128, 128, 255),
					   MAKECOL32(128, 128, 128, 255), MAKECOL32(128, 128, 128, 255), MAKECOL32(128, 128, 128, 255));

		y += 6;

		menu_pos = 0;
		for (int i = 0; i < num_items; ++i) {
			
			int r = menu[i].r;
			int g = menu[i].g;
			int b = menu[i].b;
      
			switch (menu[i].type) {
	  
			case DLGTYPE_RADIO:
			case DLGTYPE_CHECK:
				if (menu_pos == sel) {

					draw_transquad(offx, y + menu[i].y, offx + base_width, y + menu[i].y + ui_font_height() + 5, MAKECOL32(255, 0, 0, fade), MAKECOL32(255, 0, 0, fade), MAKECOL32(255, 0, 0, fade), MAKECOL32(255, 0, 0, fade));

					id = menu[i].id;
				}


				switch (menu[i].id) {
	    
				default:
					if (menudlg_getval(menu[i].id))
						draw_pointer(x + menu[i].x - ui_font_width(), y + menu[i].y, 1);
				}
				ui_font_draw(x + menu[i].x, y + menu[i].y, r, g, b, (const char *)menu[i].arg);
				++menu_pos;
				break;
			}
		}
    
		for (int i = 0; i < num_items; ++i) {
      
			switch (menu[i].type) {
	
			case DLGTYPE_FRAME:
			case DLGTYPE_LTEXT:
			case DLGTYPE_RTEXT:
				ui_font_draw(x + menu[i].x, y + menu[i].y, menu[i].r, menu[i].g, menu[i].b, (const char *)menu[i].arg);
				break;
			}
		}

		x = ui_offx();
		y = ui_height() - ui_font_height();
    
		switch (result) {
		default:
			ui_font_draw(x, y, 255, 255, 255, "A:Select B:Back");
		}
		
		ta_commit_frame();
	}
}