I love newLISP and I'm trying to use it for some graphics programming. So I'm writing a FFI module for the raylib library.
I've encountered an odd behavior of struct: If I define a 'struct' with one or more floats and pass it to 'pack', the float values are stored as zeroes. But surprisingly the same struct works well with 'unpack'. Here is an example:
(struct 'Vector2 "float" "float")
(pack Vector2 200 200) => returns " 00 00 00 00 00 00 00 00", which is wrong!
(pack "ff" 200 200) => returns " 00 00HC 00 00HC", which is what 'pack Vector2...' also should return
(unpack Vector2 (pack "ff" 200 200)) => returns (200 200) correctly!
I'm using newLISP 10.7.5 64-bit on Arch Linux with ffi and UTF-8 support enabled.
Is there a bug or am I doing something wrong?
Thanks in advance
Alfonso