aboutsummaryrefslogtreecommitdiff
path: root/src/gameScreen.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gameScreen.c')
-rw-r--r--src/gameScreen.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gameScreen.c b/src/gameScreen.c
index 609f145..d35a05d 100644
--- a/src/gameScreen.c
+++ b/src/gameScreen.c
@@ -1,6 +1,7 @@
#include "gameScreen.h"
#include "game.h"
#include "world.h"
+#include "entity.h"
#include "bullets.h"
#include "assets.h"
#include "killLog.h"
@@ -42,6 +43,7 @@ void initGameScreen(Game * game, GameScreen * gameScreen) {
gameScreen->gameOver = false;
gameScreen->mainCamera = THIRD_PERSON_CAMERA;
gameScreen->levelComplete = false;
+ gameScreen->healthAtLevelEnd = ENTITY_MAX_HEALTH;
// Gyroscope indeed
initGyroscope(&gameScreen->gyroscope);
@@ -238,6 +240,7 @@ void gameScreenHandleLevels(Game * game, GameScreen * gameScreen) {
if (GetTime() - gameScreen->timeAtLevelComplete >= GAME_SCREEN_NEXT_LEVEL_DELAY) {
gameScreen->levelComplete = false;
startLevel(game, &game->levels, gameScreen->lastLevel + 1);
+ getEntityFromWorld(game->world, 0)->health = gameScreen->healthAtLevelEnd;
}
return;
@@ -248,6 +251,7 @@ void gameScreenHandleLevels(Game * game, GameScreen * gameScreen) {
// This fucker been completed.
if (complete) {
gameScreen->lastLevel = game->levels.currentLevel;
+ gameScreen->healthAtLevelEnd = getEntityFromWorld(game->world, 0)->health;
endLevel(game, &game->levels);
gameScreen->levelComplete = true;
gameScreen->timeAtLevelComplete = GetTime();