diff --git a/doc-assets/preview.png b/doc-assets/preview.png index 615d96d..06c6afc 100644 Binary files a/doc-assets/preview.png and b/doc-assets/preview.png differ diff --git a/doc-assets/preview1.png b/doc-assets/preview1.png index 7e936bc..44e65eb 100644 Binary files a/doc-assets/preview1.png and b/doc-assets/preview1.png differ diff --git a/doc-assets/preview2.png b/doc-assets/preview2.png index 193e0ad..2a95651 100644 Binary files a/doc-assets/preview2.png and b/doc-assets/preview2.png differ diff --git a/src/Gameplay.c b/src/Gameplay.c index 3457b9b..9f2a52a 100644 --- a/src/Gameplay.c +++ b/src/Gameplay.c @@ -30,11 +30,12 @@ Sound fxfeather = { 0 }; Sound fxboom = { 0 }; bool pause; bool DebugMode; +int ammo = 0; int fireworkAmount = 0; int GI_callcount = 0; //int trigMov; -int score = 0, bestscore = 0, finishfromGameplayScreen = 0, greenfeathers = 0; +int score = 0, bestscore = 0, finishfromGameplayScreen = 0, redfeathers = 0, greenfeathers = 0; Music Gameplaysong = { 0 }; @@ -49,12 +50,12 @@ void LoadGamplayScreen(void) feather_sprite = LoadTexture("assets/gfx/feather.png"); attack_sprite = LoadTexture("assets/gfx/attack.png"); firework_sprite = LoadTexture("assets/gfx/firework.png"); -// Gameplaysong = LoadMusicStream("assets/bgm/03-Boss.ogg"); + Gameplaysong = LoadMusicStream("assets/bgm/03-Boss.ogg"); } void InitGameplayScreen(void) { -// PlayMusicStream(Gameplaysong); + PlayMusicStream(Gameplaysong); finishfromGameplayScreen = 0; @@ -63,6 +64,7 @@ void InitGameplayScreen(void) globalTimer = 0; if (player.hp < 1) player.hp = 1; + //if (ammo < 60) ammo = 60; player.currentframe = 0; player.speed = 300.0f; @@ -142,7 +144,7 @@ void InitGameplayScreen(void) shoot[i].speed.x = 5000.f; shoot[i].speed.y = 0; shoot[i].active = false; - shoot[i].color = GREEN; + shoot[i].color = RED; } switch (level) { case LEVEL1: fireworkAmount = 100; break; @@ -180,7 +182,7 @@ void UpdateGameplayScreen(void) finishfromGameplayScreen = 3; } -// if (!mute) UpdateMusicStream(Gameplaysong); + if (!mute) UpdateMusicStream(Gameplaysong); if (!pause) { @@ -194,14 +196,17 @@ void UpdateGameplayScreen(void) if (player.currentframe != 1) player.currentframe = 2; } else player.speed = 300.0f; if (INPUT_FIRE_DOWN) { + // if (ammo > 0) { for (int i = 0; i < MAX_SHOOTS; i++) { if (!shoot[i].active) { + ammo++; shoot[i].hitbox.x = player.hitbox.x; shoot[i].hitbox.y = player.hitbox.y + player.hitbox.height/4; shoot[i].active = true; break; } } + // } } // Update sprite positions player.sprite_pos = (Vector2){ player.hitbox.x, player.hitbox.y }; @@ -233,9 +238,12 @@ void UpdateGameplayScreen(void) UpdateiFrameTimer(&player); // UpdateiFrameTimer(&enemy); greenfeathers = player.hp; + redfeathers = ammo; // Debug stuff if (IsKeyPressed(KEY_D)) DebugMode = !DebugMode; + if (IsKeyPressed(KEY_NINE)) ammo = 99; + if (IsKeyPressed(KEY_ZERO)) ammo = 0; if (IsKeyPressed(KEY_G)) finishfromGameplayScreen = 1; if (IsKeyPressed(KEY_Q)) finishfromGameplayScreen = 4; if (IsKeyPressed(KEY_EQUAL)) level++; @@ -256,7 +264,8 @@ void UpdateGameplayScreen(void) if (level == LEVEL3) { if ((int) globalTimer % 10 == 0) feather.active = true; } else { if ((int) globalTimer % 30 == 0) feather.active = true; } switch (feather.power) { - case 0: feather.color = RED; break; + case 0: feather.color = GREEN; break; + case 1: feather.color = RED; break; } if (feather.active) { if (((feather.hitbox.x + -feather_sprite.width) > GetScreenWidth() @@ -264,6 +273,7 @@ void UpdateGameplayScreen(void) if (CheckCollisionRecs(player.hitbox, feather.hitbox)) { switch (feather.power) { case 0: player.hp++; break; + case 1: ammo += 60; break; } if (!mute) PlaySoundMulti(fxfeather); ResetFeather(); @@ -341,8 +351,8 @@ void DrawGameplayScreen(void) case LEVEL2: DrawTexture(background, 0, 0, ORANGE); break; case LEVEL3: DrawTexture(background, 0, 0, RED); break; } + DrawFPS(10, 430); if (DebugMode) { - DrawFPS(10, 430); DrawRectangleLines(player.hitbox.x, player.hitbox.y, player.hitbox.width, player.hitbox.height, BLUE); DrawRectangleLines(feather.hitbox.x, feather.hitbox.y, feather.hitbox.width, feather.hitbox.height, WHITE); //DrawRectangleLines(enemy.hitbox.x, enemy.hitbox.y, enemy.hitbox.width, enemy.hitbox.height, BLACK); @@ -371,11 +381,13 @@ void DrawGameplayScreen(void) } // if (level == 2) DrawTextureRec(enemy_sprite, enemy.frameRec, enemy.sprite_pos, enemy.color); DrawTextureRec(player_sprite, player.frameRec, player.sprite_pos, player.color); - DrawTexture(feather_sprite, 0, 0, RED); - DrawText(TextFormat("= %i", player.hp), 30, 30, 30, RED); + DrawTexture(feather_sprite, 0, 0, GREEN); + DrawText(TextFormat("= %i", player.hp), 30, 30, 30, GREEN); + DrawTexture(feather_sprite, 80, 0, RED); + DrawText(TextFormat("= %i", ammo), 110, 30, 30, RED); // if (level == 2) DrawText(TextFormat("ENEMY HP: %i", enemy.hp), GetScreenWidth() - 380, 0, 20, RED); -// DrawText(TextFormat("FIREWORKS LEFT: %i", fireworkAmount), GetScreenWidth() - 240, 0, 20, GREEN); - if (score > 500000) DrawText(TextFormat("SCORE: %i", score), 10, 65, 30, (Color){ 222, 181, 0, 255 }); + DrawText(TextFormat("FIREWORKS LEFT: %i", fireworkAmount), GetScreenWidth() - 240, 0, 20, GREEN); + if (score >= 10000) DrawText(TextFormat("SCORE: %i", score), 10, 65, 30, (Color){ 222, 181, 0, 255 }); else DrawText(TextFormat("SCORE: %i", score), 10, 65, 30, BLUE); if (pause && (((int)pauseTimer/30)%2)) DrawTextEx(ZadoBold, "PAUSED", (Vector2){ 280, 160 }, 60, 2, WHITE); } diff --git a/src/LevelSel.c b/src/LevelSel.c index d045575..6f1507a 100644 --- a/src/LevelSel.c +++ b/src/LevelSel.c @@ -38,9 +38,11 @@ void DrawLevelSelScreen(void) { DrawTexture(background, 0, 0, GRAY); - DrawTexture(feather_sprite, 0, 0, RED); - DrawText(TextFormat("= %i", greenfeathers), 30, 30, 30, RED); - if (score > 500000) DrawText(TextFormat("SCORE: %i", score), 10, 65, 30, (Color){ 222, 181, 0, 255 }); + DrawTexture(feather_sprite, 0, 0, GREEN); + DrawText(TextFormat("= %i", greenfeathers), 30, 30, 30, GREEN); + DrawTexture(feather_sprite, 80, 0, RED); + DrawText(TextFormat("= %i", redfeathers), 110, 30, 30, RED); + if (score >= 10000) DrawText(TextFormat("SCORE: %i", score), 10, 65, 30, (Color){ 222, 181, 0, 255 }); else DrawText(TextFormat("SCORE: %i", score), 10, 65, 30, BLUE); if (levelSelected == 0) DrawText("1", 100, 220, 60, WHITE); diff --git a/src/Main.c b/src/Main.c index c3c7506..3b08431 100644 --- a/src/Main.c +++ b/src/Main.c @@ -97,8 +97,8 @@ static void update_transition(void) if (!transFadeOut) { transAlpha += GetFrameTime(); - if (transAlpha > 1) { - transAlpha = 1; + if (transAlpha > 0.76f) { + transAlpha = 0.75f; switch (transFromScreen) { case TITLE: UnloadTitleScreen(); break; @@ -129,7 +129,7 @@ static void update_transition(void) } else { transAlpha -= GetFrameTime(); - if (transAlpha < 0) { + if (transAlpha < -0.75f) { transAlpha = 0.0f; transFadeOut = false; onTransition = false; diff --git a/src/Stats.h b/src/Stats.h index 8521883..03393fd 100644 --- a/src/Stats.h +++ b/src/Stats.h @@ -11,5 +11,6 @@ extern int score; extern int greenfeathers; +extern int redfeathers; #endif