diff options
| author | raysan5 <raysan5@gmail.com> | 2014-09-18 19:00:30 +0200 |
|---|---|---|
| committer | raysan5 <raysan5@gmail.com> | 2014-09-18 19:00:30 +0200 |
| commit | 1ef1f3d7ea40992b507ed6969df465fabb383910 (patch) | |
| tree | 3585d630ff583f9a52ff1de9e169eb0f1ad29f54 /templates/advance_game/screens | |
| parent | 815f90974cede854883bb6ace76358840d23ef86 (diff) | |
| download | raylib-1ef1f3d7ea40992b507ed6969df465fabb383910.tar.gz raylib-1ef1f3d7ea40992b507ed6969df465fabb383910.zip | |
Multiple templates to start a game
Some basic to advance templates are provided to be use as base code for
new games
Diffstat (limited to 'templates/advance_game/screens')
| -rw-r--r-- | templates/advance_game/screens/screen_ending.c | 80 | ||||
| -rw-r--r-- | templates/advance_game/screens/screen_ending.o | bin | 0 -> 1622 bytes | |||
| -rw-r--r-- | templates/advance_game/screens/screen_gameplay.c | 80 | ||||
| -rw-r--r-- | templates/advance_game/screens/screen_gameplay.o | bin | 0 -> 1632 bytes | |||
| -rw-r--r-- | templates/advance_game/screens/screen_logo.c | 81 | ||||
| -rw-r--r-- | templates/advance_game/screens/screen_logo.o | bin | 0 -> 1362 bytes | |||
| -rw-r--r-- | templates/advance_game/screens/screen_options.c | 71 | ||||
| -rw-r--r-- | templates/advance_game/screens/screen_options.o | bin | 0 -> 1047 bytes | |||
| -rw-r--r-- | templates/advance_game/screens/screen_title.c | 81 | ||||
| -rw-r--r-- | templates/advance_game/screens/screen_title.o | bin | 0 -> 1617 bytes | |||
| -rw-r--r-- | templates/advance_game/screens/screens.h | 92 |
11 files changed, 485 insertions, 0 deletions
diff --git a/templates/advance_game/screens/screen_ending.c b/templates/advance_game/screens/screen_ending.c new file mode 100644 index 00000000..3d9f81a1 --- /dev/null +++ b/templates/advance_game/screens/screen_ending.c @@ -0,0 +1,80 @@ +/********************************************************************************************** +* +* raylib - Advance Game template +* +* Ending Screen Functions Definitions (Init, Update, Draw, Unload) +* +* Copyright (c) 2014 Ramon Santamaria (Ray San - raysan@raysanweb.com) +* +* 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" + +//---------------------------------------------------------------------------------- +// Global Variables Definition (local to this module) +//---------------------------------------------------------------------------------- + +// Ending screen global variables +static int framesCounter; +static int finishScreen; + +//---------------------------------------------------------------------------------- +// Ending Screen Functions Definition +//---------------------------------------------------------------------------------- + +// Ending Screen Initialization logic +void InitEndingScreen(void) +{ + // TODO: Initialize ENDING screen variables here! + framesCounter = 0; + finishScreen = 0; +} + +// Ending Screen Update logic +void UpdateEndingScreen(void) +{ + // TODO: Update ENDING screen variables here! + + // Press enter to return to TITLE screen + if (IsKeyPressed(KEY_ENTER)) + { + finishScreen = 1; + } +} + +// Ending Screen Draw logic +void DrawEndingScreen(void) +{ + // TODO: Draw ENDING screen here! + DrawRectangle(0, 0, GetScreenWidth(), GetScreenHeight(), BLUE); + DrawText("ENDING SCREEN", 20, 20, 40, DARKBLUE); + DrawText("PRESS ENTER to RETURN to TITLE SCREEN", 160, 220, 20, DARKBLUE); +} + +// Ending Screen Unload logic +void UnloadEndingScreen(void) +{ + // TODO: Unload ENDING screen variables here! +} + +// Ending Screen should finish? +int FinishEndingScreen(void) +{ + return finishScreen; +}
\ No newline at end of file diff --git a/templates/advance_game/screens/screen_ending.o b/templates/advance_game/screens/screen_ending.o Binary files differnew file mode 100644 index 00000000..5d819b16 --- /dev/null +++ b/templates/advance_game/screens/screen_ending.o diff --git a/templates/advance_game/screens/screen_gameplay.c b/templates/advance_game/screens/screen_gameplay.c new file mode 100644 index 00000000..307f2ea3 --- /dev/null +++ b/templates/advance_game/screens/screen_gameplay.c @@ -0,0 +1,80 @@ +/********************************************************************************************** +* +* raylib - Advance Game template +* +* Gameplay Screen Functions Definitions (Init, Update, Draw, Unload) +* +* Copyright (c) 2014 Ramon Santamaria (Ray San - raysan@raysanweb.com) +* +* 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" + +//---------------------------------------------------------------------------------- +// Global Variables Definition (local to this module) +//---------------------------------------------------------------------------------- + +// Gameplay screen global variables +static int framesCounter; +static int finishScreen; + +//---------------------------------------------------------------------------------- +// Gameplay Screen Functions Definition +//---------------------------------------------------------------------------------- + +// Gameplay Screen Initialization logic +void InitGameplayScreen(void) +{ + // TODO: Initialize GAMEPLAY screen variables here! + framesCounter = 0; + finishScreen = 0; +} + +// Gameplay Screen Update logic +void UpdateGameplayScreen(void) +{ + // TODO: Update GAMEPLAY screen variables here! + + // Press enter to change to ENDING screen + if (IsKeyPressed(KEY_ENTER)) + { + finishScreen = 1; + } +} + +// Gameplay Screen Draw logic +void DrawGameplayScreen(void) +{ + // TODO: Draw GAMEPLAY screen here! + DrawRectangle(0, 0, GetScreenWidth(), GetScreenHeight(), PURPLE); + DrawText("GAMEPLAY SCREEN", 20, 20, 40, MAROON); + DrawText("PRESS ENTER to JUMP to ENDING SCREEN", 170, 220, 20, MAROON); +} + +// Gameplay Screen Unload logic +void UnloadGameplayScreen(void) +{ + // TODO: Unload GAMEPLAY screen variables here! +} + +// Gameplay Screen should finish? +int FinishGameplayScreen(void) +{ + return finishScreen; +}
\ No newline at end of file diff --git a/templates/advance_game/screens/screen_gameplay.o b/templates/advance_game/screens/screen_gameplay.o Binary files differnew file mode 100644 index 00000000..b31cccb3 --- /dev/null +++ b/templates/advance_game/screens/screen_gameplay.o diff --git a/templates/advance_game/screens/screen_logo.c b/templates/advance_game/screens/screen_logo.c new file mode 100644 index 00000000..1cd42830 --- /dev/null +++ b/templates/advance_game/screens/screen_logo.c @@ -0,0 +1,81 @@ +/********************************************************************************************** +* +* raylib - Advance Game template +* +* Logo Screen Functions Definitions (Init, Update, Draw, Unload) +* +* Copyright (c) 2014 Ramon Santamaria (Ray San - raysan@raysanweb.com) +* +* 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" + +//---------------------------------------------------------------------------------- +// Global Variables Definition (local to this module) +//---------------------------------------------------------------------------------- + +// Logo screen global variables +static int framesCounter; +static int finishScreen; + +//---------------------------------------------------------------------------------- +// Logo Screen Functions Definition +//---------------------------------------------------------------------------------- + +// Logo Screen Initialization logic +void InitLogoScreen(void) +{ + // TODO: Initialize LOGO screen variables here! + framesCounter = 0; + finishScreen = 0; +} + +// Logo Screen Update logic +void UpdateLogoScreen(void) +{ + // TODO: Update LOGO screen variables here! + + framesCounter++; // Count frames + + // Wait for 2 seconds (120 frames) before jumping to TITLE screen + if (framesCounter > 120) + { + finishScreen = true; + } +} + +// Logo Screen Draw logic +void DrawLogoScreen(void) +{ + // TODO: Draw LOGO screen here! + DrawText("LOGO SCREEN", 20, 20, 40, LIGHTGRAY); + DrawText("WAIT for 2 SECONDS...", 290, 220, 20, GRAY); +} + +// Logo Screen Unload logic +void UnloadLogoScreen(void) +{ + // TODO: Unload LOGO screen variables here! +} + +// Logo Screen should finish? +int FinishLogoScreen(void) +{ + return finishScreen; +}
\ No newline at end of file diff --git a/templates/advance_game/screens/screen_logo.o b/templates/advance_game/screens/screen_logo.o Binary files differnew file mode 100644 index 00000000..10a99746 --- /dev/null +++ b/templates/advance_game/screens/screen_logo.o diff --git a/templates/advance_game/screens/screen_options.c b/templates/advance_game/screens/screen_options.c new file mode 100644 index 00000000..87d32264 --- /dev/null +++ b/templates/advance_game/screens/screen_options.c @@ -0,0 +1,71 @@ +/********************************************************************************************** +* +* raylib - Advance Game template +* +* Options Screen Functions Definitions (Init, Update, Draw, Unload) +* +* Copyright (c) 2014 Ramon Santamaria (Ray San - raysan@raysanweb.com) +* +* 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" + +//---------------------------------------------------------------------------------- +// Global Variables Definition (local to this module) +//---------------------------------------------------------------------------------- + +// Options screen global variables +static int framesCounter; +static int finishScreen; + +//---------------------------------------------------------------------------------- +// Options Screen Functions Definition +//---------------------------------------------------------------------------------- + +// Options Screen Initialization logic +void InitOptionsScreen(void) +{ + // TODO: Initialize OPTIONS screen variables here! + framesCounter = 0; + finishScreen = 0; +} + +// Options Screen Update logic +void UpdateOptionsScreen(void) +{ + // TODO: Update OPTIONS screen variables here! +} + +// Options Screen Draw logic +void DrawOptionsScreen(void) +{ + // TODO: Draw OPTIONS screen here! +} + +// Options Screen Unload logic +void UnloadOptionsScreen(void) +{ + // TODO: Unload OPTIONS screen variables here! +} + +// Options Screen should finish? +int FinishOptionsScreen(void) +{ + return finishScreen; +}
\ No newline at end of file diff --git a/templates/advance_game/screens/screen_options.o b/templates/advance_game/screens/screen_options.o Binary files differnew file mode 100644 index 00000000..17153fd9 --- /dev/null +++ b/templates/advance_game/screens/screen_options.o diff --git a/templates/advance_game/screens/screen_title.c b/templates/advance_game/screens/screen_title.c new file mode 100644 index 00000000..9c288fb5 --- /dev/null +++ b/templates/advance_game/screens/screen_title.c @@ -0,0 +1,81 @@ +/********************************************************************************************** +* +* raylib - Advance Game template +* +* Title Screen Functions Definitions (Init, Update, Draw, Unload) +* +* Copyright (c) 2014 Ramon Santamaria (Ray San - raysan@raysanweb.com) +* +* 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" + +//---------------------------------------------------------------------------------- +// Global Variables Definition (local to this module) +//---------------------------------------------------------------------------------- + +// Title screen global variables +static int framesCounter; +static int finishScreen; + +//---------------------------------------------------------------------------------- +// Title Screen Functions Definition +//---------------------------------------------------------------------------------- + +// Title Screen Initialization logic +void InitTitleScreen(void) +{ + // TODO: Initialize TITLE screen variables here! + framesCounter = 0; + finishScreen = 0; +} + +// Title Screen Update logic +void UpdateTitleScreen(void) +{ + // TODO: Update TITLE screen variables here! + + // Press enter to change to GAMEPLAY screen + if (IsKeyPressed(KEY_ENTER)) + { + //finishScreen = 1; // OPTIONS + finishScreen = 2; // GAMEPLAY + } +} + +// Title Screen Draw logic +void DrawTitleScreen(void) +{ + // TODO: Draw TITLE screen here! + DrawRectangle(0, 0, GetScreenWidth(), GetScreenHeight(), GREEN); + DrawText("TITLE SCREEN", 20, 20, 40, DARKGREEN); + DrawText("PRESS ENTER to JUMP to GAMEPLAY SCREEN", 160, 220, 20, DARKGREEN); +} + +// Title Screen Unload logic +void UnloadTitleScreen(void) +{ + // TODO: Unload TITLE screen variables here! +} + +// Title Screen should finish? +int FinishTitleScreen(void) +{ + return finishScreen; +}
\ No newline at end of file diff --git a/templates/advance_game/screens/screen_title.o b/templates/advance_game/screens/screen_title.o Binary files differnew file mode 100644 index 00000000..cbe17297 --- /dev/null +++ b/templates/advance_game/screens/screen_title.o diff --git a/templates/advance_game/screens/screens.h b/templates/advance_game/screens/screens.h new file mode 100644 index 00000000..88537d9b --- /dev/null +++ b/templates/advance_game/screens/screens.h @@ -0,0 +1,92 @@ +/********************************************************************************************** +* +* raylib - Advance Game template +* +* Screens Functions Declarations (Init, Update, Draw, Unload) +* +* Copyright (c) 2014 Ramon Santamaria (Ray San - raysan@raysanweb.com) +* +* 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 + +//---------------------------------------------------------------------------------- +// Types and Structures Definition +//---------------------------------------------------------------------------------- +typedef enum GameScreen { LOGO, TITLE, OPTIONS, GAMEPLAY, ENDING } GameScreen; + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +GameScreen currentScreen; + +#ifdef __cplusplus +extern "C" { // Prevents name mangling of functions +#endif + +//---------------------------------------------------------------------------------- +// 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); + +//---------------------------------------------------------------------------------- +// Options Screen Functions Declaration +//---------------------------------------------------------------------------------- +void InitOptionsScreen(void); +void UpdateOptionsScreen(void); +void DrawOptionsScreen(void); +void UnloadOptionsScreen(void); +int FinishOptionsScreen(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 |
