aboutsummaryrefslogtreecommitdiff
path: root/src/main.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.zig')
-rw-r--r--src/main.zig85
1 files changed, 53 insertions, 32 deletions
diff --git a/src/main.zig b/src/main.zig
index 47f89a7..8b77440 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -49,40 +49,61 @@ pub fn main() !void {
var map = try level.Map.new(16, 16, &gpa.allocator);
defer map.deinit();
- var y: u32 = 5;
- while (y < 10) : (y += 1) {
- // HACK
- const vert_coords0 = [_][2]f32{
- .{ 0.10, 0.10 },
- .{ 0.90, 0.10 },
- .{ 0.90, 0.90 },
- .{ 0.10, 0.90 },
- };
- var verts = try std.BoundedArray([2]f32, level.Layer.MAX_VERTS).fromSlice(vert_coords0[0..]);
- var layer = level.Layer{ .height = 0.5, .vertices = verts };
- try map.cells.items[07 * 16 + y].lower_layers.append(layer);
+ // floor
+ const square_coords = [_][2]f32{
+ .{ 0.00, 0.00 },
+ .{ 1.00, 0.00 },
+ .{ 1.00, 1.00 },
+ .{ 0.00, 1.00 },
+ };
- const vert_coords1 = [_][2]f32{
- .{ 0.75, 0.5 },
- .{ 0.72838634, 0.60168415 },
- .{ 0.66728264, 0.68578625 },
- .{ 0.57725424, 0.7377641 },
- .{ 0.47386786, 0.74863046 },
- .{ 0.375, 0.71650636 },
- .{ 0.29774573, 0.6469463 },
- .{ 0.2554631, 0.5519779 },
- .{ 0.25546312, 0.44802207 },
- .{ 0.29774576, 0.35305366 },
- .{ 0.37500003, 0.28349364 },
- .{ 0.47386792, 0.25136954 },
- .{ 0.5772543, 0.26223588 },
- .{ 0.6672827, 0.3142138 },
- .{ 0.7283864, 0.39831588 },
- };
- verts = try std.BoundedArray([2]f32, level.Layer.MAX_VERTS).fromSlice(vert_coords1[0..]);
+ var y: u32 = 0;
+ while (y < 16) : (y += 1) {
+ var x: usize = 0;
+ while (x < 16) : (x += 1) {
+ var floor_verts = try std.BoundedArray([2]f32, level.Layer.MAX_VERTS).fromSlice(square_coords[0..]);
+ try map.cells.items[y * 16 + x].lower_layers.append(level.Layer{ .height = 0, .vertices = floor_verts });
+ if (y == 0 or y == 15 or x == 0) {
+ try map.cells.items[y * 16 + x].lower_layers.append(level.Layer{ .height = 2, .vertices = floor_verts });
+ } else {
+ if (x == 15)
+ try map.cells.items[y * 16 + x].lower_layers.append(level.Layer{ .height = 2, .vertices = floor_verts, .vertical_texture = 2 });
+ }
+ if (y == 7 and x >= 5 and x <= 10) {
+ const vert_coords0 = [_][2]f32{
+ .{ 0.10, 0.10 },
+ .{ 0.90, 0.10 },
+ .{ 0.90, 0.90 },
+ .{ 0.10, 0.90 },
+ };
+ var verts = try std.BoundedArray([2]f32, level.Layer.MAX_VERTS).fromSlice(vert_coords0[0..]);
+ var layer = level.Layer{ .height = 0.5, .vertices = verts, .vertical_texture = 3, .horizontal_texture = 1 };
- layer = level.Layer{ .height = 1, .vertices = verts, .vertical_texture = 1, .horizontal_texture = 2, .vertical_texture_scale = 2 };
- try map.cells.items[07 * 16 + y].lower_layers.append(layer);
+ try map.cells.items[y * 16 + x].lower_layers.append(layer);
+
+ const vert_coords1 = [_][2]f32{
+ .{ 0.75, 0.5 },
+ .{ 0.72838634, 0.60168415 },
+ .{ 0.66728264, 0.68578625 },
+ .{ 0.57725424, 0.7377641 },
+ .{ 0.47386786, 0.74863046 },
+ .{ 0.375, 0.71650636 },
+ .{ 0.29774573, 0.6469463 },
+ .{ 0.2554631, 0.5519779 },
+ .{ 0.25546312, 0.44802207 },
+ .{ 0.29774576, 0.35305366 },
+ .{ 0.37500003, 0.28349364 },
+ .{ 0.47386792, 0.25136954 },
+ .{ 0.5772543, 0.26223588 },
+ .{ 0.6672827, 0.3142138 },
+ .{ 0.7283864, 0.39831588 },
+ };
+ verts = try std.BoundedArray([2]f32, level.Layer.MAX_VERTS).fromSlice(vert_coords1[0..]);
+
+ layer = level.Layer{ .height = 1, .vertices = verts, .vertical_texture = 1, .horizontal_texture = 2, .vertical_texture_scale = 2 };
+ try map.cells.items[y * 16 + x].lower_layers.append(layer);
+ }
+ }
}
try map.objects.append(level.Object{ .pos_x = 1.5, .pos_y = 7.5, .pos_z = 2, .texture = 2, .height = 1, .width = 1 });