aboutsummaryrefslogtreecommitdiff
path: root/src/map.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/map.zig')
-rw-r--r--src/map.zig14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/map.zig b/src/map.zig
index 8093e21..92ca5be 100644
--- a/src/map.zig
+++ b/src/map.zig
@@ -20,6 +20,14 @@ const std = @import("std");
// Let's pretend that our units are meters
pub const MAX_HEIGHT: f32 = 2.5;
+pub const Object = struct {
+ height : f32,
+ width : f32,
+ texture : u8,
+ pos_x : f32,
+ pos_y : f32,
+};
+
pub const Cell = struct {
height: f32,
wall_texture: u8 = 0,
@@ -34,9 +42,11 @@ pub const Map = struct {
height: u32,
size: f32 = 64,
cells: std.ArrayList(Cell),
+ objects: std.ArrayList(Object),
pub fn deinit(self: Map) void {
self.cells.deinit();
+ self.objects.deinit();
}
pub fn new(width: u32, height: u32, alloc: *std.mem.Allocator) !Map {
@@ -44,7 +54,9 @@ pub const Map = struct {
try cells.ensureTotalCapacity(width * height);
try cells.appendNTimes(Cell.floor, width * height);
- return Map{ .width = width, .height = height, .cells = cells };
+ var objects = std.ArrayList(Object).init(alloc);
+
+ return Map{ .width = width, .height = height, .cells = cells, .objects = objects };
}
pub fn inBounds(self: Map, x: i32, y: i32) bool {