summaryrefslogtreecommitdiffhomepage
path: root/games/transmission/screens/screen_mission.c
diff options
context:
space:
mode:
Diffstat (limited to 'games/transmission/screens/screen_mission.c')
-rw-r--r--games/transmission/screens/screen_mission.c291
1 files changed, 0 insertions, 291 deletions
diff --git a/games/transmission/screens/screen_mission.c b/games/transmission/screens/screen_mission.c
deleted file mode 100644
index 77777c73..00000000
--- a/games/transmission/screens/screen_mission.c
+++ /dev/null
@@ -1,291 +0,0 @@
-/**********************************************************************************************
-*
-* raylib - transmission mission
-*
-*
-* Copyright (c) 2014-2019 Ramon Santamaria (@raysan5)
-*
-* This software is provided "as-is", without any express or implied warranty. In no event
-* will the authors be held liable for any damages arising from the use of this software.
-*
-* Permission is granted to anyone to use this software for any purpose, including commercial
-* applications, and to alter it and redistribute it freely, subject to the following restrictions:
-*
-* 1. The origin of this software must not be misrepresented; you must not claim that you
-* wrote the original software. If you use this software in a product, an acknowledgment
-* in the product documentation would be appreciated but is not required.
-*
-* 2. Altered source versions must be plainly marked as such, and must not be misrepresented
-* as being the original software.
-*
-* 3. This notice may not be removed or altered from any source distribution.
-*
-**********************************************************************************************/
-
-#include "raylib.h"
-#include "screens.h"
-
-#include <string.h>
-#include <stdlib.h>
-
-#define MISSION_MAX_LENGTH 256
-#define KEYWORD_MAX_LENGTH 32
-#define MAX_LINE_CHAR 75
-
-//----------------------------------------------------------------------------------
-// Global Variables Definition (local to this module)
-//----------------------------------------------------------------------------------
-
-// Mission screen global variables
-static int framesCounter;
-static int finishScreen;
-
-static Texture2D texBackground;
-
-static Texture2D texBackline; //mission_backline
-static Rectangle sourceRecBackLine;
-static Rectangle destRecBackLine;
-static float fadeBackLine;
-
-static Vector2 numberPosition;
-static Color numberColor;
-
-//static char textMission[MISSION_MAX_LENGTH];
-static Vector2 missionPosition;
-static int missionSize;
-static Color missionColor;
-static int missionLenght;
-static bool missionMaxLength;
-static int missionSpeed;
-
-//static char textKeyword[KEYWORD_MAX_LENGTH];
-static Vector2 keywordPosition;
-static Color keywordColor;
-
-static int showMissionWaitFrames;
-static int showNumberWaitFrames;
-static int showKeywordWaitFrames;
-
-static bool startWritting;
-static bool writeMission;
-static bool writeNumber;
-static bool writeKeyword;
-static bool writeEnd;
-
-static bool writtingMission;
-
-static int blinkFrames;
-static bool blinkKeyWord = true;
-
-static bool showButton = false;
-
-static Mission *missions = NULL;
-
-static Sound fxTransmit;
-static Music musMission;
-
-//----------------------------------------------------------------------------------
-// Mission Screen Functions Definition
-//----------------------------------------------------------------------------------
-static void WriteMissionText();
-
-
-// Mission Screen Initialization logic
-void InitMissionScreen(void)
-{
- framesCounter = 0;
- finishScreen = 0;
-
- fadeButton = 0.80f;
-
- texBackground = LoadTexture("resources/textures/mission_background.png");
-
- texBackline = LoadTexture("resources/textures/mission_backline.png");
- sourceRecBackLine = (Rectangle){0,0,GetScreenWidth(), texBackline.height};
- destRecBackLine = (Rectangle){0,0,sourceRecBackLine.width, sourceRecBackLine.height};
- fadeBackLine = 0;
-
- fxTransmit = LoadSound("resources/audio/fx_message.ogg");
- musMission = LoadMusicStream("resources/audio/music_mission.ogg");
-
- PlayMusicStream(musMission);
-
- // Initialize missions
- missions = LoadMissions("resources/missions.txt");
-
- missionMaxLength = strlen(missions[currentMission].brief);
-
- // Insert line breaks every MAX_LINE_CHAR
- int currentLine = 1;
- int i = currentLine * MAX_LINE_CHAR;
-
- while (i < missionMaxLength)
- {
- if (missions[currentMission].brief[i] == ' ')
- {
- missions[currentMission].brief[i] = '\n';
- currentLine++;
- i = currentLine*MAX_LINE_CHAR;
- }
- else i++;
- }
-
- missionSize = 30;
- missionLenght = 0;
- missionSpeed = 1;
-
- numberColor = RAYWHITE;
- missionColor = LIGHTGRAY;
- keywordColor = (Color){198, 49, 60, 255}; //RED
-
- numberPosition = (Vector2){150, 185};
- missionPosition = (Vector2){numberPosition.x, numberPosition.y + 60};
- keywordPosition = (Vector2){missionPosition.x, missionPosition.y + MeasureTextEx(fontMission, missions[currentMission].brief, missionSize, 0).y + 60};
-
- startWritting = false;
- writeNumber = false;
- writeMission = false;
- writeKeyword = false;
- writeEnd = false;
-
- writtingMission = false;
-
- showNumberWaitFrames = 30;
- showMissionWaitFrames = 60;
- showKeywordWaitFrames = 60;
-
- blinkKeyWord = true;
- blinkFrames = 15;
-
- PlaySound(fxTransmit);
-}
-
-// Mission Screen Update logic
-void UpdateMissionScreen(void)
-{
- UpdateMusicStream(musMission);
-
- if (!writeEnd) WriteMissionText();
- else
- {
- framesCounter++;
-
- if ((framesCounter%blinkFrames) == 0)
- {
- framesCounter = 0;
- blinkKeyWord = !blinkKeyWord;
- }
- }
-
- if (showButton)
- {
- if (IsKeyPressed(KEY_ENTER) || IsButtonPressed())
- {
- if (!writeEnd)
- {
- writeEnd = true;
- writeKeyword = true;
- writeNumber = true;
- missionLenght = missionMaxLength;
- }
- else
- {
- finishScreen = true;
- showButton = false;
- }
- }
- }
-}
-
-// Mission Screen Draw logic
-void DrawMissionScreen(void)
-{
- // Draw MISSION screen here!
- DrawTexture(texBackground, 0,0, WHITE);
- DrawTexturePro(texBackline, sourceRecBackLine, destRecBackLine, (Vector2){0,0},0, Fade(WHITE, fadeBackLine));
-
- if (writeNumber) DrawTextEx(fontMission, FormatText("Filtración #%02i ", currentMission + 1), numberPosition, missionSize + 10, 0, numberColor);
- DrawTextEx(fontMission, TextSubtext(missions[currentMission].brief, 0, missionLenght), missionPosition, missionSize, 0, missionColor);
- if (writeKeyword && blinkKeyWord) DrawTextEx(fontMission, FormatText("Keyword: %s", missions[currentMission].key), keywordPosition, missionSize + 10, 0, keywordColor);
-
- if (showButton)
- {
- if (!writeEnd) DrawButton("saltar");
- else DrawButton("codificar");
- }
-}
-
-// Mission Screen Unload logic
-void UnloadMissionScreen(void)
-{
- // Unload MISSION screen variables here!
- UnloadTexture(texBackground);
- UnloadTexture(texBackline);
- UnloadSound(fxTransmit);
- UnloadMusicStream(musMission);
- free(missions);
-}
-
-// Mission Screen should finish?
-int FinishMissionScreen(void)
-{
- return finishScreen;
-}
-
-static void WriteMissionText()
-{
- if (!startWritting)
- {
- framesCounter++;
- if (framesCounter % 60 == 0)
- {
- framesCounter = 0;
- startWritting = true;
- }
- }
- else if (!writeNumber)
- {
- framesCounter++;
- fadeBackLine += 0.020f;
- if (framesCounter % showNumberWaitFrames == 0)
- {
- framesCounter = 0;
- writeNumber = true;
- showButton = true;
- }
- }
- else if (!writeMission)
- {
- framesCounter ++;
- if (framesCounter % showMissionWaitFrames == 0)
- {
- framesCounter = 0;
- writeMission = true;
- writtingMission = true;
- }
- }
- else if (writeMission && writtingMission)
- {
- framesCounter++;
- if (framesCounter % missionSpeed == 0)
- {
- framesCounter = 0;
- missionLenght++;
-
- if (missionLenght == missionMaxLength)
- {
- writtingMission = false;
- }
- }
- }
- else if (!writeKeyword)
- {
- framesCounter++;
- if (framesCounter % showKeywordWaitFrames == 0)
- {
- framesCounter = 0;
- writeKeyword = true;
- writeEnd = true;
- }
- }
-}