From 631c1226691505624c08995b6a2ac81e46a9b17e Mon Sep 17 00:00:00 2001 From: tslil clingman <> Date: Sun, 5 Sep 2021 21:30:31 -0400 Subject: In response to issue #9629, correct usingnamespace usage --- src/map.zig | 71 ------------------------------------------------------------- 1 file changed, 71 deletions(-) delete mode 100644 src/map.zig (limited to 'src/map.zig') diff --git a/src/map.zig b/src/map.zig deleted file mode 100644 index b73fd36..0000000 --- a/src/map.zig +++ /dev/null @@ -1,71 +0,0 @@ -// This file is part of ZiRC -// -// Copyright (C) 2021, tslil clingman -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -const std = @import("std"); - -// Let's pretend that our units are meters -pub const MAX_HEIGHT: f32 = 1; - -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, - floor_texture: u8 = 0, - ceiling_texture: u8 = 0, - - const floor = Cell{ .height = 0 }; -}; - -pub const Map = struct { - width: u32, - 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 { - var cells = std.ArrayList(Cell).init(alloc); - try cells.ensureTotalCapacity(width * height); - try cells.appendNTimes(Cell.floor, width * height); - - 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 { - return (x < self.width and x >= 0 and y < self.height and y >= 0); - } - - pub fn lookup(self: Map, x: i32, y: i32) Cell { - // live dangerously, no bounds check - std.debug.assert(x >= 0 and y >= 0); // compiler hint? - return self.cells.items[@intCast(u32, y) * self.width + @intCast(u32, x)]; - } -}; -- cgit v1.3.1