aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornathansmithsmith <nathansmith7@mailfence.com>2023-10-11 17:56:54 -0600
committernathansmithsmith <nathansmith7@mailfence.com>2023-10-11 17:56:54 -0600
commit720467f4b295d86aac8acb75c78822c21fcba281 (patch)
tree4da746a9b978e710901271ba28adf5c8863a416e
parent71f748a76ef0b86b6377ea82cb2e7e785d28b647 (diff)
Fixed frame rate issue (should have fixed it a month ago)
-rw-r--r--src/entities/generale.c2
-rw-r--r--src/entities/generale.h2
-rw-r--r--src/entities/sergente.c16
-rw-r--r--src/entities/sergente.h2
-rw-r--r--src/levels/level1.c16
5 files changed, 13 insertions, 25 deletions
diff --git a/src/entities/generale.c b/src/entities/generale.c
index c49faba..3cf9854 100644
--- a/src/entities/generale.c
+++ b/src/entities/generale.c
@@ -104,7 +104,7 @@ void updateGenerale(Game * game, Entity * entity) {
if (data->targetNotSet) {
getTargetGenerale(game, entity);
data->targetNotSet = false;
- } else if (Vector3Distance(entity->position, data->target) <= GENERALE_NEXT_POINT_THRESHOLD)
+ } else if (Vector3Distance(entity->position, data->target) <= GENERALE_NEXT_POINT_THRESHOLD * GetFrameTime())
getTargetGenerale(game, entity);
entityFlyToPoint(
diff --git a/src/entities/generale.h b/src/entities/generale.h
index f400e31..304ed20 100644
--- a/src/entities/generale.h
+++ b/src/entities/generale.h
@@ -6,7 +6,7 @@
#define GENERALE_ZIGZAG_SIZE_MIN 5.0
#define GENERALE_ZIGZAG_SIZE_MAX 100.0
-#define GENERALE_NEXT_POINT_THRESHOLD 1.0
+#define GENERALE_NEXT_POINT_THRESHOLD 60.0
#define GENERALE_LASER_TRACKING_SPEED 10.0
#define GENERALE_LASER_MAX_DISTANCE 100.0
diff --git a/src/entities/sergente.c b/src/entities/sergente.c
index 7c278a4..36847d6 100644
--- a/src/entities/sergente.c
+++ b/src/entities/sergente.c
@@ -112,7 +112,7 @@ void updateSergente(Game * game, Entity * entity) {
entityFlyToPoint(entity, data->target, &data->flyToPoint);
// Create next point.
- if (Vector3Distance(entity->position, data->target) <= SERGENTE_NEXT_POINT_THRESHOLD)
+ if (Vector3Distance(entity->position, data->target) <= SERGENTE_NEXT_POINT_THRESHOLD * GetFrameTime())
createSergenteTarget(game, entity);
updateGunsSergente(game, entity);
@@ -124,13 +124,13 @@ void drawSergente(Game * game, Entity * entity) {
entityDraw(entity);
// Debug shots
- int i;
- Sergente * data = (Sergente*)entity->data;
-
- for (i = 0; i < SERGENTE_SHOT_COUNT; ++i) {
- DrawRay(data->shots[i].ray, BLUE);
- DrawCube(data->shots[i].ray.position, 1.0, 1.0, 1.0, BLUE);
- }
+ // int i;
+ // Sergente * data = (Sergente*)entity->data;
+ //
+ // for (i = 0; i < SERGENTE_SHOT_COUNT; ++i) {
+ // DrawRay(data->shots[i].ray, BLUE);
+ // DrawCube(data->shots[i].ray.position, 1.0, 1.0, 1.0, BLUE);
+ // }
// Test if facing player always.
//DrawLine3D(
diff --git a/src/entities/sergente.h b/src/entities/sergente.h
index f73a191..e7d52b5 100644
--- a/src/entities/sergente.h
+++ b/src/entities/sergente.h
@@ -7,7 +7,7 @@
#define SERGENTE_TARGET_DIS_MIN 5
#define SERGENTE_TARGET_DIS_MAX 100
-#define SERGENTE_NEXT_POINT_THRESHOLD 1.0
+#define SERGENTE_NEXT_POINT_THRESHOLD 60.0
#define SERGENTE_COME_BACK_DIS 200.0
#define SERGENTE_COME_BACK_PERCENT 0.5
#define SERGENTE_ROTATION_SPEED 20.0
diff --git a/src/levels/level1.c b/src/levels/level1.c
index 8d661b8..67fb91d 100644
--- a/src/levels/level1.c
+++ b/src/levels/level1.c
@@ -4,23 +4,11 @@
#include "entity.h"
void initLevel1(Game * game, Levels * levels) {
- int i;
-
- WorldEntry entries[21] = {
+ WorldEntry entries[2] = {
(WorldEntry){ENTITY_ANTIFA, (Vector3){0.0, 0.0, 0.0}, QuaternionIdentity()},
+ (WorldEntry){ENTITY_GENERALE, (Vector3){0.0, 0.0, 10.0}, QuaternionIdentity()}
};
- double distanceApart = 15.0;
- double startAtDistance = 100.0;
-
- for (i = 1; i < 21; ++i) {
- entries[i] = (WorldEntry){
- ENTITY_SOLDATO,
- (Vector3){0.0, (i * distanceApart) + startAtDistance, (i * distanceApart) + startAtDistance},
- QuaternionIdentity()
- };
- }
-
addEntriesToWorld(
&game->world,
game,