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; }
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; }
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); }