diff --git a/examples/zig/build.zig b/examples/zig/build.zig index 5852a88..209daa0 100644 --- a/examples/zig/build.zig +++ b/examples/zig/build.zig @@ -5,11 +5,7 @@ pub fn build(b: *std.build.Builder) void { const lib = b.addSharedLibrary("cart", "main.zig", .unversioned); lib.setBuildMode(mode); - lib.setTarget(.{ - .cpu_arch = .wasm32, - .os_tag = .freestanding, - .cpu_features_add = std.Target.wasm.featureSet(&.{ .nontrapping_fptoint }) - }); + lib.setTarget(.{ .cpu_arch = .wasm32, .os_tag = .freestanding, .cpu_features_add = std.Target.wasm.featureSet(&.{.nontrapping_fptoint}) }); lib.import_memory = true; lib.initial_memory = 262144; lib.max_memory = 262144; @@ -18,19 +14,13 @@ pub fn build(b: *std.build.Builder) void { lib.install(); if (lib.install_step) |install_step| { - const run_filter_exports = b.addSystemCommand(&[_][]const u8{ - "uw8", "filter-exports", "zig-out/lib/cart.wasm", "zig-out/lib/cart-filtered.wasm" - }); + const run_filter_exports = b.addSystemCommand(&[_][]const u8{ "uw8", "filter-exports", "zig-out/lib/cart.wasm", "zig-out/lib/cart-filtered.wasm" }); run_filter_exports.step.dependOn(&install_step.step); - const run_wasm_opt = b.addSystemCommand(&[_][]const u8{ - "wasm-opt", "-Oz", "-o", "zig-out/cart.wasm", "zig-out/lib/cart-filtered.wasm" - }); + const run_wasm_opt = b.addSystemCommand(&[_][]const u8{ "wasm-opt", "--enable-nontrapping-float-to-int", "-Oz", "-o", "zig-out/cart.wasm", "zig-out/lib/cart-filtered.wasm" }); run_wasm_opt.step.dependOn(&run_filter_exports.step); - const run_uw8_pack = b.addSystemCommand(&[_][]const u8{ - "uw8", "pack", "-l", "9", "zig-out/cart.wasm", "zig-out/cart.uw8" - }); + const run_uw8_pack = b.addSystemCommand(&[_][]const u8{ "uw8", "pack", "-l", "9", "zig-out/cart.wasm", "zig-out/cart.uw8" }); run_uw8_pack.step.dependOn(&run_wasm_opt.step); const make_opt = b.step("make_opt", "make size optimized cart"); diff --git a/examples/zig/main.zig b/examples/zig/main.zig index 102b6e5..2d86f78 100644 --- a/examples/zig/main.zig +++ b/examples/zig/main.zig @@ -1,11 +1,11 @@ extern fn atan2(x: f32, y: f32) f32; extern fn time() f32; -pub const FRAMEBUFFER: *[320*240]u8 = @intToPtr(*[320*240]u8, 120); +pub const FRAMEBUFFER: *[320 * 240]u8 = @intToPtr(*[320 * 240]u8, 120); export fn upd() void { var i: u32 = 0; - while(true) { + while (true) { var t = time() * 63.0; var x = @intToFloat(f32, (@intCast(i32, i % 320) - 160)); var y = @intToFloat(f32, (@intCast(i32, i / 320) - 120)); @@ -13,8 +13,10 @@ export fn upd() void { var u = atan2(x, y) * 512.0 / 3.141; var c = @intCast(u8, (@floatToInt(i32, d + t * 2.0) ^ @floatToInt(i32, u + t)) & 255) >> 4; - FRAMEBUFFER[@as(usize, i)] = c; + FRAMEBUFFER[i] = c; i += 1; - if(i >= 320*240) { break; } + if (i >= 320 * 240) { + break; + } } -} \ No newline at end of file +}