aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornathansmith117 <thenathansmithsmith@gmail.com>2024-02-14 23:05:18 +0000
committernathansmith117 <thenathansmithsmith@gmail.com>2024-02-14 23:05:18 +0000
commitadf3b7635326af20e0e77d37c080ef08c64e9e91 (patch)
tree70e0b0144bccec31af7dc3f667dc73aa2c31c20c
parent63e4506ce8c21392e99c428afe2b285f12f78c00 (diff)
downloadPenguinYippies-adf3b7635326af20e0e77d37c080ef08c64e9e91.tar.gz
PenguinYippies-adf3b7635326af20e0e77d37c080ef08c64e9e91.tar.bz2
PenguinYippies-adf3b7635326af20e0e77d37c080ef08c64e9e91.zip
Screens added
-rw-r--r--src/game.c21
-rw-r--r--src/game.h11
-rw-r--r--src/gameCommon.h2
-rw-r--r--src/gameScreen.c15
-rw-r--r--src/gameScreen.h13
-rw-r--r--src/mainMenu.c14
-rw-r--r--src/mainMenu.h13
7 files changed, 82 insertions, 7 deletions
diff --git a/src/game.c b/src/game.c
index a093269..899b3f2 100644
--- a/src/game.c
+++ b/src/game.c
@@ -3,19 +3,36 @@
void initGame(Game* game)
{
InitWindow(WINDOW_WIDTH, WINDOW_HEIGHT, "Penguin Yippies!");
+
+ // Screens.
+ game->currentScreen = MAIN_MENU_SCREEN;
+ initMainMenu(&game->mainMenu, game);
+ initGameScreen(&game->gameScreen, game);
}
void updateGame(Game* game)
{
BeginDrawing();
- ClearBackground(RAYWHITE);
- DrawFPS(0, 0);
+ switch (game->currentScreen)
+ {
+ case MAIN_MENU_SCREEN:
+ updateMainMenu(&game->mainMenu, game);
+ break;
+ case GAME_SCREEN:
+ updateGameScreen(&game->gameScreen, game);
+ break;
+ default:
+ break;
+ }
EndDrawing();
}
void closeGame(Game* game)
{
+ closeMainMenu(&game->mainMenu);
+ closeGameScreen(&game->gameScreen);
+
CloseWindow();
}
diff --git a/src/game.h b/src/game.h
index 5d4e58d..a5b8cb6 100644
--- a/src/game.h
+++ b/src/game.h
@@ -1,16 +1,19 @@
#include "gameCommon.h"
+#include "mainMenu.h"
+#include "gameScreen.h"
#ifndef GAME_H
#define GAME_H
-typedef enum ScreenId
-{
+typedef enum ScreenId {
MAIN_MENU_SCREEN,
GAME_SCREEN
} ScreenId;
-typedef struct Game
-{
+typedef struct Game {
+ ScreenId currentScreen;
+ MainMenu mainMenu;
+ GameScreen gameScreen;
} Game;
void initGame(Game* game);
diff --git a/src/gameCommon.h b/src/gameCommon.h
index c825873..fd6f999 100644
--- a/src/gameCommon.h
+++ b/src/gameCommon.h
@@ -11,6 +11,6 @@
#ifndef GAME_COMMON_H
#define GAME_COMMON_H
-typedef struct Game game;
+typedef struct Game Game;
#endif
diff --git a/src/gameScreen.c b/src/gameScreen.c
new file mode 100644
index 0000000..23e12cf
--- /dev/null
+++ b/src/gameScreen.c
@@ -0,0 +1,15 @@
+#include "gameScreen.h"
+#include "game.h"
+
+void initGameScreen(GameScreen* gameScreen, Game* game)
+{
+}
+
+void updateGameScreen(GameScreen* gameScreen, Game* game)
+{
+}
+
+void closeGameScreen(GameScreen* gameScreen)
+{
+}
+
diff --git a/src/gameScreen.h b/src/gameScreen.h
new file mode 100644
index 0000000..9b4191e
--- /dev/null
+++ b/src/gameScreen.h
@@ -0,0 +1,13 @@
+#include "gameCommon.h"
+
+#ifndef GAME_SCREEN_H
+#define GAME_SCREEN_H
+
+typedef struct GameScreen {
+} GameScreen;
+
+void initGameScreen(GameScreen* gameScreen, Game* game);
+void updateGameScreen(GameScreen* gameScreen, Game* game);
+void closeGameScreen(GameScreen* gameScreen);
+
+#endif
diff --git a/src/mainMenu.c b/src/mainMenu.c
new file mode 100644
index 0000000..ec8bd95
--- /dev/null
+++ b/src/mainMenu.c
@@ -0,0 +1,14 @@
+#include "mainMenu.h"
+#include "game.h"
+
+void initMainMenu(MainMenu* mainMenu, Game* game)
+{
+}
+
+void updateMainMenu(MainMenu* mainMenu, Game* game)
+{
+}
+
+void closeMainMenu(MainMenu* mainMenu)
+{
+}
diff --git a/src/mainMenu.h b/src/mainMenu.h
new file mode 100644
index 0000000..c8b9fb3
--- /dev/null
+++ b/src/mainMenu.h
@@ -0,0 +1,13 @@
+#include "gameCommon.h"
+
+#ifndef MAIN_MENU_H
+#define MAIN_MENU_H
+
+typedef struct MainMenu {
+} MainMenu;
+
+void initMainMenu(MainMenu* mainMenu, Game* game);
+void updateMainMenu(MainMenu* mainMenu, Game* game);
+void closeMainMenu(MainMenu* mainMenu);
+
+#endif