diff --git a/build/BeagleRescue b/build/BeagleRescue index 4f34e47..d6c45b0 100755 Binary files a/build/BeagleRescue and b/build/BeagleRescue differ diff --git a/src/ecs/KeyboardController.h b/src/ecs/KeyboardController.h index 0123271..338c3bc 100644 --- a/src/ecs/KeyboardController.h +++ b/src/ecs/KeyboardController.h @@ -16,7 +16,8 @@ class KeyboardController : public Component { public: - TransformComponent *transform; +// bool keyIsAlreadyPressed[]; + TransformComponent *transform; SpriteComponent *sprite; Game *game; @@ -52,7 +53,10 @@ public: sprite->spriteFlip = SDL_FLIP_HORIZONTAL; break; case SDLK_k: -// game->printDebug(""); + if (!Game::debugCollisionBoxes) + { Game::debugCollisionBoxes = true; } + else + {Game::debugCollisionBoxes = false; } break; case SDLK_j: if (Mix_PlayChannel(-1, Game::assets->GetSoundClip("bwoop"),0) == 0) @@ -63,12 +67,17 @@ public: sprite->Play("Jump"); transform->velocity.y = -2; break; + case SDLK_u: + Game::gsm->AdvanceState(); + break; + case SDLK_i: + Game::gsm->GameOver(); + break; default: break; } } - - if (Game::event.type == SDL_KEYUP) + else if (Game::event.type == SDL_KEYUP) { switch (Game::event.key.keysym.sym) { @@ -98,11 +107,6 @@ public: } break; case SDLK_k: - SDL_Delay(100); - if (!Game::debugCollisionBoxes) - { Game::debugCollisionBoxes = true; } - else - {Game::debugCollisionBoxes = false; } break; case SDLK_j: transform->velocity.y = 0; @@ -110,11 +114,8 @@ public: Game::gravityOnPlayer = true; break; case SDLK_u: -// Advance the GSM state via the u key - Game::gsm->AdvanceState(); break; case SDLK_i: - Game::gsm->GameOver(); break; case SDLK_ESCAPE: // exit the game when Escape pressed Game::isRunning = false; @@ -124,7 +125,6 @@ public: } } } - }; diff --git a/src/game/Game.cpp b/src/game/Game.cpp index 1d1e8ea..7599e96 100644 --- a/src/game/Game.cpp +++ b/src/game/Game.cpp @@ -172,11 +172,11 @@ void Game::handleEvents() SDL_PollEvent(&event); switch (event.type) { - case SDL_QUIT: - isRunning = false; - break; - default: - break; + case SDL_QUIT: + isRunning = false; + break; + default: + break; } } @@ -274,36 +274,19 @@ void Game::render() { p->draw(); } - - for (auto& guiElement : gui) - { - guiElement->draw(); - } - for (auto& letter : uiText) - { - letter->draw(); - } -// Vector2D origPt; -// Vector2D destPt; -// origPt.Zero(); -// destPt.x = 320.0*gScale; -// destPt.y = 240.0*gScale; -// drawLine(origPt,destPt,255,0,0); -// Vector2D pt1, pt2, pt3, pt4; -// pt1.x = 80.0*gScale; -// pt1.y = 80.0*gScale; -// pt2.x = 120.0*gScale; -// pt2.y = 80.0*gScale; -// pt3.x = 80.0*gScale; -// pt3.y = 120.0*gScale; -// pt4.x = 120.0*gScale; -// pt4.y = 120.0*gScale; -// Draw box with colors -// drawLine(pt1,pt2,0,0,255); -// drawLine(pt1,pt3,0,255,0); -// drawLine(pt2,pt4,255,255,0); -// drawLine(pt3,pt4,255,0,0); - SDL_RenderPresent(renderer); + if (gsm->currentState==GameStateManager::ST_TITLESCREEN){ + for (auto& guiElement : gui) + { + guiElement->draw(); + } + for (auto& letter : uiText) + { + letter->draw(); + } + } + + + SDL_RenderPresent(renderer); } void Game::clean()