diff options
author | nathansmithsmith <nathansmith7@mailfence.com> | 2023-10-02 21:27:41 -0600 |
---|---|---|
committer | nathansmithsmith <nathansmith7@mailfence.com> | 2023-10-02 21:27:41 -0600 |
commit | 2bd87ba9d98973e59e89fab4be60ce4ef4cf95ae (patch) | |
tree | 2e8e9e17c79115bf3d1b9d7e01297330a9e2f774 | |
parent | 5b03b11020a39790b81a00cf5cae8f04bc4caffa (diff) |
Now using the level handler
-rw-r--r-- | CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/game.c | 28 | ||||
-rw-r--r-- | src/game.h | 2 | ||||
-rw-r--r-- | src/levels.c | 3 | ||||
-rw-r--r-- | src/levels.h | 2 | ||||
-rw-r--r-- | src/levels/level1.c | 11 | ||||
-rw-r--r-- | src/levels/testLevel.c | 25 | ||||
-rw-r--r-- | src/levels/testLevel.h | 11 | ||||
-rw-r--r-- | src/levelsInclude.h | 1 |
9 files changed, 61 insertions, 24 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 6f9e256..991753a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,7 @@ set(C_STANDARD_REQUIRED ON) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) # Add source files. -file(GLOB SRC_FILES src/*.c src/entities/*.c) +file(GLOB SRC_FILES src/*.c src/entities/*.c src/levels/*.c) add_executable(${PROJECT_NAME} ${SRC_FILES}) @@ -36,17 +36,21 @@ void initGame(Game * game) { // entries[i] = (WorldEntry){ENTITY_SOLDATO, (Vector3){0.0, 0.0, i*10}, QuaternionIdentity()}; // } - WorldEntry entries[2] = { - (WorldEntry){ENTITY_ANTIFA, (Vector3){0.0, 0.0, 0.0}, QuaternionIdentity()}, - (WorldEntry){ENTITY_MUSSOLINI, (Vector3){0.0, 0.0, 200.0}, QuaternionIdentity()} - }; - - addEntriesToWorld( - &game->world, - game, - entries, - sizeof(entries) / sizeof(WorldEntry) - ); + // WorldEntry entries[2] = { + // (WorldEntry){ENTITY_ANTIFA, (Vector3){0.0, 0.0, 0.0}, QuaternionIdentity()}, + // (WorldEntry){ENTITY_MUSSOLINI, (Vector3){0.0, 0.0, 200.0}, QuaternionIdentity()} + // }; + // + // addEntriesToWorld( + // &game->world, + // game, + // entries, + // sizeof(entries) / sizeof(WorldEntry) + // ); + + // Levels. + initLevels(&game->levels); + startLevel(game, &game->levels, 0); } void closeGame(Game * game) { @@ -54,6 +58,8 @@ void closeGame(Game * game) { freeWorld(&game->world); freeGameScreen(&game->gameScreen); + endLevel(game, &game->levels); + // Close window last. CloseWindow(); } @@ -7,6 +7,7 @@ #include "world.h" #include "settings.h" #include "bullets.h" +#include "levels.h" #ifndef GAME_H #define GAME_H @@ -23,6 +24,7 @@ typedef struct Game { Cameras cameras; Assets assets; World world; + Levels levels; Settings settings; } Game; diff --git a/src/levels.c b/src/levels.c index c5083eb..50034c1 100644 --- a/src/levels.c +++ b/src/levels.c @@ -1,8 +1,11 @@ #include "levels.h" #include "game.h" #include "world.h" +#include "levelsInclude.h" const LevelInfo levelInfoList[LEVELS_COUNT] = { + (LevelInfo){initTestLevel, closeTestLevel, updateTestLevel}, + (LevelInfo){initLevel1, closelevel1, updateLevel1} }; void initLevels(Levels * levels) { diff --git a/src/levels.h b/src/levels.h index 3277f62..07544d0 100644 --- a/src/levels.h +++ b/src/levels.h @@ -5,7 +5,7 @@ #ifndef LEVELS_H #define LEVELS_H -#define LEVELS_COUNT 1 +#define LEVELS_COUNT 2 #define NO_LEVEL -1 diff --git a/src/levels/level1.c b/src/levels/level1.c index eb9695e..f473c85 100644 --- a/src/levels/level1.c +++ b/src/levels/level1.c @@ -4,17 +4,6 @@ #include "entity.h" void initLevel1(Game * game, Levels * levels) { - WorldEntry entries[] = { - (WorldEntry){ENTITY_ANTIFA, (Vector3){0.0, 0.0, 0.0}, QuaternionIdentity()}, - (WorldEntry){ENTITY_MUSSOLINI, (Vector3){0.0, 0.0, 200.0}, QuaternionIdentity()} - }; - - addEntriesToWorld( - &game->world, - game, - entries, - sizeof(entries) / sizeof(WorldEntry) - ); } void closelevel1(Levels * levels) { diff --git a/src/levels/testLevel.c b/src/levels/testLevel.c new file mode 100644 index 0000000..f036b1f --- /dev/null +++ b/src/levels/testLevel.c @@ -0,0 +1,25 @@ +#include "testLevel.h" +#include "game.h" +#include "world.h" + +void initTestLevel(Game * game, Levels * levels) { + WorldEntry entries[] = { + (WorldEntry){ENTITY_ANTIFA, (Vector3){0.0, 0.0, 0.0}, QuaternionIdentity()}, + (WorldEntry){ENTITY_MUSSOLINI, (Vector3){0.0, 0.0, 200.0}, QuaternionIdentity()} + }; + + addEntriesToWorld( + &game->world, + game, + entries, + sizeof(entries) / sizeof(WorldEntry) + ); +} + +void closeTestLevel(Levels * levels) { +} + +bool updateTestLevel(Game * game, Levels * levels) { + return false; +} + diff --git a/src/levels/testLevel.h b/src/levels/testLevel.h new file mode 100644 index 0000000..eb7c470 --- /dev/null +++ b/src/levels/testLevel.h @@ -0,0 +1,11 @@ +#include "gameCommon.h" +#include "levels.h" + +#ifndef TEST_LEVEL_H +#define TEST_LEVEL_H + +void initTestLevel(Game * game, Levels * levels); +void closeTestLevel(Levels * levels); +bool updateTestLevel(Game * game, Levels * levels); + +#endif diff --git a/src/levelsInclude.h b/src/levelsInclude.h index 54e6c5f..24c0027 100644 --- a/src/levelsInclude.h +++ b/src/levelsInclude.h @@ -1,3 +1,4 @@ +#include "levels/testLevel.h" #include "levels/level1.h" // As you can tell I fucking hate your stupid fat ass |