From c9ce931946559ade4fcf914d5fed160768b29fa0 Mon Sep 17 00:00:00 2001 From: Not-Nik Date: Fri, 21 Jul 2023 18:01:59 +0200 Subject: [PATCH 1/3] Correctly call image functions from members --- lib/preludes/raylib-zig-prelude.zig | 34 ++++++++++++++--------------- lib/raylib-zig.zig | 34 ++++++++++++++--------------- 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/lib/preludes/raylib-zig-prelude.zig b/lib/preludes/raylib-zig-prelude.zig index 8aeae59..f39b6c5 100755 --- a/lib/preludes/raylib-zig-prelude.zig +++ b/lib/preludes/raylib-zig-prelude.zig @@ -337,71 +337,71 @@ pub const Image = extern struct { } pub fn getColor(self: Image, x: i32, y: i32) Color { - return cdef.GetImageColor(self, x, y); + return rl.getImageColor(self, x, y); } pub fn clearBackground(self: *Image, color: Color) void { - cdef.ImageClearBackground(self, color); + rl.imageClearBackground(self, color); } pub fn drawPixel(self: *Image, posX: i32, posY: i32, color: Color) void { - cdef.ImageDrawPixel(self, posX, posY, color); + rl.imageDrawPixel(self, posX, posY, color); } pub fn drawPixelV(self: *Image, position: Vector2, color: Color) void { - cdef.ImageDrawPixelV(self, position, color); + rl.imageDrawPixelV(self, position, color); } pub fn drawLine(self: *Image, startPosX: i32, startPosY: i32, endPosX: i32, endPosY: i32, color: Color) void { - cdef.ImageDrawLine(self, startPosX, startPosY, endPosX, endPosY, color); + rl.imageDrawLine(self, startPosX, startPosY, endPosX, endPosY, color); } pub fn drawLineV(self: *Image, start: Vector2, end: Vector2, color: Color) void { - cdef.ImageDrawLineV(self, start, end, color); + rl.imageDrawLineV(self, start, end, color); } pub fn drawCircle(self: *Image, centerX: i32, centerY: i32, radius: i32, color: Color) void { - cdef.ImageDrawCircle(self, centerX, centerY, radius, color); + rl.imageDrawCircle(self, centerX, centerY, radius, color); } pub fn drawCircleV(self: *Image, center: Vector2, radius: i32, color: Color) void { - cdef.ImageDrawCircleV(self, center, radius, color); + rl.imageDrawCircleV(self, center, radius, color); } pub fn drawCircleLines(self: *Image, centerX: i32, centerY: i32, radius: i32, color: Color) void { - cdef.ImageDrawCircleLines(self, centerX, centerY, radius, color); + rl.imageDrawCircleLines(self, centerX, centerY, radius, color); } pub fn drawCircleLinesV(self: *Image, center: Vector2, radius: i32, color: Color) void { - cdef.ImageDrawCircleLinesV(self, center, radius, color); + rl.imageDrawCircleLinesV(self, center, radius, color); } pub fn drawRectangle(self: *Image, posX: i32, posY: i32, width: i32, height: i32, color: Color) void { - cdef.ImageDrawRectangle(self, posX, posY, width, height, color); + rl.imageDrawRectangle(self, posX, posY, width, height, color); } pub fn drawRectangleV(self: *Image, position: Vector2, size: Vector2, color: Color) void { - cdef.ImageDrawRectangleV(self, position, size, color); + rl.imageDrawRectangleV(self, position, size, color); } pub fn drawRectangleRec(self: *Image, rec: Rectangle, color: Color) void { - cdef.ImageDrawRectangleRec(self, rec, color); + rl.imageDrawRectangleRec(self, rec, color); } pub fn drawRectangleLines(self: *Image, rec: Rectangle, thick: i32, color: Color) void { - cdef.ImageDrawRectangleLines(self, rec, @as(c_int, thick), color); + rl.imageDrawRectangleLines(self, rec, thick, color); } pub fn drawImage(self: *Image, src: Image, srcRec: Rectangle, dstRec: Rectangle, t: Color) void { - cdef.ImageDraw(self, src, srcRec, dstRec, t); + rl.imageDraw(self, src, srcRec, dstRec, t); } pub fn drawText(self: *Image, text: [:0]const u8, posX: i32, posY: i32, fontSize: i32, color: Color) void { - cdef.ImageDrawText(self, @ptrCast([*c]const u8, text), posX, posY, fontSize, color); + rl.imageDrawText(self, text, posX, posY, fontSize, color); } pub fn drawTextEx(self: *Image, font: Font, text: [:0]const u8, position: Vector2, fontSize: f32, spacing: f32, t: Color) void { - cdef.ImageDrawTextEx(self, font, @ptrCast([*c]const u8, text), position, fontSize, spacing, t); + rl.imageDrawTextEx(self, font, text, position, fontSize, spacing, t); } pub fn exportToFile(self: Image, fileName: [:0]const u8) bool { diff --git a/lib/raylib-zig.zig b/lib/raylib-zig.zig index 5c1ba16..2194e01 100644 --- a/lib/raylib-zig.zig +++ b/lib/raylib-zig.zig @@ -337,71 +337,71 @@ pub const Image = extern struct { } pub fn getColor(self: Image, x: i32, y: i32) Color { - return cdef.GetImageColor(self, x, y); + return rl.getImageColor(self, x, y); } pub fn clearBackground(self: *Image, color: Color) void { - cdef.ImageClearBackground(self, color); + rl.imageClearBackground(self, color); } pub fn drawPixel(self: *Image, posX: i32, posY: i32, color: Color) void { - cdef.ImageDrawPixel(self, posX, posY, color); + rl.imageDrawPixel(self, posX, posY, color); } pub fn drawPixelV(self: *Image, position: Vector2, color: Color) void { - cdef.ImageDrawPixelV(self, position, color); + rl.imageDrawPixelV(self, position, color); } pub fn drawLine(self: *Image, startPosX: i32, startPosY: i32, endPosX: i32, endPosY: i32, color: Color) void { - cdef.ImageDrawLine(self, startPosX, startPosY, endPosX, endPosY, color); + rl.imageDrawLine(self, startPosX, startPosY, endPosX, endPosY, color); } pub fn drawLineV(self: *Image, start: Vector2, end: Vector2, color: Color) void { - cdef.ImageDrawLineV(self, start, end, color); + rl.imageDrawLineV(self, start, end, color); } pub fn drawCircle(self: *Image, centerX: i32, centerY: i32, radius: i32, color: Color) void { - cdef.ImageDrawCircle(self, centerX, centerY, radius, color); + rl.imageDrawCircle(self, centerX, centerY, radius, color); } pub fn drawCircleV(self: *Image, center: Vector2, radius: i32, color: Color) void { - cdef.ImageDrawCircleV(self, center, radius, color); + rl.imageDrawCircleV(self, center, radius, color); } pub fn drawCircleLines(self: *Image, centerX: i32, centerY: i32, radius: i32, color: Color) void { - cdef.ImageDrawCircleLines(self, centerX, centerY, radius, color); + rl.imageDrawCircleLines(self, centerX, centerY, radius, color); } pub fn drawCircleLinesV(self: *Image, center: Vector2, radius: i32, color: Color) void { - cdef.ImageDrawCircleLinesV(self, center, radius, color); + rl.imageDrawCircleLinesV(self, center, radius, color); } pub fn drawRectangle(self: *Image, posX: i32, posY: i32, width: i32, height: i32, color: Color) void { - cdef.ImageDrawRectangle(self, posX, posY, width, height, color); + rl.imageDrawRectangle(self, posX, posY, width, height, color); } pub fn drawRectangleV(self: *Image, position: Vector2, size: Vector2, color: Color) void { - cdef.ImageDrawRectangleV(self, position, size, color); + rl.imageDrawRectangleV(self, position, size, color); } pub fn drawRectangleRec(self: *Image, rec: Rectangle, color: Color) void { - cdef.ImageDrawRectangleRec(self, rec, color); + rl.imageDrawRectangleRec(self, rec, color); } pub fn drawRectangleLines(self: *Image, rec: Rectangle, thick: i32, color: Color) void { - cdef.ImageDrawRectangleLines(self, rec, @as(c_int, thick), color); + rl.imageDrawRectangleLines(self, rec, thick, color); } pub fn drawImage(self: *Image, src: Image, srcRec: Rectangle, dstRec: Rectangle, t: Color) void { - cdef.ImageDraw(self, src, srcRec, dstRec, t); + rl.imageDraw(self, src, srcRec, dstRec, t); } pub fn drawText(self: *Image, text: [:0]const u8, posX: i32, posY: i32, fontSize: i32, color: Color) void { - cdef.ImageDrawText(self, @ptrCast([*c]const u8, text), posX, posY, fontSize, color); + rl.imageDrawText(self, text, posX, posY, fontSize, color); } pub fn drawTextEx(self: *Image, font: Font, text: [:0]const u8, position: Vector2, fontSize: f32, spacing: f32, t: Color) void { - cdef.ImageDrawTextEx(self, font, @ptrCast([*c]const u8, text), position, fontSize, spacing, t); + rl.imageDrawTextEx(self, font, text, position, fontSize, spacing, t); } pub fn exportToFile(self: Image, fileName: [:0]const u8) bool { From c4770140a45b64f6aca83febed6742960ee1b4ef Mon Sep 17 00:00:00 2001 From: Not-Nik Date: Fri, 21 Jul 2023 21:26:04 +0200 Subject: [PATCH 2/3] Type fixes --- lib/preludes/raylib-zig-prelude.zig | 26 +++++++++++++------------- lib/raylib-zig.zig | 26 +++++++++++++------------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/lib/preludes/raylib-zig-prelude.zig b/lib/preludes/raylib-zig-prelude.zig index f39b6c5..a260e2a 100755 --- a/lib/preludes/raylib-zig-prelude.zig +++ b/lib/preludes/raylib-zig-prelude.zig @@ -1195,7 +1195,7 @@ pub fn loadShaderFromMemory(vsCode: ?[:0]const u8, fsCode: ?[:0]const u8) Shader } pub fn loadFileData(fileName: [:0]const u8) []u8 { - var bytesRead = 0; + var bytesRead: i32 = 0; var res: []u8 = undefined; res.ptr = @ptrCast([*]u8, cdef.LoadFileData(@ptrCast([*c]const u8, fileName), @ptrCast([*c]c_uint, &bytesRead))); res.len = @intCast(usize, bytesRead); @@ -1211,7 +1211,7 @@ pub fn exportDataAsCode(data: []const u8, fileName: [:0]const u8) bool { } pub fn compressData(data: []const u8) [:0]u8 { - var compDataSize = 0; + var compDataSize: i32 = 0; var res: []u8 = undefined; res.ptr = cdef.CompressData(@ptrCast([*c]const u8, data), @intCast(c_int, data.len), @ptrCast([*c]c_int, &compDataSize)); res.len = @intCast(usize, compDataSize); @@ -1219,7 +1219,7 @@ pub fn compressData(data: []const u8) [:0]u8 { } pub fn decompressData(compData: []const u8) [:0]u8 { - var dataSize = 0; + var dataSize: i32 = 0; var res: []u8 = undefined; res.ptr = cdef.DecompressData(@ptrCast([*c]const u8, compData), @intCast(c_int, compData.len), @ptrCast([*c]c_int, &dataSize)); res.len = @intCast(usize, dataSize); @@ -1227,7 +1227,7 @@ pub fn decompressData(compData: []const u8) [:0]u8 { } pub fn encodeDataBase64(data: []const u8) []u8 { - var outputSize = 0; + var outputSize: i32 = 0; var res: []u8 = undefined; res.ptr = cdef.EncodeDataBase64(@ptrCast([*c]const u8, data), @intCast(c_int, data.len), @ptrCast([*c]c_int, &outputSize)); res.len = @intCast(usize, outputSize); @@ -1235,14 +1235,14 @@ pub fn encodeDataBase64(data: []const u8) []u8 { } pub fn decodeDataBase64(data: []const u8) []u8 { - var outputSize = 0; + var outputSize: i32 = 0; var res: []u8 = undefined; res.ptr = cdef.DecodeDataBase64(@ptrCast([*c]const u8, data), @ptrCast([*c]c_int, &outputSize)); res.len = @intCast(usize, outputSize); return res; } -pub fn loadImageFromMemory(fileType: [:0]const u8, fileData: [:0]const u8) Image { +pub fn loadImageFromMemory(fileType: [:0]const u8, fileData: []const u8) Image { return cdef.LoadImageFromMemory(@ptrCast([*c]const u8, fileType), @ptrCast([*c]const u8, fileData), @intCast(c_int, fileData.len)); } @@ -1254,7 +1254,7 @@ pub fn loadImageColors(image: Image) []Color { } pub fn loadImagePalette(image: Image, maxPaletteSize: i32) []Color { - var colorCount = 0; + var colorCount: i32 = 0; var res: []Color = undefined; res.ptr = @ptrCast([*]Color, cdef.LoadImagePalette(image, @as(c_int, maxPaletteSize), @ptrCast([*c]c_int, &colorCount))); res.len = @intCast(usize, colorCount); @@ -1263,10 +1263,10 @@ pub fn loadImagePalette(image: Image, maxPaletteSize: i32) []Color { pub fn loadFontFromMemory(fileType: [:0]const u8, fileData: ?[]const u8, fontSize: i32, fontChars: []i32) Font { var fileDataFinal = @as([*c]const u8, 0); - var fileDataLen = 0; + var fileDataLen: i32 = 0; if (fileData) |fileDataSure| { fileDataFinal = @ptrCast([*c]const u8, fileDataSure); - fileDataLen = fileDataSure.len; + fileDataLen = @intCast(i32, fileDataSure.len); } return cdef.LoadFontFromMemory(@ptrCast([*c]const u8, fileType), @ptrCast([*c]const u8, fileDataFinal), @intCast(c_int, fileDataLen), @as(c_int, fontSize), @ptrCast([*c]c_int, fontChars), @intCast(c_int, fontChars.len)); } @@ -1282,7 +1282,7 @@ pub fn loadCodepoints(text: [:0]const u8) []i32 { if (@sizeOf(c_int) != @sizeOf(i32)) { @compileError("Can't cast pointer to c_int array to i32 because they don't have the same size"); } - var count = 0; + var count: i32 = 0; var res: []i32 = undefined; res.ptr = @ptrCast([*]i32, cdef.LoadCodepoints(@ptrCast([*c]const u8, text), @ptrCast([*c]c_int, &count))); res.len = @intCast(usize, count); @@ -1294,7 +1294,7 @@ pub fn textFormat(text: [:0]const u8, args: anytype) [:0]const u8 { } pub fn textSplit(text: [:0]const u8, delimiter: u8) [][:0]const u8 { - var count = 0; + var count: i32 = 0; var res: [][*]const u8 = undefined; res.ptr = @ptrCast([*][*]const u8, cdef.TextSplit(@ptrCast([*c]const u8, text), delimiter, @ptrCast([*c]c_int, &count))); res.len = @intCast(usize, count); @@ -1306,7 +1306,7 @@ pub fn drawMeshInstanced(mesh: Mesh, material: Material, transforms: []const Mat } pub fn loadMaterials(fileName: [:0]const u8) []Material { - var materialCount = 0; + var materialCount: i32 = 0; var res: []Material = undefined; res.ptr = @ptrCast([*]Material, cdef.LoadMaterials(@ptrCast([*c]const u8, fileName), @ptrCast([*c]c_int, &materialCount))); res.len = @intCast(usize, materialCount); @@ -1314,7 +1314,7 @@ pub fn loadMaterials(fileName: [:0]const u8) []Material { } pub fn loadModelAnimations(fileName: [:0]const u8) []ModelAnimation { - var animCount = 0; + var animCount: i32 = 0; var res: []ModelAnimation = undefined; res.ptr = @ptrCast([*]ModelAnimation, cdef.LoadModelAnimations(@ptrCast([*c]const u8, fileName), @ptrCast([*c]c_uint, &animCount))); res.len = @intCast(usize, animCount); diff --git a/lib/raylib-zig.zig b/lib/raylib-zig.zig index 2194e01..4551282 100644 --- a/lib/raylib-zig.zig +++ b/lib/raylib-zig.zig @@ -1195,7 +1195,7 @@ pub fn loadShaderFromMemory(vsCode: ?[:0]const u8, fsCode: ?[:0]const u8) Shader } pub fn loadFileData(fileName: [:0]const u8) []u8 { - var bytesRead = 0; + var bytesRead: i32 = 0; var res: []u8 = undefined; res.ptr = @ptrCast([*]u8, cdef.LoadFileData(@ptrCast([*c]const u8, fileName), @ptrCast([*c]c_uint, &bytesRead))); res.len = @intCast(usize, bytesRead); @@ -1211,7 +1211,7 @@ pub fn exportDataAsCode(data: []const u8, fileName: [:0]const u8) bool { } pub fn compressData(data: []const u8) [:0]u8 { - var compDataSize = 0; + var compDataSize: i32 = 0; var res: []u8 = undefined; res.ptr = cdef.CompressData(@ptrCast([*c]const u8, data), @intCast(c_int, data.len), @ptrCast([*c]c_int, &compDataSize)); res.len = @intCast(usize, compDataSize); @@ -1219,7 +1219,7 @@ pub fn compressData(data: []const u8) [:0]u8 { } pub fn decompressData(compData: []const u8) [:0]u8 { - var dataSize = 0; + var dataSize: i32 = 0; var res: []u8 = undefined; res.ptr = cdef.DecompressData(@ptrCast([*c]const u8, compData), @intCast(c_int, compData.len), @ptrCast([*c]c_int, &dataSize)); res.len = @intCast(usize, dataSize); @@ -1227,7 +1227,7 @@ pub fn decompressData(compData: []const u8) [:0]u8 { } pub fn encodeDataBase64(data: []const u8) []u8 { - var outputSize = 0; + var outputSize: i32 = 0; var res: []u8 = undefined; res.ptr = cdef.EncodeDataBase64(@ptrCast([*c]const u8, data), @intCast(c_int, data.len), @ptrCast([*c]c_int, &outputSize)); res.len = @intCast(usize, outputSize); @@ -1235,14 +1235,14 @@ pub fn encodeDataBase64(data: []const u8) []u8 { } pub fn decodeDataBase64(data: []const u8) []u8 { - var outputSize = 0; + var outputSize: i32 = 0; var res: []u8 = undefined; res.ptr = cdef.DecodeDataBase64(@ptrCast([*c]const u8, data), @ptrCast([*c]c_int, &outputSize)); res.len = @intCast(usize, outputSize); return res; } -pub fn loadImageFromMemory(fileType: [:0]const u8, fileData: [:0]const u8) Image { +pub fn loadImageFromMemory(fileType: [:0]const u8, fileData: []const u8) Image { return cdef.LoadImageFromMemory(@ptrCast([*c]const u8, fileType), @ptrCast([*c]const u8, fileData), @intCast(c_int, fileData.len)); } @@ -1254,7 +1254,7 @@ pub fn loadImageColors(image: Image) []Color { } pub fn loadImagePalette(image: Image, maxPaletteSize: i32) []Color { - var colorCount = 0; + var colorCount: i32 = 0; var res: []Color = undefined; res.ptr = @ptrCast([*]Color, cdef.LoadImagePalette(image, @as(c_int, maxPaletteSize), @ptrCast([*c]c_int, &colorCount))); res.len = @intCast(usize, colorCount); @@ -1263,10 +1263,10 @@ pub fn loadImagePalette(image: Image, maxPaletteSize: i32) []Color { pub fn loadFontFromMemory(fileType: [:0]const u8, fileData: ?[]const u8, fontSize: i32, fontChars: []i32) Font { var fileDataFinal = @as([*c]const u8, 0); - var fileDataLen = 0; + var fileDataLen: i32 = 0; if (fileData) |fileDataSure| { fileDataFinal = @ptrCast([*c]const u8, fileDataSure); - fileDataLen = fileDataSure.len; + fileDataLen = @intCast(i32, fileDataSure.len); } return cdef.LoadFontFromMemory(@ptrCast([*c]const u8, fileType), @ptrCast([*c]const u8, fileDataFinal), @intCast(c_int, fileDataLen), @as(c_int, fontSize), @ptrCast([*c]c_int, fontChars), @intCast(c_int, fontChars.len)); } @@ -1282,7 +1282,7 @@ pub fn loadCodepoints(text: [:0]const u8) []i32 { if (@sizeOf(c_int) != @sizeOf(i32)) { @compileError("Can't cast pointer to c_int array to i32 because they don't have the same size"); } - var count = 0; + var count: i32 = 0; var res: []i32 = undefined; res.ptr = @ptrCast([*]i32, cdef.LoadCodepoints(@ptrCast([*c]const u8, text), @ptrCast([*c]c_int, &count))); res.len = @intCast(usize, count); @@ -1294,7 +1294,7 @@ pub fn textFormat(text: [:0]const u8, args: anytype) [:0]const u8 { } pub fn textSplit(text: [:0]const u8, delimiter: u8) [][:0]const u8 { - var count = 0; + var count: i32 = 0; var res: [][*]const u8 = undefined; res.ptr = @ptrCast([*][*]const u8, cdef.TextSplit(@ptrCast([*c]const u8, text), delimiter, @ptrCast([*c]c_int, &count))); res.len = @intCast(usize, count); @@ -1306,7 +1306,7 @@ pub fn drawMeshInstanced(mesh: Mesh, material: Material, transforms: []const Mat } pub fn loadMaterials(fileName: [:0]const u8) []Material { - var materialCount = 0; + var materialCount: i32 = 0; var res: []Material = undefined; res.ptr = @ptrCast([*]Material, cdef.LoadMaterials(@ptrCast([*c]const u8, fileName), @ptrCast([*c]c_int, &materialCount))); res.len = @intCast(usize, materialCount); @@ -1314,7 +1314,7 @@ pub fn loadMaterials(fileName: [:0]const u8) []Material { } pub fn loadModelAnimations(fileName: [:0]const u8) []ModelAnimation { - var animCount = 0; + var animCount: i32 = 0; var res: []ModelAnimation = undefined; res.ptr = @ptrCast([*]ModelAnimation, cdef.LoadModelAnimations(@ptrCast([*c]const u8, fileName), @ptrCast([*c]c_uint, &animCount))); res.len = @intCast(usize, animCount); From ad06ecef54cad8d4f2375c8da832161127f53dcb Mon Sep 17 00:00:00 2001 From: Not-Nik Date: Sat, 22 Jul 2023 23:20:06 +0200 Subject: [PATCH 3/3] Fix 3d camera first person example --- examples/core/3d_camera_first_person.zig | 2 -- 1 file changed, 2 deletions(-) diff --git a/examples/core/3d_camera_first_person.zig b/examples/core/3d_camera_first_person.zig index 3f41878..7033876 100644 --- a/examples/core/3d_camera_first_person.zig +++ b/examples/core/3d_camera_first_person.zig @@ -73,8 +73,6 @@ pub fn main() anyerror!void { rl.drawText("First person camera default controls:", 20, 20, 10, rl.Color.black); rl.drawText("- Move with keys: W, A, S, D", 40, 40, 10, rl.Color.dark_gray); rl.drawText("- Mouse move to look around", 40, 60, 10, rl.Color.dark_gray); - - rl.endDrawing(); //---------------------------------------------------------------------------------- } }