aboutsummaryrefslogtreecommitdiff
path: root/src/entities/mussolini.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/entities/mussolini.c')
-rw-r--r--src/entities/mussolini.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/entities/mussolini.c b/src/entities/mussolini.c
new file mode 100644
index 0000000..2770d2f
--- /dev/null
+++ b/src/entities/mussolini.c
@@ -0,0 +1,34 @@
+#include "mussolini.h"
+#include "assets.h"
+#include "game.h"
+
+void initMussolini(Entity * entity, Game * game) {
+ entity->model = &game->assets.models[MUSSOLINI_ASSET];
+}
+
+void closeMussolini(Entity * entity) {
+}
+
+void updateMussolini(Game * game, Entity * entity) {
+ Entity * player = getEntityFromWorld(game->world, 0);
+
+ float pitch = Vector2Angle(
+ (Vector2){entity->position.y, entity->position.x},
+ (Vector2){player->position.y, player->position.x}
+ );
+
+ float yaw = Vector2Angle(
+ (Vector2){entity->position.x, entity->position.z},
+ (Vector2){player->position.x, player->position.z}
+ );
+
+ entity->rotation = QuaternionFromEuler(
+ pitch - (PI/2),
+ -(yaw - (PI/2)),
+ 0.0
+ );
+}
+
+void drawMussolini(Game * game, Entity * entity) {
+ entityDraw(entity);
+}