From 49282887e3d396e313784d02aa205665fb28e07f Mon Sep 17 00:00:00 2001 From: Humza Shahid Date: Sat, 11 Jan 2025 22:06:08 +0000 Subject: [PATCH] remove enemyTree (quad tree holding enemies) from game type as this is not static geometry and, since enemies are moving every frame, this should also be regenerated on every frame --- fcore/game-type.sml | 4 ---- fcore/game-update.sml | 7 +++---- fcore/player.sml | 2 +- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/fcore/game-type.sml b/fcore/game-type.sml index 190aac8..ad460c5 100644 --- a/fcore/game-type.sml +++ b/fcore/game-type.sml @@ -70,7 +70,6 @@ sig , platforms: platform vector , platformTree: QuadTree.t , enemies: enemy vector - , enemyTree: QuadTree.t } val initial: game_type @@ -149,7 +148,6 @@ struct , platforms: platform vector , platformTree: QuadTree.t , enemies: enemy vector - , enemyTree: QuadTree.t } val initial: game_type = @@ -185,7 +183,6 @@ struct val enemy2 = {id = 2, x = 555, y = 945, health = 5} val enemy3 = {id = 3, x = 979, y = 945, health = 5} val enemies = Vector.fromList [enemy1, enemy2, enemy3] - val enemyTree = Enemy.generateTree enemies in { player = player , walls = walls @@ -193,7 +190,6 @@ struct , platforms = platforms , platformTree = platformTree , enemies = enemies - , enemyTree = enemyTree } end end diff --git a/fcore/game-update.sml b/fcore/game-update.sml index ae28597..d6395cd 100644 --- a/fcore/game-update.sml +++ b/fcore/game-update.sml @@ -2,16 +2,16 @@ structure GameUpdate = struct fun update (game, input) = let - val {player, walls, wallTree, platforms, platformTree, enemies, enemyTree} = - game + val {player, walls, wallTree, platforms, platformTree, enemies} = game val player = Player.runPhysicsAndInput (game, input) + val enemyTree = Enemy.generateTree enemies + (* check player-enemy collisions and react *) val (player, enemies, enemyTree) = PlayerEnemy.checkCollisions (player, enemies, enemyTree, #projectiles player) - in { player = player , walls = walls @@ -19,7 +19,6 @@ struct , platforms = platforms , platformTree = platformTree , enemies = enemies - , enemyTree = enemyTree } end end diff --git a/fcore/player.sml b/fcore/player.sml index 763ab3a..49c7082 100644 --- a/fcore/player.sml +++ b/fcore/player.sml @@ -422,7 +422,7 @@ struct (* only checks for collisions with environment (walls and platforms) *) fun getEnvironmentPatches (player, game) = let - val {walls, wallTree, platformTree, platforms, enemyTree, enemies, ...} = + val {walls, wallTree, platformTree, platforms, enemies, ...} = game val {x, y, attacked, mainAttack, ...} = player