Example #1
0
bool cJoystick :: Handle_Button_Down_Event( SDL_Event *ev )
{
	// not enabled or opened
	if( !pPreferences->m_joy_enabled || !m_joystick_open )
	{
		return 0;
	}

	Set_Button( ev->jbutton.button, 1 );

	// handle button in the current mode
	if( Game_Mode == MODE_LEVEL )
	{
		// processed by the level
		if( pActive_Level->Joy_Button_Down( ev->jbutton.button ) )
		{
			return 1;
		}
	}
	else if( Game_Mode == MODE_OVERWORLD )
	{
		// processed by the overworld
		if( pActive_Overworld->Joy_Button_Down( ev->jbutton.button ) )
		{
			return 1;
		}
	}
	else if( Game_Mode == MODE_MENU )
	{
		// processed by the menu
		if( pMenuCore->Joy_Button_Down( ev->jbutton.button ) )
		{
			return 1;
		}
	}

	if( ev->jbutton.button < m_buttons.size() )
	{
		// Jump
		if( ev->jbutton.button == pPreferences->m_joy_button_jump )
		{
			//
		}
		// Shoot
		else if( ev->jbutton.button == pPreferences->m_joy_button_shoot )
		{
			pKeyboard->Key_Down( pPreferences->m_key_shoot );
			return 1;
		}
		// Request Itembox Item
		else if( ev->jbutton.button == pPreferences->m_joy_button_item )
		{
			// not handled
			return 1;
		}
		// Interaction
		else if( ev->jbutton.button == pPreferences->m_joy_button_action )
		{
			pKeyboard->Key_Down( pPreferences->m_key_action );
			return 1;
		}
		// Exit
		else if( ev->jbutton.button == pPreferences->m_joy_button_exit )
		{
			pKeyboard->Key_Down( SDLK_ESCAPE );
			return 1;
		}
		// Pause
		else if( ev->jbutton.button == 9 )
		{
			pKeyboard->Key_Down( SDLK_PAUSE );
			return 1;
		}
	}

	return 0;
}
Example #2
0
bool cJoystick :: Handle_Button_Up_Event( SDL_Event *ev )
{
	// not enabled or opened
	if( !pPreferences->m_joy_enabled || !m_joystick_open )
	{
		return 0;
	}

	Set_Button( ev->jbutton.button, 0 );

	// handle button in the current mode
	if( Game_Mode == MODE_LEVEL )
	{
		// processed by the level
		if( pActive_Level->Joy_Button_Up( ev->jbutton.button ) )
		{
			return 1;
		}
	}
	else if( Game_Mode == MODE_OVERWORLD )
	{
		// processed by the overworld
		if( pActive_Overworld->Joy_Button_Up( ev->jbutton.button ) )
		{
			return 1;
		}
	}
	else if( Game_Mode == MODE_MENU )
	{
		// processed by the menu
		if( pMenuCore->Joy_Button_Up( ev->jbutton.button ) )
		{
			return 1;
		}
	}

	if( ev->jbutton.button < m_buttons.size() )
	{
		if( ev->jbutton.button == pPreferences->m_joy_button_jump )
		{
			pKeyboard->Key_Up( pPreferences->m_key_jump );
			return 1;
		}
		else if( ev->jbutton.button == pPreferences->m_joy_button_shoot )
		{
			pKeyboard->Key_Up( pPreferences->m_key_shoot );
			return 1;
		}
		else if( ev->jbutton.button == pPreferences->m_joy_button_item )
		{
			// not handled
		}
		else if( ev->jbutton.button == pPreferences->m_joy_button_action )
		{
			pKeyboard->Key_Up( pPreferences->m_key_action );
			return 1;
		}
		else if( ev->jbutton.button == pPreferences->m_joy_button_exit )
		{
			pKeyboard->Key_Up( SDLK_ESCAPE );
			return 1;
		}
	}

	return 0;
}
Example #3
0
void vmsFDMCustomized::Generate(LPCSTR pszOutFile)
{
	HMODULE hLib = LoadLibrary ("fdmdll.dll");
	if (hLib == NULL)
		throw "failed to load fdmdll.dll";

	fdmcsCreateSession CreateSession = (fdmcsCreateSession) GetProcAddress (hLib, "fdmcsCreateSession");
	fdmcsCloseSession CloseSession = (fdmcsCloseSession) GetProcAddress (hLib, "fdmcsCloseSession");
	fdmcsSet_PrimaryID Set_PrimaryID = (fdmcsSet_PrimaryID) GetProcAddress (hLib, "fdmcsSet_PrimaryID");
	fdmcsSet_SiteURL Set_SiteURL = (fdmcsSet_SiteURL) GetProcAddress (hLib, "fdmcsSet_SiteURL");
	fdmcsSet_SiteTitle Set_SiteTitle = (fdmcsSet_SiteTitle) GetProcAddress (hLib, "fdmcsSet_SiteTitle");
	fdmcsSet_SiteIcon Set_SiteIcon = (fdmcsSet_SiteIcon) GetProcAddress (hLib, "fdmcsSet_SiteIcon");
	fdmcsSet_Button Set_Button = (fdmcsSet_Button) GetProcAddress (hLib, "fdmcsSet_Button");
	fdmcsSet_SetHomePage Set_SetHomePage = (fdmcsSet_SetHomePage) GetProcAddress (hLib, "fdmcsSet_SetHomePage");
	fdmcsSet_AddLinkToFavorites Set_AddLinkToFavorites = (fdmcsSet_AddLinkToFavorites) GetProcAddress (hLib, "fdmcsSet_AddLinkToFavorites");
	fdmcsSet_AddLinkToStartMenu Set_AddLinkToStartMenu = (fdmcsSet_AddLinkToStartMenu) GetProcAddress (hLib, "fdmcsSet_AddLinkToStartMenu");
	fdmcsSet_IEButton Set_IEButton = (fdmcsSet_IEButton) GetProcAddress (hLib, "fdmcsSet_IEButton");
	fdmcsSet_GetCustVerBtn Set_GetCustVerBtn = (fdmcsSet_GetCustVerBtn) GetProcAddress (hLib, "fdmcsSet_GetCustVerBtn");
	fdmcsSet_ShowBanners Set_ShowBanners = (fdmcsSet_ShowBanners) GetProcAddress (hLib, "fdmcsSet_ShowBanners");
	fdmcsAdd_Banner Add_Banner = (fdmcsAdd_Banner) GetProcAddress (hLib, "fdmcsAdd_Banner");
	fdmcsClearBannerList ClearBannerList = (fdmcsClearBannerList) GetProcAddress (hLib, "fdmcsClearBannerList");
	fdmcsSet_UseListOfDownloads Set_UseListOfDownloads = (fdmcsSet_UseListOfDownloads) GetProcAddress (hLib, "fdmcsSet_UseListOfDownloads");
	fdmcsAdd_Download Add_Download = (fdmcsAdd_Download) GetProcAddress (hLib, "fdmcsAdd_Download");
	fdmcsGenerateDistrib GenerateDistrib = (fdmcsGenerateDistrib) GetProcAddress (hLib, "fdmcsGenerateDistrib");

	FDMCS_SESSION pS = CreateSession (FDMCS_PROFESSIONAL);

	Set_PrimaryID (pS, m_id);
	Set_SiteURL (pS, get_Customizer_SiteURL ());
	Set_SiteTitle (pS, m_strCustomizer);
	Set_SiteIcon (pS, m_strCustSiteIcon);
	Set_Button (pS, m_bUseBtn, m_Btn.strIcon.c_str (), m_Btn.strText.c_str (), m_Btn.strURL.c_str ());

	int iSet = FDMCS_NO;
	if (m_dwFlags & FC_MODIFYHOMEPAGE)
	{
		iSet = FDMCS_OPT_IN;
		if (m_dwFlags & FC_MHP_CHECKEDBYDEF)
			iSet = FDMCS_OPT_OUT;
	}
	Set_SetHomePage (pS, iSet);

	iSet = FDMCS_NO;
	if (m_dwFlags & FC_ADDLINKTOFAVOR)
	{
		iSet = FDMCS_YES;
		if (m_dwFlags & FC_FAV_OPTIONAL)
		{
			iSet = FDMCS_OPT_IN;
			if (m_dwFlags & FC_FAV_CHECKEDBYDEF)
				iSet = FDMCS_OPT_OUT;
		}
	}
	Set_AddLinkToFavorites (pS, iSet);

	iSet = FDMCS_NO;
	if (m_dwFlags & FC_ADDLINKTOSTARTMENU)
	{
		iSet = FDMCS_YES;
		if (m_dwFlags & FC_SM_OPTIONAL)
		{
			iSet = FDMCS_OPT_IN;
			if (m_dwFlags & FC_SM_CHECKEDBYDEF)
				iSet = FDMCS_OPT_OUT;
		}
	}
	Set_AddLinkToStartMenu (pS, iSet);

	iSet = FDMCS_NO;
	if (m_dwFlags & FC_ADDBUTTONTOIE)
	{
		iSet = FDMCS_YES;
		if (m_dwFlags & FC_IEBTN_OPTIONAL)
		{
			iSet = FDMCS_OPT_IN;
			if (m_dwFlags & FC_IEBTN_CHECKEDBYDEF)
				iSet = FDMCS_OPT_OUT;
		}
	}
	Set_IEButton (pS, iSet, m_strIEButtonIcon);

	Set_GetCustVerBtn (pS, m_bShowGetCVerBtn);

	if (m_dwFlags & FC_ADDBANNERS)
	{
		for (int i = 0; i < get_BannerCount (); i++)
		{
			vmsFDMBannerInfo* banner = get_Banner (i);
			Add_Banner (pS, banner->strURL.c_str (), banner->strFile.c_str ());
		}
	}

	if (m_dwFlags & FC_ADDDOWNLOADS)
	{
		for (int i = 0; i < get_DownloadCount (); i++)
		{
			vmsFDMDownloadInfo* dl = get_Download (i);
			Add_Download (pS, dl->strURL.c_str (), dl->strComment.c_str (), FALSE);
		}
	}

	if (FALSE == GenerateDistrib (pS, "#fdminst-cust.exe", NULL))
		MessageBox (NULL, "Failed to generate distrib", "Error", MB_ICONERROR);

	CloseSession (pS);
	FreeLibrary (hLib);
}