aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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;
}