[I can't handle your html mail so i'm not quoting it]
DrawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color);
This passes structs by "value" - it is not passing a pointer but the actual object. This works in arrangement with the C compiler.
To do this in cffi you have to load "cffi-libffi" subsystem first.
This is "documented" in the cffi manual under
- section 6.6 "Foreign Structure Types" - Functions "defcfun" "foreign funcall" - Glossary entry "aggregate type"
I suggest you read up on these and ask again if you have problems.
---
BTW I had submitted a patch to fix some problems with fsbv which was committed on 2020-02-26 but this was reverted in version-0.22.1 on 2020-05-12 - because of some problems with some google library.
I believe the actual fault was in a bug of omission in a commit d315a by Vadim Penzin in on 2014-12-02.
I'd pushed the fix for that for review on my personal branch in https://github.com/enometh/cffi/commit/74a15af823e3bfec7256e9a572c67962ed985...
but Luis doesn't seem to have found the time to check that.
The patch I had submitted (based on the suggestion from luis on this mailing list) fixes other problems I face but subtly changes the sytax for defcvars and my concern is user code may have to change - if it is written before it is fixed.