void CGameConfig::Enter() {
	Winsys.ShowCursor (!param.ice_cursor);
	Winsys.KeyRepeat (true);

	for (int i=0; i<NUM_RESOLUTIONS; i++) res_names[i] = Winsys.GetResName (i);

	int framewidth = 550 * Winsys.scale;
	area = AutoAreaN (30, 80, framewidth);
	FT.AutoSizeN (4);
	dd = FT.AutoDistanceN (3);
	if (dd < 36) dd = 36;
	int rightpos = area.right -48;

	ResetGUI ();
#ifndef PANDORA
	fullscreen = AddCheckbox (area.left, area.top, framewidth-16, Trans.Text(31));
	fullscreen->checked = param.fullscreen;

	resolution = AddUpDown(rightpos, area.top+dd*1, 0, NUM_RESOLUTIONS-1, (int)param.res_type);
#endif
	mus_vol = AddUpDown(rightpos, area.top+dd*2, 0, 120, param.music_volume);
	sound_vol = AddUpDown(rightpos, area.top+dd*3, 0, 120, param.sound_volume);
	detail_level = AddUpDown(rightpos, area.top+dd*4, 1, 4, param.perf_level);
	language = AddUpDown(rightpos, area.top+dd*5, 0, (int)Trans.languages.size() - 1, (int)param.language);

	int siz = FT.AutoSizeN (5);
	textbuttons[0] = AddTextButton (Trans.Text(28), area.left+50, AutoYPosN (80), siz);
	ETR_DOUBLE len = FT.GetTextWidth (Trans.Text(8));
	textbuttons[1] = AddTextButton (Trans.Text(15), area.right-len-50, AutoYPosN (80), siz);

	Music.Play (param.config_music, -1);
}
示例#2
0
void CEvent::Enter () {
	Winsys.ShowCursor (!param.ice_cursor);

	if (State::manager.PreviousState() == &GameOver) UpdateCupRacing ();
		else InitCupRacing ();

	framewidth = 500;
	frametop = AutoYPosN (45);
	area = AutoAreaN (30, 80, framewidth);
	messtop = AutoYPosN (50);
	messtop2 = AutoYPosN (60);
	bonustop = AutoYPosN (35);
	texsize = 32 * Winsys.scale;
	if (texsize < 32) texsize = 32;
	dist = texsize + 2 * 4;
	framebottom = frametop + (int)ecup->races.size() * dist + 10;

	ResetGUI ();
	int siz = FT.AutoSizeN (5);
	textbuttons[1] = AddTextButton (Trans.Text(8), area.left + 100, AutoYPosN (80), siz);
	double len = FT.GetTextWidth (Trans.Text(13));
	textbuttons[0] = AddTextButton (Trans.Text(13), area.right -len - 100, AutoYPosN (80), siz);
	textbuttons[2] = AddTextButton (Trans.Text(15), CENTER, AutoYPosN (80), siz);

	Music.Play (param.menu_music, -1);
	if (ready < 1) curr_focus = textbuttons[0]; else curr_focus = textbuttons[2];
	g_game.loopdelay = 20;
}
void CEventSelect::Enter () {
    Winsys.ShowCursor (!param.ice_cursor);
    EventList = &Events.EventList[0];
    CupList = &Events.CupList[0];

    framewidth = 500 * Winsys.scale;
    frameheight = 50 * Winsys.scale;
    area = AutoAreaN (30, 80, framewidth);
    frametop1 = AutoYPosN (35);
    frametop2 = AutoYPosN (50);

    ResetGUI();
    event = AddUpDown(area.right+8, frametop1, 0, (int)Events.EventList.size() - 1, 0);
    cup = AddUpDown(area.right+8, frametop2, 0, (int)EventList[0].cups.size() - 1, 0);

    int siz = FT.AutoSizeN (5);

    double len = FT.GetTextWidth (Trans.Text(9));
    textbuttons[0] = AddTextButton (Trans.Text(9), area.right-len-50, AutoYPosN (70), siz);
    textbuttons[1] = AddTextButton (Trans.Text(8), area.left+50, AutoYPosN (70), siz);
    SetFocus(textbuttons[1]);

    Events.MakeUnlockList (Players.GetCurrUnlocked());
    Music.Play (param.menu_music, -1);
    g_game.loopdelay = 20;
}
示例#4
0
void CScore::Enter() {
	Winsys.ShowCursor (!param.ice_cursor);
	Winsys.KeyRepeat (true);
	Music.Play (param.menu_music, -1);

	framewidth = 550 * Winsys.scale;
	frameheight = 50 * Winsys.scale;
	frametop = AutoYPosN (32);
	area = AutoAreaN (30, 80, framewidth);
	FT.AutoSizeN (3);
	linedist = FT.AutoDistanceN (1);
	listtop = AutoYPosN (44);
	dd1 = 50 * Winsys.scale;
	dd2 = 115 * Winsys.scale;
	dd3 = 250 * Winsys.scale;
	dd4 = 375 * Winsys.scale;

	CourseList = &Course.CourseList[0];

	ResetGUI ();
	course = AddUpDown(area.right + 8, frametop, 0, (int)Course.CourseList.size()-1, 0);
	int siz = FT.AutoSizeN (5);
	textbutton = AddTextButton (Trans.Text(64), CENTER, AutoYPosN (80), siz);

	g_game.loopdelay = 1;
}
示例#5
0
void CEventSelect::Enter() {
	Winsys.ShowCursor(!param.ice_cursor);

	int framewidth = 500 * Winsys.scale;
	int frameheight = 50 * Winsys.scale;
	TArea area = AutoAreaN(30, 80, framewidth);
	int frametop1 = AutoYPosN(35);
	int frametop2 = AutoYPosN(50);

	ResetGUI();
	event = AddUpDown(area.right+8, frametop1, 0, (int)Events.EventList.size() - 1, 0);
	cup = AddUpDown(area.right + 8, frametop2, 0, (int)Events.EventList[0].cups.size() - 1, 0);

	unsigned int siz = FT.AutoSizeN(5);

	float len = FT.GetTextWidth(Trans.Text(9));
	textbuttons[0] = AddTextButton(Trans.Text(9), area.right-len-50, AutoYPosN(70), siz);
	textbuttons[1] = AddTextButton(Trans.Text(8), area.left+50, AutoYPosN(70), siz);
	SetFocus(textbuttons[0]);

	FT.AutoSizeN(3);
	selectEvent = AddLabel(Trans.Text(6), area.left, AutoYPosN(30), colWhite);
	selectCup = AddLabel(Trans.Text(7), area.left, AutoYPosN(45), colWhite);
	cupLocked = AddLabel(Trans.Text(10), CENTER, AutoYPosN(58), colLGrey);

	FT.AutoSizeN(4);
	selectedEvent = AddFramedText(area.left, frametop1, framewidth, frameheight, 3, colMBackgr, "", FT.GetSize(), true);
	selectedCup = AddFramedText(area.left, frametop2, framewidth, frameheight, 3, colMBackgr, "", FT.GetSize(), true);

	Events.MakeUnlockList(g_game.player->funlocked);
	Music.Play(param.menu_music, true);
}
void CGameConfig::Enter() {
	Winsys.ShowCursor (!param.ice_cursor);
	Winsys.KeyRepeat (true);

	for (int i=0; i<NUM_RESOLUTIONS; i++) res_names[i] = Winsys.GetResName (i);

	int framewidth = 500 * Winsys.scale;
	area = AutoAreaN (Winsys.resolution.width < Winsys.resolution.height ? 30 : 12, 80, framewidth);
	FT.AutoSizeN (4);
	dd = FT.AutoDistanceN (4);
	if (dd < 36) dd = 36;
	int rightpos = area.right -96;

	ResetGUI ();

	vid_orient = AddUpDown(rightpos, area.top, 0, 3, param.orient);
	sensit = AddUpDown(rightpos, area.top + dd, 1, 20, param.sensit);
	mus_vol = AddUpDown(rightpos, area.top + dd * 2, 0, 120, param.music_volume);
	sound_vol = AddUpDown(rightpos, area.top + dd * 3, 0, 120, param.sound_volume);
	detail_level = AddUpDown(rightpos, area.top + dd * 4, 1, 4, param.perf_level);
	language = AddUpDown(rightpos, area.top + dd * 5, 0, (int)Trans.languages.size() - 1, (int)param.language);

	int siz = FT.AutoSizeN (5);
	textbuttons[0] = AddTextButton (Trans.Text(28), area.left+50, AutoYPosN (80), siz);
	ETR_DOUBLE len = FT.GetTextWidth (Trans.Text(15));
	textbuttons[1] = AddTextButton (Trans.Text(15), area.right-len-50, AutoYPosN (80), siz);

	Music.Play (param.config_music, -1);
}
示例#7
0
void CRegist::Enter (void) {
	Winsys.ShowCursor (!param.ice_cursor);
	Music.Play (param.menu_music, -1);

	scale = Winsys.scale;
	framewidth = (int)(scale * 280);
	frameheight = (int)(scale * 50);
	arrowwidth = 50;
	sumwidth = framewidth * 2 + arrowwidth * 2;
	area = AutoAreaN (30, 80, sumwidth);
	texsize = 128 * scale;

	ResetGUI ();
	player = AddUpDown(area.left + framewidth + 8, area.top, 0, (int)Players.numPlayers() - 1, (int)g_game.start_player);
	character = AddUpDown(area.left + framewidth * 2 + arrowwidth + 8, area.top, 0, (int)Char.CharList.size() - 1, 0);
	int siz = FT.AutoSizeN (5);
	textbuttons[0] = AddTextButton (Trans.Text(60), CENTER, AutoYPosN (62), siz);
	textbuttons[1] = AddTextButton (Trans.Text(61), CENTER, AutoYPosN (70), siz);

	g_game.loopdelay = 10;
	if(Char.CharList.empty())
		Winsys.Terminate(); // Characters are necessary - ETR is unusable otherwise
}
示例#8
0
void CNewPlayer::Enter() {
	Winsys.ShowCursor(!param.ice_cursor);
	Music.Play(param.menu_music, true);

	int framewidth = 400 * Winsys.scale;
	int frameheight = 50 * Winsys.scale;
	int frametop = AutoYPosN(38);
	TArea area = AutoAreaN(30, 80, framewidth);
	int prevoffs = 80;
	prevleft = area.left + prevoffs;
	prevtop = AutoYPosN(52);
	prevwidth = 75 * Winsys.scale;

	ResetGUI();

	avatar = AddUpDown(area.left + prevwidth + prevoffs + 8, prevtop, 0, (int)Players.numAvatars() - 1, 0, prevwidth - 34);
	int siz = FT.AutoSizeN(5);
	textbuttons[0] = AddTextButton(Trans.Text(8), area.left+50, AutoYPosN(70), siz);
	float len = FT.GetTextWidth(Trans.Text(15));
	textbuttons[1] = AddTextButton(Trans.Text(15), area.right-len-50, AutoYPosN(70), siz);

	textfield = AddTextField(emptyString, area.left, frametop, framewidth, frameheight);
}
void CRaceSelect::Enter() {
	Winsys.ShowCursor (!param.ice_cursor);
	Music.Play (param.menu_music, -1);

	CourseList = &Course.CourseList[0];

	framewidth = 520 * Winsys.scale;
	frameheight = 50 * Winsys.scale;
	frametop = AutoYPosN (Winsys.resolution.width > Winsys.resolution.height ? 10 : 30);

	area = AutoAreaN (Winsys.resolution.width > Winsys.resolution.height ? 10 : 30, 80, framewidth);
	prevtop = AutoYPosN (Winsys.resolution.width > Winsys.resolution.height ? 40 : 50);
	prevheight = 144 * Winsys.scale;
	prevwidth = 192 * Winsys.scale;
	boxwidth = framewidth - prevwidth - 20;
	boxleft = area.right - boxwidth;
	int icontop = AutoYPosN(Winsys.resolution.width > Winsys.resolution.height ? 25 : 40);
	int iconsize = 48 * Winsys.scale;
	int iconspace = (int) ((iconsize + 6) * 1.5);
	int iconsumwidth = iconspace * 4 + iconsize;
	int iconleft = (Winsys.resolution.width - iconsumwidth) / 2;

	ResetGUI ();

	course = AddUpDown(area.left + framewidth - 90, frametop, 0, (int)Course.CourseList.size() - 1, g_game.course?(int)Course.GetCourseIdx(g_game.course):0);

	light = AddIconButton (iconleft, icontop, Tex.GetTexture (LIGHT_BUTT), iconsize, 3, (int)g_game.light_id);
	snow = AddIconButton (iconleft + iconspace, icontop, Tex.GetTexture (SNOW_BUTT), iconsize, 3, g_game.snow_id);
	wind = AddIconButton (iconleft + iconspace*2, icontop, Tex.GetTexture (WIND_BUTT), iconsize, 3, g_game.wind_id);
	mirror = AddIconButton (iconleft + iconspace*3, icontop, Tex.GetTexture (MIRROR_BUTT), iconsize, 1, (int)g_game.mirrorred);
	random_btn = AddIconButton (iconleft + iconspace*4, icontop, Tex.GetTexture (RANDOM_BUTT), iconsize, 0, 0);
	int siz = FT.AutoSizeN (5);
	int len1 = FT.GetTextWidth (Trans.Text(13));
	textbuttons[0] = AddTextButton (Trans.Text(13), area.right-len1-50, AutoYPosN (80), siz);
	textbuttons[1] = AddTextButton (Trans.Text(8), area.left + 50, AutoYPosN (80), siz);
}
示例#10
0
INT_PTR CALLBACK ResetDialogProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam)
{
	BOOL resetFilters  = FALSE;
	BOOL resetGames    = FALSE;
	BOOL resetUI	   = FALSE;
	BOOL resetDefaults = FALSE;

	switch (Msg)
	{
	case WM_INITDIALOG:
		return TRUE;

	case WM_HELP:
		/* User clicked the ? from the upper right on a control */
		HelpFunction((HWND)((LPHELPINFO)lParam)->hItemHandle, MAMEUICONTEXTHELP, HH_TP_HELP_WM_HELP, GetHelpIDs());
		break;

	case WM_CONTEXTMENU:
		HelpFunction((HWND)wParam, MAMEUICONTEXTHELP, HH_TP_HELP_CONTEXTMENU, GetHelpIDs());

		break;

	case WM_COMMAND :
		switch (GET_WM_COMMAND_ID(wParam, lParam))
		{
		case IDOK :
			resetFilters  = Button_GetCheck(GetDlgItem(hDlg, IDC_RESET_FILTERS));
			resetGames	  = Button_GetCheck(GetDlgItem(hDlg, IDC_RESET_GAMES));
			resetDefaults = Button_GetCheck(GetDlgItem(hDlg, IDC_RESET_DEFAULT));
			resetUI 	  = Button_GetCheck(GetDlgItem(hDlg, IDC_RESET_UI));
			if (resetFilters || resetGames || resetUI || resetDefaults)
			{

				TCHAR temp[400];
				_tcscpy(temp, TEXT(MAMEUINAME));
				_tcscat(temp, TEXT(" will now reset the following\n"));
				_tcscat(temp, TEXT("to the default settings:\n\n"));

				if (resetDefaults)
					_tcscat(temp, TEXT("Global game options\n"));
				if (resetGames)
					_tcscat(temp, TEXT("Individual game options\n"));
				if (resetFilters)
					_tcscat(temp, TEXT("Custom folder filters\n"));
				if (resetUI)
				{
					_tcscat(temp, TEXT("User interface settings\n\n"));
					_tcscat(temp, TEXT("Resetting the User Interface options\n"));
					_tcscat(temp, TEXT("requires exiting "));
					_tcscat(temp, TEXT(MAMEUINAME));
					_tcscat(temp, TEXT(".\n"));
				}
				_tcscat(temp, TEXT("\nDo you wish to continue?"));
				if (MessageBox(hDlg, temp, TEXT("Restore Settings"), IDOK) == IDOK)
				{
					if (resetFilters)
						ResetFilters();

					if (resetGames)
						ResetAllGameOptions();

					if (resetDefaults)
						ResetGameDefaults();

					// This is the only case we need to exit and restart for.
					if (resetUI)
					{
						ResetGUI();
						EndDialog(hDlg, 1);
						return TRUE;
					} else {
						EndDialog(hDlg, 0);
						return TRUE;
					}
				} else {
					// Give the user a chance to change what they want to reset.
					break;
				}
			}
		// Nothing was selected but OK, just fall through
		case IDCANCEL :
			EndDialog(hDlg, 0);
			return TRUE;
		}
		break;
	}
	return 0;
}
示例#11
0
bool __stdcall OnReceivePacket(Packet* pak)
{
	gRecvPacket = pak;

	switch(pak->Command()){
		case PAK_ACHIEVEMENT:
			Recv_srv_ACHIEVEMENT();
			break;
		case PAK_CONTRIBUTION:
			Recv_srv_CONTRIBUTION();
			break;
		case PAK_PARTYLIST:
			Recv_srv_PARTYLIST();
			break;
		case PAK_VENDMSG:
			Recv_srv_VENDMESSAGE();
			break;
		case PAK_DUEL:
			Recv_srv_DUEL();
			break;
		case PAK_MESSAGE:
			Recv_srv_MESSAGE();
			break;
		case PAK_ALLYCHAT:
			Recv_srv_ALLY();
			break;
		case PAK_FLAGSTATUS:
			Recv_srv_FLAG();
			break;
		case PAK_NPCVAR:
			Recv_srv_PVP(false);
			break;
		case PAK_NPCVARALL:
			Recv_srv_PVP(true);
			break;
		case PAK_PLAYERDATA:
			Recv_srv_PLAYERDATA();
			break;
		case CLI_SELECT_CHAR:
			{
				IT_MGR::Instance()->AppendChatMsg("Welcome to titanROSE! [www.titanROSE.com]", CHAT_TYPE_WHISPER);
				ResetGUI();
			}
			break;
		case CLI_JOIN_ZONE:
			gClientID = pak->Get<word>(0);
			break;
		case CLI_TOGGLE:
			Recv_srv_RIDE(false);
			break;
		case CLI_WHISPER:
			Recv_srv_WHISPER();
			break;
		case GSV_AVT_CHAR:
			Recv_srv_RIDE(true);
			break;
		case 0x7B5:
			Recv_srv_BUFF();
			break;
		case CLI_MEMO:
			{
				if(pak->Get<unsigned char>(0) == 0x02)
					IT_MGR::Instance()->AppendChatMsg("[MAIL] You've got a new offline message!", CHAT_TYPE_NOTICE);
			}
			break;
		case CLI_TRADE_P2P:
			{
				unsigned char result = pak->Get<unsigned char>(0);

				if((result == 3 || result == 2) && !gIsTrading)
					pak->Reset();

				gIsTrading = false;
			}
			break;
	}

	return false;
}