void EditorLevelChoice::ProcessEvents(SDL_Event const & event) { if (event.type == SDL_QUIT) { SetDone(); } if (event.type == SDL_KEYDOWN) { SDLKey key = event.key.keysym.sym; if (key == SDLK_ESCAPE) { SetNextAppState(AppStatePtr(new MainMenu)); SetDone(); } else if (key == SDLK_LEFT) { } else if (key == SDLK_RIGHT) { } else if (key == SDLK_UP) { m_level_list->SelectPrev(); } else if (key == SDLK_DOWN) { m_level_list->SelectNext(); } else if (key == SDLK_RETURN && m_level_list->HasSelection()) { if (m_level_list->SelectedId() == 0) { /* * TODO: Before we open the editor, we should ask for level's name. */ std::string level_name = "new"; EditLevel(level_name); } else { EditLevel(m_levels.at(m_level_list->SelectedId())); } } } }
void EditorLevelChoice::EditLevel(std::string level_name) { std::cout << "Editing level: " << level_name << std::endl; LevelPtr level(new Level); level->LoadFromFile("data/" + level_name + ".lvl"); level->LoadEntitiesFromFile("data/" + level_name + ".ents"); AppStatePtr editorState(new Editor(level)); SetNextAppState(editorState); SetDone(); }
void TimepixProducer::OnTerminate() { DEVID devId = pixelmanCtrl->mpxDevId[pixelmanCtrl->mpxCurrSel].deviceId; pixelmanCtrl->mpxCtrlAbortOperation(devId); pixelmanCtrl->m_commHistRunCtrl.AddString(_T("Terminated (I'll be back)")); //std::cout << "Terminate (press enter)" << std::endl; SetDone( true ); PushCommand( TERMINATE ); }
void HistoryEventRotateCharacter::Run() { Animation* animationDefault = CharacterAnimation::getInstance()->getAnimationDefault(_CharacterToRotate->getCurrentPlayerInfo(), _DirectionToRotate); _CharacterToRotate->stopAllActions(); _CharacterToRotate->setAnchorPoint(Vec2(0.5f, 0.13f)); _CharacterToRotate->runAction(Animate::create(animationDefault)); _CharacterToRotate->setCurrentDirectionToShow(_DirectionToRotate); _CharacterToRotate->setAttackPowerToDisplay(_AttackPowerToShow); SetDone(true); }
void AudioRecorder::Stop() { SetDone(true); StopCapture(); if (m_hThreadCapture != NULL) { CloseHandle(m_hThreadCapture); m_hThreadCapture = NULL; } }
void* muThread_URLGetter::Entry() { try { // Get info server url GetInfoServerURL(); // See which versions are available DownloadVersionInfo(); // Finished SetDone(Updater_Done, wxT("Finished searching for latest version.")); } catch( const muException& e ) { SetDone(Updater_Fail, wxT("Exception: %s"), e.What().c_str()); } catch(...) { SetDone(Updater_Fail, wxT("Unknown Exception!")); } return NULL; }
virtual status_t Execute() { if (!fChannel) { SetDone(true); return B_NO_INIT; } RequestChannel requestChannel(fChannel); // create the server info request ServerInfoRequest request; request.serverInfo = fServerInfo; // send the request status_t error = requestChannel.SendRequest(&request); if (error != B_OK) { ERROR("ServerInfoSender: ERROR: Failed to send request: %s\n", strerror(error)); } SetDone(true); return B_OK; }
void S3FileRequest::CompletionFailure(const char* failureStr) { if (IsDone()) { // We've already failed/ended, probably we're getting an outstanding async request result back which most likely failed // due to our canceling return; } if (failureStr) { m_failureString = failureStr; } SetDone(); }
void S3FileRequest::Cancel() { if (IsDone()) { // Nothing to do return; } // Do the implementation specific action necessary for cancelling DoCancelAction(); // TODO figure out if we need to notify S3 about this or just bail on our end m_cancelled = true; SetDone(); }
void StateGameMode::InitState(ALLEGRO_DISPLAY *display, Settings *settings, Map *currentMap, ImageLoader *imageLoader){ SetImageLoader(imageLoader); SetDisplay(display); SetSettings(settings); SetId(EnumDLL::STATES::EDITORMODE); SetEventQueue(NULL); SetRedraw(true); SetDone(false); SetRunning(true); SetKeyPressReturnVal(EnumDLL::STATES::DEFAULT); SetFont(al_load_font("arial.ttf", 20, 0)); SetTimer(al_create_timer(1.0/60)); SetEventQueue(al_create_event_queue()); SetStateDirection(EnumDLL::STATEDIRECTION::NA); al_register_event_source(GetEventQueue(), al_get_keyboard_event_source()); al_register_event_source(GetEventQueue(), al_get_mouse_event_source()); al_register_event_source(GetEventQueue(), al_get_display_event_source(GetDisplay())); al_register_event_source(GetEventQueue(), al_get_timer_event_source(GetTimer())); SetMouseCursorPos(0,0); SetRightMousePos(0,0); SetRightMouseDown(false); SetLeftMouseDown(false); SetPlayerSelected(false); SetMap(currentMap); player1_ = new Player(GetSettings(),GetMap()); player1_->SetGravityY(-9.8); for(int i = 0; i < GetImageLoader()->GetImageSetDictionary().size(); i++) { if(GetImageLoader()->GetImageSetDictionary()[i]->GetImageSetId() == EnumDLL::IMAGESETS::PLAYERIMAGESET) { player1_->SetObjectImageColor(GetImageLoader()->GetImageSetDictionary()[i]->GetImageDictionary()[0]); } } SetChosenColor(al_map_rgb_f(1,1,1)); al_start_timer(GetTimer()); }
void Menu::Input() { SDL_Event event; while( SDL_PollEvent( &event ) ) { //////////// Mouse VerifyMouseOverButtons(event.button.x, event.button.y); switch( event.type ){ case SDL_MOUSEBUTTONDOWN: switch( event.button.state ){ case SDL_PRESSED: VerifyPressedButtons(event.button.x, event.button.y); break; default: break; } break; //////////// Teclado case SDL_KEYDOWN: switch( event.key.keysym.sym ){ case SDLK_1: ListManager::GetListManager()->GetMySfxList()->GetNode(SWORDSFX)->GetNodeData()->PlaySfx(); break; case SDLK_2: if( Mix_PlayingMusic() == 1 && Mix_PausedMusic() == 0 ) ListManager::GetListManager()->GetMyMusicList()->GetNode(MENUMUSIC)->GetNodeData()->PauseMusic(); else ListManager::GetListManager()->GetMyMusicList()->GetNode(MENUMUSIC)->GetNodeData()->PlayMusic(); break; default: break; } break; //////////// Botão na janela case SDL_QUIT: SetDone(1); break; } } }
void Creditos::Input() { SDL_Event event; while( SDL_PollEvent( &event ) ) { switch( event.type ) { case SDL_MOUSEBUTTONDOWN: switch( event.button.state ) { case SDL_PRESSED: VerifyButtons(event.button.x, event.button.y); break; default: break; } break; case SDL_QUIT: SetDone(1); break; } } }
bool AudioRecorder::Start() { Clear(); if (!StartCapture()) return false; SetDone(false); m_hThreadCapture = (HANDLE)::_beginthreadex(NULL, 0, &CaptureTheadProc, this, 0, NULL); if (m_hThreadCapture == NULL) return false; //HANDLE arWaits[1] = { m_hThreadCapture }; //DWORD dwWaitResult = WaitForMultipleObjects(sizeof(arWaits) / sizeof(arWaits[0]), arWaits, FALSE, INFINITE); //if (dwWaitResult != WAIT_OBJECT_0) //{ // StopRecord(); // return false; //} return true; }
void StateEditorMode::InitState(ALLEGRO_DISPLAY *display, Settings *settings, Map *currentMap, ImageLoader *imageLoader){ SetImageLoader(imageLoader); SetDisplay(display); SetSettings(settings); SetId(EnumDLL::STATES::EDITORMODE); SetEventQueue(NULL); SetRedraw(true); SetDone(false); SetRunning(true); SetKeyPressReturnVal(EnumDLL::STATES::DEFAULT); SetFont(al_load_font("arial.ttf", 20, 0)); SetTimer(al_create_timer(1.0/60)); SetEventQueue(al_create_event_queue()); SetStateDirection(EnumDLL::STATEDIRECTION::NA); al_register_event_source(GetEventQueue(), al_get_keyboard_event_source()); al_register_event_source(GetEventQueue(), al_get_mouse_event_source()); al_register_event_source(GetEventQueue(), al_get_display_event_source(GetDisplay())); al_register_event_source(GetEventQueue(), al_get_timer_event_source(GetTimer())); SetMouseCursorPos(0,0); SetRightMousePos(0,0); SetRightMouseDown(false); SetLeftMouseDown(false); SetPlayerSelected(false); SetMap(currentMap); editorOverLayController_ = new EditorOverLayController(settings, imageLoader); SetChosenColor(al_map_rgb_f(1,1,1)); al_start_timer(GetTimer()); }
Creditos::Creditos(): Scene(STATE_CREDITS) { SetDone(0); }
// // Input // void Game::Input() { static int mouseMovX, pickupId; static float movSpeed; static bool wasPickup = false, needAKey = false; float LX, LY; static Uint32 lNeedKeyMsg = SDL_GetTicks(); int i; movSpeed = 2.0f; LX = framework->GetAxisAWPositive(0, JOY_AXIS_LX); LY = framework->GetAxisAWPositive(0, JOY_AXIS_LY); if(framework->GetJButton(0, JOY_BTTN_B)) { if(framework->JButtonState(0, JOY_BTTN_B)==1) player->SetWeapon(0); } if(framework->KeyPressed(SDLK_1, true)) player->SetWeapon(1); if(framework->KeyPressed(SDLK_2, true)) player->SetWeapon(2); if(framework->GetJButton(0, JOY_BTTN_BACK)||framework->KeyPressed(SDLK_ESCAPE)) { if(framework->JButtonState(0, JOY_BTTN_BACK)==1||framework->KeyPressed(SDLK_ESCAPE)) showExitConfirm = !showExitConfirm; else if(framework->JButtonState(0, JOY_BTTN_BACK)==0) showExitConfirm = false; } if(showExitConfirm) { if(framework->KeyPressed(SDLK_y)||framework->GetJButton(0, JOY_BTTN_Y)) SetDone(true); else if(framework->KeyPressed(SDLK_n)||framework->GetJButton(0, JOY_BTTN_B)) showExitConfirm = false; return; } if(framework->KeyPressed(SDLK_F1, true)) { int i; char shotFilename[MAX_STR_LENGTH]; for(i=0; i<MAX_SCREENSHOTS; i++) { sprintf(shotFilename, "screenshots/shot%d.bmp", i+1); if(!framework->FileExists(shotFilename)) { SDL_SaveBMP(framework->GetScreen(), shotFilename); break; } } } if(framework->KeyPressed(SDLK_LSHIFT, false)||framework->GetJButton(0, JOY_BTTN_LB)) movSpeed *= 2.0f, LX *= 2.0f, LY *= 2.0f; if(framework->KeyPressed(SDLK_LEFT, false)&&!framework->KeyPressed(SDLK_LALT, false)) raycaster->Rotate(60); if(framework->KeyPressed(SDLK_RIGHT, false)&&!framework->KeyPressed(SDLK_LALT, false)) raycaster->Rotate(-60); if(framework->GetAxis(0, JOY_AXIS_RX)) raycaster->Rotate(framework->GetAxis(0, JOY_AXIS_RX)/200*-1.0); if(framework->KeyPressed(SDLK_UP, false) || framework->KeyPressed(SDLK_w, false)) raycaster->MoveForward(movSpeed, &wasPickup, &pickupId); if(framework->GetAxis(0, JOY_AXIS_LY)<=-8000) raycaster->MoveForward(LY, &wasPickup, &pickupId); if(framework->GetHatCentered(0) == true && framework->GetHatWhich(0, 0) == SDL_HAT_UP||framework->GetHatCentered(0) == true && framework->GetHatWhich(0, 0)==SDL_HAT_LEFTUP||framework->GetHatCentered(0) == true && framework->GetHatWhich(0, 0)==SDL_HAT_RIGHTUP) raycaster->MoveForward(movSpeed, &wasPickup, &pickupId); REACT_ON_PICKING(); if(framework->KeyPressed(SDLK_DOWN, false) || framework->KeyPressed(SDLK_s, false)) raycaster->MoveBackward(movSpeed, &wasPickup, &pickupId); if(framework->GetHatCentered(0) == true && framework->GetHatWhich(0, 0) == SDL_HAT_DOWN||framework->GetHatCentered(0) == true && framework->GetHatWhich(0, 0)==SDL_HAT_LEFTDOWN||framework->GetHatCentered(0) == true && framework->GetHatWhich(0, 0)==SDL_HAT_RIGHTDOWN) raycaster->MoveBackward(movSpeed, &wasPickup, &pickupId); if(framework->GetAxis(0, JOY_AXIS_LY)>=8000) raycaster->MoveBackward(LY, &wasPickup, &pickupId); REACT_ON_PICKING(); if(framework->KeyPressed(SDLK_a, false)||framework->KeyPressed(SDLK_LEFT, false)&&framework->KeyPressed(SDLK_LALT, false)) raycaster->StepLeft(movSpeed / 2.0, &wasPickup, &pickupId); if(framework->GetHatCentered(0) == true && framework->GetHatWhich(0, 0) == SDL_HAT_LEFT||framework->GetHatCentered(0) == true && framework->GetHatWhich(0, 0) == SDL_HAT_LEFTUP||framework->GetHatCentered(0) == true && framework->GetHatWhich(0, 0)==SDL_HAT_LEFTDOWN) raycaster->StepLeft(movSpeed / 2.0f, &wasPickup, &pickupId); if(framework->GetAxis(0, JOY_AXIS_LX)<=-8000) raycaster->StepLeft(LX / 2.0f, &wasPickup, &pickupId); REACT_ON_PICKING(); if(framework->KeyPressed(SDLK_d, false)||framework->KeyPressed(SDLK_RIGHT, false)&&framework->KeyPressed(SDLK_LALT, false)) raycaster->StepRight(movSpeed / 2.0f, &wasPickup, &pickupId); if(framework->GetHatCentered(0) == true && framework->GetHatWhich(0, 0) == SDL_HAT_RIGHT||framework->GetHatCentered(0) == true && framework->GetHatWhich(0, 0)==SDL_HAT_RIGHTUP||framework->GetHatCentered(0) == true && framework->GetHatWhich(0, 0)==SDL_HAT_RIGHTDOWN) raycaster->StepRight(movSpeed / 2.0f, &wasPickup, &pickupId); if(framework->GetAxis(0, JOY_AXIS_LX)>=8000) raycaster->StepRight(LX / 2.0f, &wasPickup, &pickupId); REACT_ON_PICKING(); needAKey = false; if(framework->KeyPressed(SDLK_SPACE, false)||framework->GetJButton(0, JOY_BTTN_X)) raycaster->OpenDoor(player->HasKey(), &needAKey); if(needAKey && SDL_GetTicks() - lNeedKeyMsg > 2000) { AddMessage("You need a key to unlock this door!"); lNeedKeyMsg = SDL_GetTicks(); } if(framework->KeyPressed(SDLK_LCTRL, false) || framework->ButtonPressed(BUTTON_LEFT)||framework->GetJButton(0, JOY_BTTN_RB)) Shoot(); framework->GetMouseMovement(&mouseMovX, NULL); raycaster->Rotate((float)mouseMovX/10.0f*-1.0f*ROT_SPEED); }
void SimpleModal::SetExitCode(int Code) { m_ExitCode=Code; SetDone(); }
Menu::Menu(): Scene(STATE_MENU) { SetDone(0); }
void S3FileRequest::CompletionSuccess() { SetCompleted(); SetDone(); }
void CItem::DoSomeWork(DWORD ticks) { if (IsDone()) return; StartPacman(true); DriveVisualUpdateDuringWork(); DWORD start = GetTickCount(); if (GetType() == IT_DRIVE || GetType() == IT_DIRECTORY) { if (!IsReadJobDone()) { LONGLONG dirCount = 0; LONGLONG fileCount = 0; CList<FILEINFO, FILEINFO> files; CFileFindWDS finder; BOOL b = finder.FindFile(GetFindPattern()); while (b) { DriveVisualUpdateDuringWork(); b = finder.FindNextFile(); if (finder.IsDots()) continue; if (finder.IsDirectory()) { dirCount++; AddDirectory(finder); } else { fileCount++; FILEINFO fi; fi.name = finder.GetFileName(); fi.attributes = finder.GetAttributes(); // Retrieve file size fi.length = finder.GetCompressedLength(); finder.GetLastWriteTime(&fi.lastWriteTime); // (We don't use GetLastWriteTime(CTime&) here, because, if the file has // an invalid timestamp, that function would ASSERT and throw an Exception.) files.AddTail(fi); } } CItem *filesFolder = 0; if (dirCount > 0 && fileCount > 1) { filesFolder = new CItem(IT_FILESFOLDER, LoadString(IDS_FILES_ITEM)); filesFolder->SetReadJobDone(); AddChild(filesFolder); } else if (fileCount > 0) { filesFolder = this; } for (POSITION pos=files.GetHeadPosition(); pos != NULL; files.GetNext(pos)) { const FILEINFO& fi = files.GetAt(pos); filesFolder->AddFile(fi); } if (filesFolder != NULL) { filesFolder->UpwardAddFiles(fileCount); if (dirCount > 0 && fileCount > 1) filesFolder->SetDone(); } UpwardAddSubdirs(dirCount); SetReadJobDone(); AddTicksWorked(GetTickCount() - start); } if (GetType() == IT_DRIVE) UpdateFreeSpaceItem(); if (GetTickCount() - start > ticks) { StartPacman(false); return; } } if (GetType() == IT_DRIVE || GetType() == IT_DIRECTORY || GetType() == IT_MYCOMPUTER) { ASSERT(IsReadJobDone()); if (IsDone()) { StartPacman(false); return; } if (GetChildrenCount() == 0) { SetDone(); StartPacman(false); return; } DWORD startChildren = GetTickCount(); while (GetTickCount() - start < ticks) { DWORD minticks = UINT_MAX; CItem *minchild = NULL; for (int i=0; i < GetChildrenCount(); i++) { CItem *child = GetChild(i); if (child->IsDone()) continue; if (child->GetTicksWorked() < minticks) { minticks = child->GetTicksWorked(); minchild = child; } } if (minchild == NULL) { SetDone(); break; } DWORD tickssofar = GetTickCount() - start; if (ticks > tickssofar) minchild->DoSomeWork(ticks - tickssofar); } AddTicksWorked(GetTickCount() - startChildren); } else { SetDone(); } StartPacman(false); }
// Return: false if deleted bool CItem::StartRefresh() { ASSERT(GetType() != IT_FREESPACE); ASSERT(GetType() != IT_UNKNOWN); m_ticksWorked = 0; // Special case IT_MYCOMPUTER if (GetType() == IT_MYCOMPUTER) { ZeroMemory(&m_lastChange, sizeof(m_lastChange)); for (int i=0; i < GetChildrenCount(); i++) GetChild(i)->StartRefresh(); return true; } ASSERT(GetType() == IT_FILE || GetType() == IT_DRIVE || GetType() == IT_DIRECTORY || GetType() == IT_FILESFOLDER); bool wasExpanded = IsVisible() && IsExpanded(); int oldScrollPosition = 0; if (IsVisible()) oldScrollPosition = GetScrollPosition(); UncacheImage(); // Upward clear data UpdateLastChange(); UpwardSetUndone(); UpwardAddReadJobs(-GetReadJobs()); ASSERT(GetReadJobs() == 0); if (GetType() == IT_FILE) GetParent()->UpwardAddFiles(-1); else UpwardAddFiles(-GetFilesCount()); ASSERT(GetFilesCount() == 0); if (GetType() == IT_DIRECTORY || GetType() == IT_DRIVE) UpwardAddSubdirs(-GetSubdirsCount()); ASSERT(GetSubdirsCount() == 0); UpwardAddSize(-GetSize()); ASSERT(GetSize() == 0); RemoveAllChildren(); UpwardRecalcLastChange(); // Special case IT_FILESFOLDER if (GetType() == IT_FILESFOLDER) { CFileFindWDS finder; BOOL b = finder.FindFile(GetFindPattern()); while (b) { b = finder.FindNextFile(); if (finder.IsDirectory()) continue; FILEINFO fi; fi.name = finder.GetFileName(); fi.attributes = finder.GetAttributes(); // Retrieve file size fi.length = finder.GetCompressedLength(); finder.GetLastWriteTime(&fi.lastWriteTime); AddFile(fi); UpwardAddFiles(1); } SetDone(); if (wasExpanded) GetTreeListControl()->ExpandItem(this); return true; } ASSERT(GetType() == IT_FILE || GetType() == IT_DRIVE || GetType() == IT_DIRECTORY); // The item may have been deleted. bool deleted = false; if (GetType() == IT_DRIVE) deleted = !DriveExists(GetPath()); else if (GetType() == IT_FILE) deleted = !FileExists(GetPath()); else if (GetType() == IT_DIRECTORY) deleted = !FolderExists(GetPath()); if (deleted) { if (GetParent() == NULL) { GetDocument()->UnlinkRoot(); } else { GetParent()->UpwardRecalcLastChange(); GetParent()->RemoveChild(GetParent()->FindChildIndex(this)); // --> delete this } return false; } // Case IT_FILE if (GetType() == IT_FILE) { CFileFindWDS finder; BOOL b = finder.FindFile(GetPath()); if (b) { finder.FindNextFile(); if (!finder.IsDirectory()) { FILEINFO fi; fi.name = finder.GetFileName(); fi.attributes = finder.GetAttributes(); // Retrieve file size fi.length = finder.GetCompressedLength(); finder.GetLastWriteTime(&fi.lastWriteTime); SetLastChange(fi.lastWriteTime); UpwardAddSize(fi.length); UpwardUpdateLastChange(GetLastChange()); GetParent()->UpwardAddFiles(1); } } SetDone(); return true; } ASSERT(GetType() == IT_DRIVE || GetType() == IT_DIRECTORY); if (GetType() == IT_DIRECTORY && !IsRootItem() && GetApp()->IsMountPoint(GetPath()) && !GetOptions()->IsFollowMountPoints()) return true; if (GetType() == IT_DIRECTORY && !IsRootItem() && GetApp()->IsJunctionPoint(GetPath()) && !GetOptions()->IsFollowJunctionPoints()) return true; // Initiate re-read SetReadJobDone(false); // Re-create <free space> and <unknown> if (GetType() == IT_DRIVE) { if (GetDocument()->OptionShowFreeSpace()) CreateFreeSpaceItem(); if (GetDocument()->OptionShowUnknown()) CreateUnknownItem(); } DoSomeWork(0); if (wasExpanded) GetTreeListControl()->ExpandItem(this); if (IsVisible()) SetScrollPosition(oldScrollPosition); return true; }