aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornathansmithsmith <thenathansmithsmith@gmail.com>2023-12-07 13:40:04 -0700
committernathansmithsmith <thenathansmithsmith@gmail.com>2023-12-07 13:40:04 -0700
commitf7392070995ad077dcaa387469934325e8e5c067 (patch)
treea8832ea626ab283d92537d2ce5f6693465440d78
parent2b42a05915e0b8e08e83ff7da23d34d2e1a37ccd (diff)
Added level 7
-rw-r--r--src/entities/guidedMissile.c2
-rw-r--r--src/entities/missile.c2
-rw-r--r--src/game.c2
-rw-r--r--src/levels.c1
-rw-r--r--src/levels.h2
-rw-r--r--src/levels/level7.c29
-rw-r--r--src/levels/level7.h11
-rw-r--r--src/levelsInclude.h1
8 files changed, 48 insertions, 2 deletions
diff --git a/src/entities/guidedMissile.c b/src/entities/guidedMissile.c
index 1ab53c9..e45defe 100644
--- a/src/entities/guidedMissile.c
+++ b/src/entities/guidedMissile.c
@@ -8,6 +8,8 @@ void initGuidedMissile(Entity * entity, Game * game) {
entity->transformedCollisionModel = entityCreateCollisionModel(*entity->model);
setEntityRadius(entity);
+ entity->health = 0.125;
+
// Allocate data.
entity->data = KF_MALLOC(sizeof(GuidedMissile));
diff --git a/src/entities/missile.c b/src/entities/missile.c
index c8c8e92..beb167c 100644
--- a/src/entities/missile.c
+++ b/src/entities/missile.c
@@ -10,6 +10,8 @@ void initMissile(Entity * entity, Game * game) {
entity->transformedCollisionModel = entityCreateCollisionModel(*entity->model);
setEntityRadius(entity);
+ entity->health = 0.125;
+
entity->data = KF_MALLOC(sizeof(Missile));
if (entity->data == NULL) {
diff --git a/src/game.c b/src/game.c
index 9b3551e..3ba5857 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, 5);
+ startLevel(game, &game->levels, 6);
}
void closeGame(Game * game) {
diff --git a/src/levels.c b/src/levels.c
index 460077e..f3226d0 100644
--- a/src/levels.c
+++ b/src/levels.c
@@ -11,6 +11,7 @@ const LevelInfo levelInfoList[LEVELS_COUNT] = {
(LevelInfo){initLevel4, closelevel4, updateLevel4},
(LevelInfo){initLevel5, closelevel5, updateLevel5},
(LevelInfo){initLevel6, closelevel6, updateLevel6},
+ (LevelInfo){initLevel7, closelevel7, updateLevel7},
(LevelInfo){initTestLevel, closeTestLevel, updateTestLevel}
};
diff --git a/src/levels.h b/src/levels.h
index cd219d1..c54ed2b 100644
--- a/src/levels.h
+++ b/src/levels.h
@@ -5,7 +5,7 @@
#ifndef LEVELS_H
#define LEVELS_H
-#define LEVELS_COUNT 7
+#define LEVELS_COUNT 8
#define NO_LEVEL -1
diff --git a/src/levels/level7.c b/src/levels/level7.c
new file mode 100644
index 0000000..2b2ad61
--- /dev/null
+++ b/src/levels/level7.c
@@ -0,0 +1,29 @@
+#include "level7.h"
+#include "game.h"
+#include "entityGrouping.h"
+#include "entity.h"
+#include "world.h"
+
+void initLevel7(Game * game, Levels * levels) {
+ WorldEntry entries[] = {
+ (WorldEntry){ENTITY_ANTIFA, (Vector3){0.0, 0.0, 0.0}, QuaternionIdentity()},
+ (WorldEntry){ENTITY_MARESCIALLO, (Vector3){800.0, 0.0, 0.0}, QuaternionIdentity()},
+ (WorldEntry){ENTITY_MARESCIALLO, (Vector3){-2000.0, 0.0, 0.0}, QuaternionIdentity()},
+ (WorldEntry){ENTITY_MARESCIALLO, (Vector3){0.0, 2000.0, 0.0}, QuaternionIdentity()},
+ (WorldEntry){ENTITY_MARESCIALLO, (Vector3){0.0, -800.0, 0.0}, QuaternionIdentity()}
+ };
+
+ addEntriesToWorld(
+ &game->world,
+ game,
+ entries,
+ sizeof(entries) / sizeof(WorldEntry)
+ );
+}
+
+void closelevel7(Levels * levels) {
+}
+
+bool updateLevel7(Game * game, Levels * levels) {
+ return game->world.entitiesCount == 1;
+}
diff --git a/src/levels/level7.h b/src/levels/level7.h
new file mode 100644
index 0000000..c068f37
--- /dev/null
+++ b/src/levels/level7.h
@@ -0,0 +1,11 @@
+#include "gameCommon.h"
+#include "levels.h"
+
+#ifndef LEVEL7_H
+#define LEVEL7_H
+
+void initLevel7(Game * game, Levels * levels);
+void closelevel7(Levels * levels);
+bool updateLevel7(Game * game, Levels * levels);
+
+#endif
diff --git a/src/levelsInclude.h b/src/levelsInclude.h
index 72697e0..b205fc8 100644
--- a/src/levelsInclude.h
+++ b/src/levelsInclude.h
@@ -5,5 +5,6 @@
#include "levels/level4.h"
#include "levels/level5.h"
#include "levels/level6.h"
+#include "levels/level7.h"
// As you can tell I fucking hate your stupid fat ass