Use world for isSolid in map
For some reason, I made all my map tile constants have to be shifted by one. It's very annoying.master
parent
c4663deb1f
commit
d81c1f5ab1
|
@ -2,6 +2,7 @@ const std = @import("std");
|
||||||
const assets = @import("assets");
|
const assets = @import("assets");
|
||||||
const util = @import("util.zig");
|
const util = @import("util.zig");
|
||||||
const w4 = @import("wasm4.zig");
|
const w4 = @import("wasm4.zig");
|
||||||
|
const world = @import("world.zig");
|
||||||
|
|
||||||
const Vec2 = util.Vec2;
|
const Vec2 = util.Vec2;
|
||||||
const Vec2f = util.Vec2f;
|
const Vec2f = util.Vec2f;
|
||||||
|
@ -127,7 +128,6 @@ pub fn collide(this: @This(), body: BodyInfo) CollisionInfo {
|
||||||
while (i <= @floatToInt(i32, bot_right[0])) : (i += 1) {
|
while (i <= @floatToInt(i32, bot_right[0])) : (i += 1) {
|
||||||
var a: isize = @floatToInt(i32, top_left[1]);
|
var a: isize = @floatToInt(i32, top_left[1]);
|
||||||
while (a <= @floatToInt(i32, bot_right[1])) : (a += 1) {
|
while (a <= @floatToInt(i32, bot_right[1])) : (a += 1) {
|
||||||
|
|
||||||
const tile = this.getTile(i, a) orelse continue;
|
const tile = this.getTile(i, a) orelse continue;
|
||||||
const tilex = @intToFloat(f32, i * tile_width);
|
const tilex = @intToFloat(f32, i * tile_width);
|
||||||
const tiley = @intToFloat(f32, a * tile_height);
|
const tiley = @intToFloat(f32, a * tile_height);
|
||||||
|
@ -147,7 +147,6 @@ pub fn collide(this: @This(), body: BodyInfo) CollisionInfo {
|
||||||
.size = tile_sizef,
|
.size = tile_sizef,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -173,11 +172,11 @@ pub const CollisionInfo = struct {
|
||||||
};
|
};
|
||||||
|
|
||||||
pub fn isSolid(tile: u8) bool {
|
pub fn isSolid(tile: u8) bool {
|
||||||
return tile >= 2;
|
return if (tile == 0) false else world.Tiles.is_solid(tile - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn isOneWay(tile: u8) bool {
|
pub fn isOneWay(tile: u8) bool {
|
||||||
return tile >= 34 and tile <= 36;
|
return if (tile == 0) false else world.Tiles.is_oneway(tile - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Debug functions
|
// Debug functions
|
||||||
|
|
Loading…
Reference in New Issue