aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornathansmithsmith <thenathansmithsmith@gmail.com>2023-12-04 11:07:36 -0700
committernathansmithsmith <thenathansmithsmith@gmail.com>2023-12-04 11:07:36 -0700
commit305fb5484044dd17d3db21930882ba7ba541bf7f (patch)
treebfed08967cb1a5767e29fe5da45bec356786d16e
parenta14e6109a5096b23f9a27bcd2010c23e9ca1753f (diff)
Made level 4
-rw-r--r--src/game.c2
-rw-r--r--src/levels/level4.c25
2 files changed, 23 insertions, 4 deletions
diff --git a/src/game.c b/src/game.c
index 34f1bed..8cdd793 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, 2);
+ startLevel(game, &game->levels, 3);
}
void closeGame(Game * game) {
diff --git a/src/levels/level4.c b/src/levels/level4.c
index ae9edaa..a159750 100644
--- a/src/levels/level4.c
+++ b/src/levels/level4.c
@@ -1,16 +1,35 @@
#include "game.h"
#include "world.h"
+#include "entity.h"
#include "entityGrouping.h"
void initLevel4(Game * game, Levels * levels) {
+ int i;
+ // Add player.
+ addEntryToWorld(&game->world, game, (WorldEntry){ENTITY_ANTIFA, (Vector3){0.0, 0.0, 0.0}, QuaternionIdentity()});
+
+ Vector3 positions[] = {
+ (Vector3){800.0, 0.0, 0.0},
+ (Vector3){-800.0, 0.0, 0.0},
+ (Vector3){0.0, 800.0, 0.0},
+ (Vector3){0.0, -800.0, 0.0},
+ (Vector3){0.0, 0.0, 800.0},
+ (Vector3){0.0, 0.0, -800.0}
+ };
+
+ Vector3 spacing = (Vector3){0.0, 15.0, 15.0};
+
+ // Add groups.
+ for (i = 0; i < sizeof(positions) / sizeof(Vector3); ++i) {
+ addSoldatoGroupWithLeader(game, ENTITY_CAPORALE, 3, positions[i], spacing);
+ spacing = Vector3Negate(spacing); // Swap group direction each time.
+ }
}
void closelevel4(Levels * levels) {
-
}
bool updateLevel4(Game * game, Levels * levels) {
-
- return false;
+ return game->world.entitiesCount == 1;
}