branchFacepunch.BindingGen/mastercancel
89 Commits over 641 Days - 0.01cph!
Memcpy the new values back when using Ref<T>
Add fbxcast because fbx types don't work with dynamic_cast (really should have a custom way to specify casting)
DangerousGetPinnableReference -> GetPinnableReference
Fix broken cast that still compiled for some reason
Remove exception use in C++
Remove some C# 7 stuff from generated code
Include native header at the top of generated files
Add some code to let binds be used in other runtimes, including Unity
Deref marshaler dereferences native types
Allow nesting extensions
"naked extension" gets rid of prefix
Better primitive forward declaration, "requires public" to put include in header instead of cpp file
Make Buffer<T> use Span<T> in C#
Fix missing filename in parse error, compile error when using unrealptr
Lots of pointer work, sorted type definitions again to try and be more deterministic
* Can use UE4's smart pointers by applying "unrealptr" modifier to native type
* Expanded automatic null checking to work across all pointers instead of just UE4 GC objects
* Can have weak smart pointers (both std and UE4)
Always use \n for EOL, better indenting
Memcpy array elements coming from C# to prevent unaligned access exceptions
Coalesce null strings properly
Move accessibility modifier for types after native/managed so they actually work now
Fix properties being converted into get/set methods when in extensions
Show which file errors are from
Expand placeholder types to allow deeper type selection
Use private modifier to hide extended properties
Don't generate ambiguous indexers from extensions (fixes #50)
Coalesce null string to empty when marshaling
Update readme with some new stuff
Add support for indexers (fixes #46)
Fix duplicate method check for extensions
Add FName marshaller (try to avoid duplicate code)
Prefix initialize function with namespace to avoid collisions
Allow forward declaration for native types to be changed to struct
Add wrapper marshaler to do some null checks (fixes #37)
Add method aliases (fixes #48)
Selectively allow passing the class instance to static extension methods
First pass for extension methods
No more auto/var unless its DynamicCast (fixes #47), fix DynamicCast on set props
Allow parameterless unreal ctor
Fix argument null exception when using unreal constructor on derived type
Extract extension parameters by index
Prefix extension names so they can't collide
"Generic" extensions, allow the extension property to optionally be generated
Assign out params to default when catching exception (fixes #45)
Add support for Weak<T> where T is unreal type
More accurate generic marshaler handling
Fix "this" type for plain native defs