{"repo":"gilzoide/cffi-gdextension","free":true,"listed":false,"github":"https://github.com/gilzoide/cffi-gdextension","clone":"git clone https://github.com/gilzoide/cffi-gdextension.git","description":"libffi bindings for Godot 4.1+","language":"C++","stars":21,"topics":["ffi","gdextension","godot","godot-addon","godot-plugin","godot4","libffi"],"license":"Unlicense","category":"game-templates","readme_excerpt":"CFFI GDExtension WIP libffi bindings for Godot 4.1+. Available at the Asset Library. ⚠️ Warning Misuse may easily crash the Godot editor and built games/apps, use with caution! Features - Supports Windows, Linux, macOS, iOS and Android platforms, including running in the Godot editor - Custom \".ffilibrary\" file format, which are INI files with a [libraries] section that defines paths to native libraries separately per platform/architecture, using the exact same format as \".gdextension\" files). They are imported as CFFILibrary resources. + TODO: support the [dependencies] section - Editor export plugin that bundles the correct native library in builds, based on the configurations from \".ffilibrary\" files - Supports built-in types like int and float , pointer types like const char and struct types + TODO: arrays, union, enums, function pointers - Scoped type definitions, so that different types can be defined with the same name in different libraries. - Instantiate FFI types using CFFIType.alloc . The returned CFFIOwnedValue is RefCounted and releases the memory automatically whenever it gets destroyed. - Get/set struct fields by name from CFFIPointer s - Construct String s and PackedByteArray s from CFFIPointer s with a single method call - Use Dictionaries as literal struct values, for example when calling a function - StreamPeerCFFIPointer , a stream peer used to handle binary data streams from native pointers Basic usage 1. Enable the cffi editor plugin in Project - Project","default_branch":null,"files":null,"tree":[],"storefront":"/r/gilzoide","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/gilzoide/cffi-gdextension/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}