diff options
| -rw-r--r-- | src/main.zig | 5 | ||||
| -rw-r--r-- | src/raycast.zig | 8 | ||||
| -rw-r--r-- | src/renderConstants.zig | 8 | ||||
| -rw-r--r-- | walls.png | bin | 964 -> 1050 bytes |
4 files changed, 12 insertions, 9 deletions
diff --git a/src/main.zig b/src/main.zig index 64da425..aef559f 100644 --- a/src/main.zig +++ b/src/main.zig @@ -28,9 +28,6 @@ usingnamespace @import("raycast.zig"); usingnamespace @import("renderConstants.zig"); usingnamespace @import("map.zig"); -const screenWidth = 1280; -const screenHeight = 960; - // TODO: is there anyway i can say fn renderWall : RenderWallFunction? fn renderWall( window: sf.graphics.RenderWindow, @@ -116,7 +113,7 @@ pub fn main() !void { var backSprite = try sf.Sprite.createFromTexture(backTexture); defer backSprite.destroy(); - backSprite.setScale(.{ .x = 4.0 * @intToFloat(f32, screenWidth) / backTextureWidth, .y = @intToFloat(f32, screenHeight) / (2 * backTextureHeight) }); + backSprite.setScale(.{ .x = 4.0 * screenWidth / backTextureWidth, .y = screenHeight / (2 * backTextureHeight) }); // Load brick texture! var wallTexture = try sf.Texture.createFromFile("walls.png"); diff --git a/src/raycast.zig b/src/raycast.zig index 6acc16b..608bb10 100644 --- a/src/raycast.zig +++ b/src/raycast.zig @@ -84,11 +84,15 @@ pub const Player = struct { pub fn renderMapUsing( self: Player, window: RenderWindow, - sprite: Sprite, + wallSprite: Sprite, map: Map, // the abstract the rendering call renderWall: RenderWallFunction, ) void { + self.renderWalls(window, wallSprite, map, renderWall); + } + + fn renderWalls(self: Player, window: RenderWindow, wallSprite: Sprite, map: Map, renderWall: RenderWallFunction) void { const floor = std.math.floor; var col: i32 = 0; @@ -183,7 +187,7 @@ pub const Player = struct { // textures, in this case clockwise if ((horizontal_hit and sinra < 0) or (!horizontal_hit and cosra > 0)) texfrac = 1 - texfrac; - renderWall(window, sprite, col, top, total_length, draw_frac, texfrac, cell.wall_texture); + renderWall(window, wallSprite, col, top, total_length, draw_frac, texfrac, cell.wall_texture); highest_point = top; } diff --git a/src/renderConstants.zig b/src/renderConstants.zig index aa477ee..2dbadee 100644 --- a/src/renderConstants.zig +++ b/src/renderConstants.zig @@ -14,11 +14,13 @@ // // You should have received a copy of the GNU General Public License // along with this program. If not, see <https://www.gnu.org/licenses/>. +pub const screenWidth: f32 = 1024; +pub const screenHeight: f32 = 768; pub const planeWidth = 320; pub const planeHeight = 240; -pub const backTextureWidth: f32 = 1280.0; -pub const backTextureHeight: f32 = 240.0; +pub const backTextureWidth: f32 = 1280; +pub const backTextureHeight: f32 = 240; -pub const wallTextureDim: f32 = 16.0; +pub const wallTextureDim: f32 = 32.0; Binary files differ |
