aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authornathansmithsmith <thenathansmithsmith@gmail.com>2023-12-08 17:21:32 -0700
committernathansmithsmith <thenathansmithsmith@gmail.com>2023-12-08 17:21:32 -0700
commit028880ad2c3c3906ce1f1bc801cf9f1ea41ad8eb (patch)
tree5db01715df59c900bd9452a9054711f1be9d63d8 /src
parentf7392070995ad077dcaa387469934325e8e5c067 (diff)
Started level 8
Diffstat (limited to 'src')
-rw-r--r--src/entities/generale.c2
-rw-r--r--src/game.c2
-rw-r--r--src/levels.c1
-rw-r--r--src/levels.h2
-rw-r--r--src/levels/level8.c26
-rw-r--r--src/levels/level8.h11
-rw-r--r--src/levelsInclude.h1
7 files changed, 43 insertions, 2 deletions
diff --git a/src/entities/generale.c b/src/entities/generale.c
index 11d916a..1dde915 100644
--- a/src/entities/generale.c
+++ b/src/entities/generale.c
@@ -8,6 +8,8 @@ void initGenerale(Entity * entity, Game * game) {
entity->transformedCollisionModel = entityCreateCollisionModel(*entity->model);
setEntityRadius(entity);
+ entity->health = 0.75;
+
entity->velocity.angularVelocity = (AxisAngle){
.axis = (Vector3){0.0, 1.0, 0.0},
.angle = PI/2.0
diff --git a/src/game.c b/src/game.c
index 3ba5857..a86c006 100644
--- a/src/game.c
+++ b/src/game.c
@@ -33,7 +33,7 @@ void initGame(Game * game) {
// Levels.
initLevels(&game->levels);
- startLevel(game, &game->levels, 6);
+ startLevel(game, &game->levels, 7);
}
void closeGame(Game * game) {
diff --git a/src/levels.c b/src/levels.c
index f3226d0..c7f933e 100644
--- a/src/levels.c
+++ b/src/levels.c
@@ -12,6 +12,7 @@ const LevelInfo levelInfoList[LEVELS_COUNT] = {
(LevelInfo){initLevel5, closelevel5, updateLevel5},
(LevelInfo){initLevel6, closelevel6, updateLevel6},
(LevelInfo){initLevel7, closelevel7, updateLevel7},
+ (LevelInfo){initLevel8, closelevel8, updateLevel8},
(LevelInfo){initTestLevel, closeTestLevel, updateTestLevel}
};
diff --git a/src/levels.h b/src/levels.h
index c54ed2b..71584e3 100644
--- a/src/levels.h
+++ b/src/levels.h
@@ -5,7 +5,7 @@
#ifndef LEVELS_H
#define LEVELS_H
-#define LEVELS_COUNT 8
+#define LEVELS_COUNT 9
#define NO_LEVEL -1
diff --git a/src/levels/level8.c b/src/levels/level8.c
new file mode 100644
index 0000000..b132c76
--- /dev/null
+++ b/src/levels/level8.c
@@ -0,0 +1,26 @@
+#include "level8.h"
+#include "game.h"
+#include "world.h"
+#include "entity.h"
+#include "entityGrouping.h"
+
+void initLevel8(Game * game, Levels * levels) {
+ WorldEntry entries[] = {
+ (WorldEntry){ENTITY_ANTIFA, (Vector3){0.0, 0.0, 0.0}, QuaternionIdentity()},
+ (WorldEntry){ENTITY_GENERALE, (Vector3){0.0, 0.0, 300.0}, QuaternionIdentity()}
+ };
+
+ addEntriesToWorld(
+ &game->world,
+ game,
+ entries,
+ sizeof(entries) / sizeof(WorldEntry)
+ );
+}
+
+void closelevel8(Levels * levels) {
+}
+
+bool updateLevel8(Game * game, Levels * levels) {
+ return game->world.entitiesCount == 1;
+}
diff --git a/src/levels/level8.h b/src/levels/level8.h
new file mode 100644
index 0000000..b2bbdc9
--- /dev/null
+++ b/src/levels/level8.h
@@ -0,0 +1,11 @@
+#include "gameCommon.h"
+#include "levels.h"
+
+#ifndef LEVEL8_H
+#define LEVEL8_H
+
+void initLevel8(Game * game, Levels * levels);
+void closelevel8(Levels * levels);
+bool updateLevel8(Game * game, Levels * levels);
+
+#endif
diff --git a/src/levelsInclude.h b/src/levelsInclude.h
index b205fc8..b21f4a6 100644
--- a/src/levelsInclude.h
+++ b/src/levelsInclude.h
@@ -6,5 +6,6 @@
#include "levels/level5.h"
#include "levels/level6.h"
#include "levels/level7.h"
+#include "levels/level8.h"
// As you can tell I fucking hate your stupid fat ass