From 265c8db88aab9ed6f101fa4142ae54868e0177e4 Mon Sep 17 00:00:00 2001 From: Humza Shahid Date: Thu, 13 Feb 2025 12:14:50 +0000 Subject: [PATCH] implement EnemyMap functor (todo: migrate from 'enemy vector' type to 'EnemyMap.t' type) --- fcore/enemy/enemy-map.sml | 13 +++++++++++++ oms.mlb | 2 ++ vendored/brolib-sml | 2 +- 3 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 fcore/enemy/enemy-map.sml diff --git a/fcore/enemy/enemy-map.sml b/fcore/enemy/enemy-map.sml new file mode 100644 index 0000000..02ccd97 --- /dev/null +++ b/fcore/enemy/enemy-map.sml @@ -0,0 +1,13 @@ +structure EnemyPair = +struct + type key = int + type value = EnemyType.enemy + + fun l (a: int, b: int) = a < b + fun eq (a: int, b: int) = a = b + fun g (a: int, b: int) = a > b + + val maxNodeSize = 8 +end + +structure EnemyMap = MakeGapMap (EnemyPair) diff --git a/oms.mlb b/oms.mlb index 76fd5dd..94adff9 100644 --- a/oms.mlb +++ b/oms.mlb @@ -1,6 +1,7 @@ $(SML_LIB)/basis/basis.mlb (* fcore *) +vendored/brolib-sml/src/gap_map.sml fcore/constants.sml fcore/collision.sml @@ -27,6 +28,7 @@ fcore/path-finding.sml fcore/entity-type.sml fcore/enemy/enemy-type.sml +fcore/enemy/enemy-map.sml fcore/game-type.sml fcore/player-patch.sml diff --git a/vendored/brolib-sml b/vendored/brolib-sml index d23396f..f3cc41e 160000 --- a/vendored/brolib-sml +++ b/vendored/brolib-sml @@ -1 +1 @@ -Subproject commit d23396f5d10041fee7d424dde261ad23f4cf2b87 +Subproject commit f3cc41e9a2d62c4f90eacd9557922427df939768