diff options
Diffstat (limited to 'games/transmission/screens/screens.h')
| -rw-r--r-- | games/transmission/screens/screens.h | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/games/transmission/screens/screens.h b/games/transmission/screens/screens.h new file mode 100644 index 00000000..27560d8b --- /dev/null +++ b/games/transmission/screens/screens.h @@ -0,0 +1,143 @@ +/********************************************************************************************** +* +* raylib - transmission mission +* +* Screens Functions Declarations (Init, Update, Draw, Unload) +* +* Copyright (c) 2014-2018 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. +* +**********************************************************************************************/ + +#ifndef SCREENS_H +#define SCREENS_H + +#define MAX_CODING_WORDS 12 +#define MAX_MISSION_WORDS 8 + +//---------------------------------------------------------------------------------- +// Types and Structures Definition +//---------------------------------------------------------------------------------- +typedef enum GameScreen { LOGO = 0, TITLE, MISSION, GAMEPLAY, ENDING } GameScreen; + +// Words to be coded or coding words +typedef struct Word { + int id; + Rectangle rec; + Rectangle iniRec; + bool hover; + bool picked; + char text[32]; // text +} Word; + +// Mission information +typedef struct Mission { + int id; + char brief[512]; // Mission briefing + char key[32]; // Mission keyword + char msg[256]; // Message to be coded + int wordsCount; // Number of words to coded + int sols[10]; // Solution code, depends on wordsCount +} Mission; + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +GameScreen currentScreen; + +Music music; +Sound fxButton; + +//Mission *missions; + +// UI BUTTON +Rectangle recButton; +float fadeButton; +Color colorButton; +Texture2D texButton; +Vector2 textPositionButton; +int fontSizeButton; +Color textColorButton; + +int currentMission; +int totalMissions; + +SpriteFont fontMission; + +Word messageWords[MAX_MISSION_WORDS]; + +#ifdef __cplusplus +extern "C" { // Prevents name mangling of functions +#endif + +//---------------------------------------------------------------------------------- +// Transmission Functions Declaration +//---------------------------------------------------------------------------------- +bool IsButtonPressed(); +void DrawButton(const char *text); +Mission *LoadMissions(const char *fileName); + +//---------------------------------------------------------------------------------- +// Logo Screen Functions Declaration +//---------------------------------------------------------------------------------- +void InitLogoScreen(void); +void UpdateLogoScreen(void); +void DrawLogoScreen(void); +void UnloadLogoScreen(void); +int FinishLogoScreen(void); + +//---------------------------------------------------------------------------------- +// Title Screen Functions Declaration +//---------------------------------------------------------------------------------- +void InitTitleScreen(void); +void UpdateTitleScreen(void); +void DrawTitleScreen(void); +void UnloadTitleScreen(void); +int FinishTitleScreen(void); + +//---------------------------------------------------------------------------------- +// Mission Screen Functions Declaration +//---------------------------------------------------------------------------------- +void InitMissionScreen(void); +void UpdateMissionScreen(void); +void DrawMissionScreen(void); +void UnloadMissionScreen(void); +int FinishMissionScreen(void); + +//---------------------------------------------------------------------------------- +// Gameplay Screen Functions Declaration +//---------------------------------------------------------------------------------- +void InitGameplayScreen(void); +void UpdateGameplayScreen(void); +void DrawGameplayScreen(void); +void UnloadGameplayScreen(void); +int FinishGameplayScreen(void); + +//---------------------------------------------------------------------------------- +// Ending Screen Functions Declaration +//---------------------------------------------------------------------------------- +void InitEndingScreen(void); +void UpdateEndingScreen(void); +void DrawEndingScreen(void); +void UnloadEndingScreen(void); +int FinishEndingScreen(void); + +#ifdef __cplusplus +} +#endif + +#endif // SCREENS_H
\ No newline at end of file |
