From 9d9daa7127846efa46cdf990f69307e49623b008 Mon Sep 17 00:00:00 2001 From: Nikolas Date: Fri, 3 Apr 2026 20:58:36 +0200 Subject: [PATCH] Fix examples --- examples/models/models_bone_socket.zig | 12 ++++++------ examples/shaders/shaders_basic_pbr.zig | 5 +---- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/examples/models/models_bone_socket.zig b/examples/models/models_bone_socket.zig index a044752..c0c2a72 100644 --- a/examples/models/models_bone_socket.zig +++ b/examples/models/models_bone_socket.zig @@ -38,7 +38,7 @@ pub fn main() anyerror!void { // Load gltf model animations var animIndex: usize = 0; - var animCurrentFrame: i32 = 0; + var animCurrentFrame: f32 = 0; const modelAnimations = try rl.loadModelAnimations("examples/models/resources/models/gltf/greenman.glb"); const animsCount = modelAnimations.len; defer rl.unloadModelAnimations(modelAnimations); @@ -47,8 +47,8 @@ pub fn main() anyerror!void { var boneSocketIndex: [BONE_SOCKETS]usize = undefined; // search bones for sockets - for (0..@as(usize, @intCast(characterModel.boneCount))) |i| { - const boneName: [:0]const u8 = @ptrCast(&characterModel.bones[i].name); + for (0..@as(usize, @intCast(characterModel.skeleton.boneCount))) |i| { + const boneName: [:0]const u8 = @ptrCast(&characterModel.skeleton.bones[i].name); if (rl.textIsEqual(boneName, "socket_hat")) { boneSocketIndex[BONE_SOCKET_HAT] = i; continue; @@ -96,7 +96,7 @@ pub fn main() anyerror!void { // Update model animation const anim = modelAnimations[animIndex]; - animCurrentFrame = @mod(animCurrentFrame + 1, anim.frameCount); + animCurrentFrame = @mod(animCurrentFrame + 1, @as(f32, @floatFromInt(anim.keyframeCount))); rl.updateModelAnimation(characterModel, anim, animCurrentFrame); //---------------------------------------------------------------------------------- @@ -120,8 +120,8 @@ pub fn main() anyerror!void { for (0..BONE_SOCKETS) |i| { if (!showEquip[i]) continue; - const transform = &anim.framePoses[@intCast(animCurrentFrame)][boneSocketIndex[i]]; - const inRotation = characterModel.bindPose[boneSocketIndex[i]].rotation; + const transform = &anim.keyframePoses[@as(usize, @intFromFloat(animCurrentFrame))][boneSocketIndex[i]]; + const inRotation = characterModel.skeleton.bindPose[boneSocketIndex[i]].rotation; const outRotation = transform.rotation; // Calculate socket rotation (angle between bone in initial pose and same bone in current animation frame) diff --git a/examples/shaders/shaders_basic_pbr.zig b/examples/shaders/shaders_basic_pbr.zig index da73a0f..533f460 100644 --- a/examples/shaders/shaders_basic_pbr.zig +++ b/examples/shaders/shaders_basic_pbr.zig @@ -41,10 +41,7 @@ const Light = extern struct { type: Type = .directional, enabled: bool = false, _enabled_pad1: u8 = 0, - _enabled_pad2: @Type(.{.int = .{ - .signedness = .unsigned, - .bits = @bitSizeOf(c_uint) - 16, - }}) = 0, + _enabled_pad2: @Int(.unsigned, @bitSizeOf(c_uint) - 16) = 0, position: rl.Vector3 = .init(0, 0, 0), target: rl.Vector3 = .init(0, 0, 0), color: [4]f32 = .{ 0, 0, 0, 0 },