implemented instance binding data usage
This commit changes the way C++ wrapper classes work.
Previously, wrapper classes were merely wrapper *interfaces*.
They used the `this` pointer to store the actual foreign Godot
Object.
With the NativeScript 1.1 extension it is now possible to have
low-overhead language binding data attached to Objects.
The C++ bindings use that feature to implement *proper* wrappers
and enable regular C++ inheritance usage that way.
Some things might still be buggy and untested, but the C++
SimpleDemo works with those changes.
new and free change, custom free will crash engine, be wary
fix exporting of non-object types
fix free() crash with custom resources
added type tags and safe object casting
fix global type registration order
fix cast_to
changed build system to be more self contained
updated .gitignore
use typeid() for type tags now
fix indentation in bindings generator
remove accidentally added files
fix gitignore
Fixed up registering tool and updated godot_headers
Fix crash when calling String::split/split_floats
Was casting to the wrong object type.
Also adds parse_ints function to String with the same logic
Better warning/error macros
Change gitignore so we get our gen folders
New documentation based on nativescript 1.1
Fixed GODOT_SUBCLASS macro
Preventing crash when function returned null ptr
Adds needed include <typeinfo>
Solves this issue #168 due to not having the include of typeinfo
Fix compile error of 'WARN_PRINT' and 'ERR_PRINT'.
cannot pass non-trivial object of type 'godot::String' to variadic function; expected type from format string was 'char *' [-Wnon-pod-varargs]
update vector3::distance_to
Remove godot_api.json as its now in the godot_headers submodule (api.json)
- The SCons option system is now used for validation
- An help message can now be displayed using `scons -h`
- New `use_mingw` option to compile using MinGW on Windows
- Removed `arch` in favor of `bits`
- Renamed `headers` to `headers_dir`
- Built libraries now contain the target in the file name
A PR and issue were already submitted related to this but they are dead
in the water for other reasons. I needed this fix as well, so I assume this isn't a one-off
error and that this information may be helpful to others.