Selection and setting target_p

This commit is contained in:
Krzosa Karol
2023-04-20 15:04:55 +02:00
parent 7037416ea7
commit a728f5c37f
2 changed files with 45 additions and 4 deletions

View File

@@ -37,6 +37,12 @@ MAP_Circle :: (p: V2I): Vector2
result := Vector2{p.x->F32 * RectX + RectX/2, p.y->F32 * RectY + RectY/2}
return result
MAP_ScreenToMap :: (p: Vector2): V2I
p0 := p.x / RectX
p1 := p.y / RectY
result := V2I{p0->int, p1->int}
return result
MAP_AddActor :: (map: *MAP_Map, p: V2I): *MAP_Actor
Add(&map.actors, {p, p, map})
Assert(map.data[p.x + p.y * map.x] == 0)
@@ -61,6 +67,13 @@ MAP_ActorSetP :: (actor: *MAP_Actor, p: V2I)
Reset(&actor.open_paths)
Reset(&actor.close_paths)
MAP_SetTargetP :: (s: *MAP_Actor, p: V2I)
s.target_p = p
Reset(&s.tiles_visited)
Reset(&s.history)
Reset(&s.open_paths)
Reset(&s.close_paths)
MAP_GetRandomP :: (m: *MAP_Map): V2I
result := V2I{GetRandomValue(0, MAP_CurrentMap.x), GetRandomValue(0, MAP_CurrentMap.y)}
return result