void Camera::moveKeyboard() { // you may change key controls for the interactive // camera controls here, make sure you document your changes // in your README file if (Fl::event_key('w')) moveForward(+0.05); if (Fl::event_key('s')) moveForward(-0.05); if (Fl::event_key('a')) moveSideways(-0.05); if (Fl::event_key('d')) moveSideways(+0.05); if (Fl::event_key(FL_Up)) moveVertical(+0.05); if (Fl::event_key(FL_Down)) moveVertical(-0.05); if (Fl::event_key(FL_Left)) rotateYaw(+0.05); if (Fl::event_key(FL_Right)) rotateYaw(-0.05); if (Fl::event_key(FL_Page_Up)) rotatePitch(+0.05); if (Fl::event_key(FL_Page_Down)) rotatePitch(-0.05); }
void StrongEnemy::combatStageC(irr::f32 deltaTime) { if(shotsFired != MAX_SHOT_COUNT) { if(shoot(irr::core::vector3df(0, 0, moveDir), TYPE_SHIP_PLAYER, cannonPositions)) { shotsFired++; } } else { if(currentLoop < COMBAT_LOOP_COUNT) { //Moves to the bottom of the screen if(getPosition().Y > -45) { moveVertical(turnSpeed, -1, deltaTime); } else { if(currentLoop != COMBAT_LOOP_COUNT) { //Reset shout count, increment loop count and reset stage shotsFired = 0; currentLoop++; currentStage = stageA; } } } else { //If the loop count is reached then leave the area if(timeElapsed > 1) { moveSpeed /= 2; currentStage = stageEnd; } else { timeElapsed += deltaTime; } } } }
void BasicEnemy::combatStageB(irr::f32 deltaTime){ //Moves the ship to the bottom of the screen while shooting if(getPosition().Y > -40){ moveVertical(turnSpeed, -1, deltaTime); shoot(irr::core::vector3df(0, 0, moveDir), TYPE_SHIP_PLAYER, cannonPositions); } else{ currentStage = stageC; } }
void *rocketThread(void *arg) { struct propset *rckt = arg; /* point to info block */ int row = rckt->row; while(row > 0) { usleep(TUNIT*rckt->delay); // sleep for microseconds pthread_mutex_lock(&ufo_mx); /* only one thread */ moveVertical(rckt); if (detectHit(rckt)) { strcpy(rckt->str, " "); rckt->live = false; } pthread_mutex_unlock(&ufo_mx); /* done with curses */ row--; } pthread_mutex_lock(&rckt_mx); rckt->live = false; pthread_mutex_unlock(&rckt_mx); strcpy(rckt->str, " "); moveVertical(rckt); }
void StrongEnemy::combatStageB(irr::f32 deltaTime) { if(shotsFired < MAX_SHOT_COUNT) { //Shoots 3 bullets if(shoot(irr::core::vector3df(0, 0, moveDir), TYPE_SHIP_PLAYER, cannonPositions)) { shotsFired++; } } else { //Moves to the top of the screen if(getPosition().Y < 45) { moveVertical(turnSpeed, 1, deltaTime); } else { //Reset shot count and advance stage shotsFired = 0; currentStage = stageC; } } }
void Movable::fall(double toAdd) { moveVertical(FALL_RATE * -toAdd); }
//pnd_nubstate_t t; void gui_handle_events (void) { printf("gui_handle_events\n"); /*if(blubb<0) { test = pnd_evdev_open(pnd_evdev_nub1); printf("nub1 open: %d\n", test); test = pnd_evdev_open(pnd_evdev_nub2); printf("nub2 open: %d\n", test); t.x=1; t.y=1; printf("nubstate 1: x=%d y=%d\n", t.x, t.y); } blubb++; if(blubb>100 && blubb<0) { pnd_evdev_catchup(1); blubb=0; } test = pnd_evdev_nub_state(pnd_evdev_nub1, &t); printf("nubstate 1: x=%d y=%d, returnvalue=%d\n", t.x, t.y, test); pnd_evdev_nub_state(pnd_evdev_nub2, &t); printf("nubstate 2: x=%d y=%d\n", t.x, t.y); */ #if ! defined (DREAMCAST) && ! defined (GP2X) && ! defined (PSP) && ! defined (GIZMONDO) Uint8 *keystate = SDL_GetKeyState(NULL); if ( keystate[SDLK_F12] ) SDL_WM_ToggleFullScreen(prSDLScreen); else if ( keystate[SDLK_F11] ) #else #ifdef DREAMCAST if (SDL_JoystickGetButton(uae4all_joy0,3) ) #endif #ifdef GP2X if (SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_SELECT)) #endif #ifdef PSP if (SDL_JoystickGetButton(uae4all_joy0, PSP_BUTTON_SELECT)) #endif #ifdef GIZMONDO Uint8 *keystate = SDL_GetKeyState(NULL); if ( keystate[SDLK_F1] ) #endif #endif #ifdef GP2X { // hack: always use SDL_SWSURFACE in menus //switch_to_sw_sdl(); goMenu(); //switch_to_hw_sdl(0); } #else goMenu(); #endif #ifndef PANDORA #if defined (DREAMCAST) || defined (GP2X) || defined (PSP) || defined (GIZMONDO) #ifdef DREAMCAST if (SDL_JoystickGetAxis (uae4all_joy0, 2)) if (vkbd_mode) { vkbd_mode=0; notice_screen_contents_lost(); } if (SDL_JoystickGetAxis (uae4all_joy0, 3)) vkbd_mode=1; #else if (!gp2xMouseEmuOn && !gp2xButtonRemappingOn) { #ifdef GP2X if (SDL_JoystickGetButton (uae4all_joy0, GP2X_BUTTON_L)) #else #ifdef GIZMONDO if (SDL_JoystickGetButton (uae4all_joy0, GIZ_LTRIG)) #else if (SDL_JoystickGetButton (uae4all_joy0, PSP_BUTTON_L)) #endif #endif { /*if (vkbd_mode) { vkbd_mode = 0; goingVkbd=0; notice_screen_contents_lost(); } else*/ goingSuperThrottle=1; } else { if (!nowSuperThrottle) goingSuperThrottle=0; /*else goingVkbd=0;*/ } #ifdef GP2X if (SDL_JoystickGetButton (uae4all_joy0, GP2X_BUTTON_R)) #else #ifdef GIZMONDO if (SDL_JoystickGetButton (uae4all_joy0, GIZ_RTRIG)) #else if (SDL_JoystickGetButton (uae4all_joy0, PSP_BUTTON_R)) #endif #endif { if (goingSuperThrottle) goSuperThrottle(); /*else { if (goingVkbd>4) vkbd_mode=1; else goingVkbd++; }*/ } else { if (nowSuperThrottle) leftSuperThrottle(); /*else goingVkbd=0;*/ } } #endif #endif /*if (vkbd_key) { if (vkbd_keysave==-1234567) { SDL_keysym ks; ks.sym=vkbd_key; vkbd_keysave=keycode2amiga(&ks); if (vkbd_keysave >= 0) { if (!uae4all_keystate[vkbd_keysave]) { uae4all_keystate[vkbd_keysave]=1; record_key(vkbd_keysave<<1); } } } } else if (vkbd_keysave!=-1234567) { if (vkbd_keysave >= 0) { uae4all_keystate[vkbd_keysave]=0; record_key((vkbd_keysave << 1) | 1); } vkbd_keysave=-1234567; }*/ #endif #ifdef PANDORA Uint8 *keystate = SDL_GetKeyState(NULL); if(keystate[SDLK_F12]) { if(hwScaled) SDL_WM_ToggleFullScreen(prSDLScreen); else SDL_WM_ToggleFullScreen(prSDLScaleScreen); } if(!vkbd_mode) { //L + R if(SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_L) && SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_R)) { //up if(SDL_JoystickGetAxis(uae4all_joy0, 1) < 0) { moveVertical(1); moved_y += 2; } //down else if(SDL_JoystickGetAxis(uae4all_joy0, 1) > 0) { moveVertical(-1); moved_y -= 2; } //left else if(SDL_JoystickGetAxis(uae4all_joy0, 0) < 0) { screenWidth -=10; if(screenWidth<200) screenWidth = 200; update_display(); } //right else if(SDL_JoystickGetAxis(uae4all_joy0, 0) > 0) { screenWidth +=10; if(screenWidth>800) screenWidth = 800; update_display(); } //1 else if(keystate[SDLK_1]) { mainMenu_displayedLines = 200; screenWidth = 768; presetModeId = 0; strcpy(presetMode, "320x200 upscaled"); update_display(); } //2 else if(keystate[SDLK_2]) { mainMenu_displayedLines = 216; screenWidth = 716; presetModeId = 1; strcpy(presetMode, "320x216 upscaled"); update_display(); } //3 else if(keystate[SDLK_3]) { mainMenu_displayedLines = 240; screenWidth = 640; presetModeId = 2; strcpy(presetMode, "320x240 upscaled"); update_display(); } //4 else if(keystate[SDLK_4]) { mainMenu_displayedLines = 256; screenWidth = 600; presetModeId = 3; strcpy(presetMode, "320x256 upscaled"); update_display(); } //5 else if(keystate[SDLK_5]) { mainMenu_displayedLines = 262; screenWidth = 588; presetModeId = 4; strcpy(presetMode, "320x262 upscaled"); update_display(); } //6 else if(keystate[SDLK_6]) { mainMenu_displayedLines = 270; screenWidth = 570; presetModeId = 5; strcpy(presetMode, "320x270 upscaled"); update_display(); } //7 else if(keystate[SDLK_7]) { mainMenu_displayedLines = 200; screenWidth = 640; presetModeId = 6; strcpy(presetMode, "320x200 NTSC"); update_display(); } //8 else if(keystate[SDLK_8]) { mainMenu_displayedLines = 200; screenWidth = 800; presetModeId = 7; strcpy(presetMode, "320x200 fullscreen"); update_display(); } } //autofire on/off if(SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_R)) { //(Y) button if(SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_Y)) { if(!justPressedY) { //autofire on/off switch_autofire = !switch_autofire; justPressedY=1; } } else if(justPressedY) justPressedY=0; } if (mainMenu_customControls && !gp2xMouseEmuOn && !gp2xButtonRemappingOn) { if(mainMenu_custom_dpad == 0) { //UP if(SDL_JoystickGetAxis(uae4all_joy0, 1) < 0) { if(!justMovedUp) { if(mainMenu_custom_up == -1) buttonstate[0]=1; else if(mainMenu_custom_up == -2) buttonstate[2]=1; else if(mainMenu_custom_up > 0) { getMapping(mainMenu_custom_up); uae4all_keystate[customKey] = 1; record_key(customKey << 1); } justMovedUp=1; } } else if(justMovedUp) { if(mainMenu_custom_up == -1) buttonstate[0]=0; else if(mainMenu_custom_up == -2) buttonstate[2]=0; else if(mainMenu_custom_up > 0) { getMapping(mainMenu_custom_up); uae4all_keystate[customKey] = 0; record_key((customKey << 1) | 1); } justMovedUp=0; } //DOWN if(SDL_JoystickGetAxis(uae4all_joy0, 1) > 0) { if(!justMovedDown) { if(mainMenu_custom_down == -1) buttonstate[0]=1; else if(mainMenu_custom_down == -2) buttonstate[2]=1; else if(mainMenu_custom_down > 0) { getMapping(mainMenu_custom_down); uae4all_keystate[customKey] = 1; record_key(customKey << 1); } justMovedDown=1; } } else if(justMovedDown) { if(mainMenu_custom_down == -1) buttonstate[0]=0; else if(mainMenu_custom_down == -2) buttonstate[2]=0; else if(mainMenu_custom_down > 0) { getMapping(mainMenu_custom_down); uae4all_keystate[customKey] = 0; record_key((customKey << 1) | 1); } justMovedDown=0; } //LEFT if(SDL_JoystickGetAxis(uae4all_joy0, 0) < 0) { if(!justMovedLeft) { if(mainMenu_custom_left == -1) buttonstate[0]=1; else if(mainMenu_custom_left == -2) buttonstate[2]=1; else if(mainMenu_custom_left > 0) { getMapping(mainMenu_custom_left); uae4all_keystate[customKey] = 1; record_key(customKey << 1); } justMovedLeft=1; } } else if(justMovedLeft) { if(mainMenu_custom_left == -1) buttonstate[0]=0; else if(mainMenu_custom_left == -2) buttonstate[2]=0; else if(mainMenu_custom_left > 0) { getMapping(mainMenu_custom_left); uae4all_keystate[customKey] = 0; record_key((customKey << 1) | 1); } justMovedLeft=0; } //RIGHT if(SDL_JoystickGetAxis(uae4all_joy0, 0) > 0) { if(!justMovedRight) { if(mainMenu_custom_right == -1) buttonstate[0]=1; else if(mainMenu_custom_right == -2) buttonstate[2]=1; else if(mainMenu_custom_right > 0) { getMapping(mainMenu_custom_right); uae4all_keystate[customKey] = 1; record_key(customKey << 1); } justMovedRight=1; } } else if(justMovedRight) { if(mainMenu_custom_right == -1) buttonstate[0]=0; else if(mainMenu_custom_right == -2) buttonstate[2]=0; else if(mainMenu_custom_right > 0) { getMapping(mainMenu_custom_right); uae4all_keystate[customKey] = 0; record_key((customKey << 1) | 1); } justMovedRight=0; } } //(A) if(SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_B)) { if(!justPressedA) { if(mainMenu_custom_A == -1) buttonstate[0]=1; else if(mainMenu_custom_A == -2) buttonstate[2]=1; else if(mainMenu_custom_A > 0) { getMapping(mainMenu_custom_A); uae4all_keystate[customKey] = 1; record_key(customKey << 1); } justPressedA=1; } } else if(justPressedA) { if(mainMenu_custom_A == -1) buttonstate[0]=0; else if(mainMenu_custom_A == -2) buttonstate[2]=0; else if(mainMenu_custom_A > 0) { getMapping(mainMenu_custom_A); uae4all_keystate[customKey] = 0; record_key((customKey << 1) | 1); } justPressedA=0; } //(B) if(SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_A)) { if(!justPressedB) { if(mainMenu_custom_B == -1) buttonstate[0]=1; else if(mainMenu_custom_B == -2) buttonstate[2]=1; else if(mainMenu_custom_B > 0) { getMapping(mainMenu_custom_B); uae4all_keystate[customKey] = 1; record_key(customKey << 1); } justPressedB=1; } } else if(justPressedB) { if(mainMenu_custom_B == -1) buttonstate[0]=0; else if(mainMenu_custom_B == -2) buttonstate[2]=0; else if(mainMenu_custom_B > 0) { getMapping(mainMenu_custom_B); uae4all_keystate[customKey] = 0; record_key((customKey << 1) | 1); } justPressedB=0; } //(X) if(SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_X)) { if(!justPressedX) { if(mainMenu_custom_X == -1) buttonstate[0]=1; else if(mainMenu_custom_X == -2) buttonstate[2]=1; else if(mainMenu_custom_X > 0) { getMapping(mainMenu_custom_X); uae4all_keystate[customKey] = 1; record_key(customKey << 1); } justPressedX=1; } } else if(justPressedX) { if(mainMenu_custom_X == -1) buttonstate[0]=0; else if(mainMenu_custom_X == -2) buttonstate[2]=0; else if(mainMenu_custom_X > 0) { getMapping(mainMenu_custom_X); uae4all_keystate[customKey] = 0; record_key((customKey << 1) | 1); } justPressedX=0; } //(Y) if(SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_Y)) { if(!justPressedY) { if(mainMenu_custom_Y == -1) buttonstate[0]=1; else if(mainMenu_custom_Y == -2) buttonstate[2]=1; else if(mainMenu_custom_Y > 0) { getMapping(mainMenu_custom_Y); uae4all_keystate[customKey] = 1; record_key(customKey << 1); } justPressedY=1; } } else if(justPressedY) { if(mainMenu_custom_Y == -1) buttonstate[0]=0; else if(mainMenu_custom_Y == -2) buttonstate[2]=0; else if(mainMenu_custom_Y > 0) { getMapping(mainMenu_custom_Y); uae4all_keystate[customKey] = 0; record_key((customKey << 1) | 1); } justPressedY=0; } //(L) if(SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_L)) { if(!justPressedL) { if(mainMenu_custom_L == -1) buttonstate[0]=1; else if(mainMenu_custom_L == -2) buttonstate[2]=1; else if(mainMenu_custom_L > 0) { getMapping(mainMenu_custom_L); uae4all_keystate[customKey] = 1; record_key(customKey << 1); } justPressedL=1; } } else if(justPressedL) { if(mainMenu_custom_L == -1) buttonstate[0]=0; else if(mainMenu_custom_L == -2) buttonstate[2]=0; else if(mainMenu_custom_L > 0) { getMapping(mainMenu_custom_L); uae4all_keystate[customKey] = 0; record_key((customKey << 1) | 1); } justPressedL=0; } //(R) if(SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_R)) { if(!justPressedR) { if(mainMenu_custom_R == -1) buttonstate[0]=1; else if(mainMenu_custom_R == -2) buttonstate[2]=1; else if(mainMenu_custom_R > 0) { getMapping(mainMenu_custom_R); uae4all_keystate[customKey] = 1; record_key(customKey << 1); } justPressedR=1; } } else if(justPressedR) { if(mainMenu_custom_R == -1) buttonstate[0]=0; else if(mainMenu_custom_R == -2) buttonstate[2]=0; else if(mainMenu_custom_R > 0) { getMapping(mainMenu_custom_R); uae4all_keystate[customKey] = 0; record_key((customKey << 1) | 1); } justPressedR=0; } } else if(!gp2xMouseEmuOn) { //DPad = arrow keys in stylus-mode if(gp2xButtonRemappingOn) { //dpad up if (SDL_JoystickGetAxis(uae4all_joy0, 1) < 0) { if(!justMovedUp) { //left and right mouse-buttons down buttonstate[0] = 1; buttonstate[2] = 1; stylusClickOverride = 1; justMovedUp=1; } } else if(justMovedUp) { //left and right mouse-buttons up buttonstate[0] = 0; buttonstate[2] = 0; stylusClickOverride = 0; justMovedUp=0; } //dpad down if (SDL_JoystickGetAxis(uae4all_joy0, 1) > 0) { if(!justMovedDown) { //no clicks with stylus now stylusClickOverride=1; justMovedDown=1; } } else if(justMovedDown) { //clicks active again stylusClickOverride=0; justMovedDown=0; } //dpad left if (SDL_JoystickGetAxis(uae4all_joy0, 0) < 0) { if(!justMovedLeft) { //left mouse-button down buttonstate[0] = 1; stylusClickOverride = 1; justMovedLeft=1; } } else if(justMovedLeft) { //left mouse-button up buttonstate[0] = 0; stylusClickOverride = 0; justMovedLeft=0; } //dpad right if (SDL_JoystickGetAxis(uae4all_joy0, 0) > 0) { if(!justMovedRight) { //right mouse-button down buttonstate[2] = 1; stylusClickOverride = 1; justMovedRight=1; } } else if(justMovedRight) { //right mouse-button up buttonstate[2] = 0; stylusClickOverride = 0; justMovedRight=0; } //L + up if(SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_L) && SDL_JoystickGetAxis(uae4all_joy0, 1) < 0) stylusAdjustY-=2; //L + down if(SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_L) && SDL_JoystickGetAxis(uae4all_joy0, 1) > 0) stylusAdjustY+=2; //L + left if(SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_L) && SDL_JoystickGetAxis(uae4all_joy0, 0) < 0) stylusAdjustX-=2; //L + right if(SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_L) && SDL_JoystickGetAxis(uae4all_joy0, 0) > 0) stylusAdjustX+=2; } //R-trigger in joystick mode else if(SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_R)) { //(A) button if(SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_A)) { if(!justPressedA) { //CTRL uae4all_keystate[AK_CTRL] = 1; record_key(AK_CTRL << 1); justPressedA=1; } } else if(justPressedA) { uae4all_keystate[AK_CTRL] = 0; record_key((AK_CTRL << 1) | 1); justPressedA=0; } //(B) button if(SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_B)) { if(!justPressedB) { //left ALT uae4all_keystate[AK_LALT] = 1; record_key(AK_LALT << 1); justPressedB=1; } } else if(justPressedB) { uae4all_keystate[AK_LALT] = 0; record_key((AK_LALT << 1) | 1); justPressedB=0; } //(X) button if(SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_X)) { if(!justPressedX) { //HELP uae4all_keystate[AK_HELP] = 1; record_key(AK_HELP << 1); justPressedX=1; } } else if(justPressedX) { //HELP uae4all_keystate[AK_HELP] = 0; record_key((AK_HELP << 1) | 1); justPressedX=0; } } else if(SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_L)) { //(A) button if(SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_A)) { if(!justPressedA) { //right mouse-button down buttonstate[2] = 1; justPressedA=1; } } else if(justPressedA) { //right mouse-button up buttonstate[2] = 0; justPressedA=0; } //(B) button if(SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_B)) { if(!justPressedB) { //left mouse-button down buttonstate[0] = 1; justPressedB=1; } } else if(justPressedB) { //left mouse-button up buttonstate[0] = 0; justPressedB=0; } } else { if(SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_Y)) { if(!justPressedY) { //SPACE uae4all_keystate[AK_SPC] = 1; record_key(AK_SPC << 1); justPressedY=1; } } else if(justPressedY) { //SPACE uae4all_keystate[AK_SPC] = 0; record_key((AK_SPC << 1) | 1); justPressedY=0; } } } else { if(SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_A)) { if(!justPressedA) { //right mouse-button down buttonstate[2] = 1; justPressedA=1; } } else if(justPressedA) { //right mouse-button up buttonstate[2] = 0; justPressedA=0; } //(B) button if(SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_B)) { if(!justPressedB) { //left mouse-button down buttonstate[0] = 1; justPressedB=1; } } else if(justPressedB) { //left mouse-button up buttonstate[0] = 0; justPressedB=0; } if(SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_Y)) { if(!justPressedY) { //SPACE uae4all_keystate[AK_SPC] = 1; record_key(AK_SPC << 1); justPressedY=1; } } else if(justPressedY) { //SPACE uae4all_keystate[AK_SPC] = 0; record_key((AK_SPC << 1) | 1); justPressedY=0; } if (SDL_JoystickGetAxis(uae4all_joy0, 0) < 0) { if(!justMovedLeft) { //left ALT uae4all_keystate[0x64] = 1; record_key(0x64 << 1); justMovedLeft=1; } } else if(justMovedLeft) { //left ALT uae4all_keystate[0x64] = 0; record_key((0x64 << 1) | 1); justMovedLeft=0; } if (SDL_JoystickGetAxis(uae4all_joy0, 0) > 0) { if(!justMovedRight) { //left ALT uae4all_keystate[0x64] = 1; record_key(0x64 << 1); justMovedRight=1; } } else if(justMovedRight) { //left ALT uae4all_keystate[0x64] = 0; record_key((0x64 << 1) | 1); justMovedRight=0; } } if(!mainMenu_customControls && SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_R)) { //R+dpad = arrow keys in joystick mode //dpad up if (SDL_JoystickGetAxis(uae4all_joy0, 1) < 0) { if(!justMovedUp) { //arrow up uae4all_keystate[0x4C] = 1; record_key(0x4C << 1); justMovedUp=1; } } else if(justMovedUp) { //arrow up uae4all_keystate[0x4C] = 0; record_key((0x4C << 1) | 1); justMovedUp=0; } //dpad down if (SDL_JoystickGetAxis(uae4all_joy0, 1) > 0) { if(!justMovedDown) { //arrow down uae4all_keystate[0x4D] = 1; record_key(0x4D << 1); justMovedDown=1; } } else if(justMovedDown) { //arrow down uae4all_keystate[0x4D] = 0; record_key((0x4D << 1) | 1); justMovedDown=0; } //dpad left if (SDL_JoystickGetAxis(uae4all_joy0, 0) < 0) { if(!justMovedLeft) { //arrow left uae4all_keystate[0x4F] = 1; record_key(0x4F << 1); justMovedLeft=1; } } else if(justMovedLeft) { //arrow left uae4all_keystate[0x4F] = 0; record_key((0x4F << 1) | 1); justMovedLeft=0; } //dpad right if (SDL_JoystickGetAxis(uae4all_joy0, 0) > 0) { if(!justMovedRight) { //arrow right uae4all_keystate[0x4E] = 1; record_key(0x4E << 1); justMovedRight=1; } } else if(justMovedRight) { //arrow right uae4all_keystate[0x4E] = 0; record_key((0x4E << 1) | 1); justMovedRight=0; } } //L+D: show/hide status ln if(SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_L) && keystate[SDLK_d]) { keystate[SDLK_d]=0; mainMenu_showStatus = !mainMenu_showStatus; } } //L+K: virtual keyboard if (SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_L) && keystate[SDLK_k]) { if(!justLK) { vkbd_mode = !vkbd_mode; justLK=1; } } else if(justLK) justLK=0; #ifndef CYCLONE if(SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_L) && keystate[SDLK_s]) { keystate[SDLK_s]=0; savestate_state = STATE_DOSAVE; } if(SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_L) && keystate[SDLK_l]) { extern char *savestate_filename; FILE *f=fopen(savestate_filename, "rb"); keystate[SDLK_l]=0; if(f) { fclose(f); savestate_state = STATE_DORESTORE; } else gui_set_message("Failed: Savestate not found", 100); } #endif //if(SDL_JoystickGetButton(uae4all_joy0, GP2X_BUTTON_L) && keystate[SDLK_1]) //{ // resChange = 1; // gfxHeight = 256; // prSDLScreen = SDL_SetVideoMode(320, 256, 16, VIDEO_FLAGS); // system("export SDL_OMAP_LAYER_SIZE=800x480"); //} #endif if (vkbd_key) { if (vkbd_keysave==-1234567) { SDL_keysym ks; ks.sym=vkbd_key; vkbd_keysave=keycode2amiga(&ks); if (vkbd_keysave >= 0) { if (!uae4all_keystate[vkbd_keysave]) { uae4all_keystate[vkbd_keysave]=1; record_key(vkbd_keysave<<1); } } } } else if (vkbd_keysave!=-1234567) { if (vkbd_keysave >= 0) { uae4all_keystate[vkbd_keysave]=0; record_key((vkbd_keysave << 1) | 1); } vkbd_keysave=-1234567; } }
void Paddle::moveTo(GLfloat x, GLfloat y) { moveVertical(y - _topLeftCorner.getY()); moveHorizontal(x - _topLeftCorner.getX()); }
void update(float elapsed) { moveVertical(_verticalSpeed * elapsed); }