Karl Zylinski
banner
zylinski.se
Karl Zylinski
@zylinski.se
Wrote the eBook "Understanding the Odin Programming Language". Made the game "CAT & ONION". Check out what I'm up to these days: https://zylinski.se
How is doing 3D in raylib going BTW?
November 14, 2025 at 11:17 AM
ZII works better with simple languages that don't have c++ style references.

Just structs and pointers. And then if you don't want null pointers you can use index-based handles. Pre-fill those handle-based arrays with a dummy object at index 0. It becomes very smooth to rely on zeroed memory!
November 11, 2025 at 12:00 PM
Eeeeeee
November 3, 2025 at 10:55 PM
boo
November 1, 2025 at 11:33 PM
When writing I always try to make the text understandable without any image or diagram first. Then I add diagrams when some part still needs it. Texts that use diagrams as a crutch can get very hard to read.
October 26, 2025 at 7:13 PM
Here's a video that shows some new things and how I generate raylib bindings that are close to 1:1 with the ones in vendor: www.youtube.com/watch?v=cwQW...
odin-c-bindgen 2.0: Less bugs, more features!
YouTube video by Karl Zylinski
www.youtube.com
October 23, 2025 at 3:11 PM
Also, libclang will say that it is variadic.

In any case: In C, put (void) if you mean "no params"! Otherwise your code may cause warnings or errors on some compilers (extra important if you're making a library).
October 16, 2025 at 10:33 AM
What seems to be happening here is actually:
- MSVC converts it to (void) list automatically.
- But it doesn't show the usual warning that you passed too many arguments into a function.
October 16, 2025 at 10:28 AM
Yeah, if anyone uses it to do variadics then that's not very good.

But writing the list as () will produce warnings etc on certain compilers. So if you make a library, put (void) as parameter list, so your users don't get sad from it puking warnings.
October 16, 2025 at 10:27 AM
As an example, this compiles without any warnings on VS2022:
October 16, 2025 at 9:45 AM
I heard they fixed this in C23. However, many use old C versions such as C99, so the code works everywhere. That's half the point of C :)
October 16, 2025 at 7:50 AM
Yeah, I often see stuff like

rl.InitWindow(1280, 720, "My Window")
defer rl.CloseWindow()

🫠
October 14, 2025 at 9:51 PM