public void Preprocess(Library lib) { lib.IgnoreHeadersWithName("API.h"); lib.IgnoreHeadersWithName("Concurrency.h"); lib.IgnoreHeadersWithName("ConcurrentQueue.h"); lib.IgnoreHeadersWithName("Delegate.h"); lib.IgnoreHeadersWithName("Event.h"); lib.IgnoreHeadersWithName("Handle.h"); lib.IgnoreHeadersWithName("Object.h"); lib.IgnoreHeadersWithName("Pointers.h"); lib.IgnoreHeadersWithName("References.h"); lib.IgnoreHeadersWithName("Reflection.h"); lib.IgnoreHeadersWithName("ReflectionHelpers.h"); //Core lib.IgnoreClassWithName("Object"); lib.IgnoreClassWithName("Class"); lib.IgnoreClassWithName("ReferenceCounted"); lib.IgnoreClassWithName("HandleManager"); lib.IgnoreClassWithName("Delegate0"); lib.IgnoreClassWithName("Delegate1"); lib.IgnoreClassWithName("Delegate2"); lib.IgnoreClassWithName("TaskPool"); lib.IgnoreClassWithName("ConcurrentQueue"); lib.SetClassAsValueType("StringHash"); lib.IgnoreClassWithName("RawStringCompare"); lib.SetClassAsValueType("LogEntry"); lib.IgnoreFunctionWithName("LogCreate"); lib.IgnoreFunctionWithName("AllocatorAllocate"); lib.IgnoreFunctionWithName("AllocatorDeallocate"); lib.SetNameOfFunction("AllocatorReset", "AllocatorResetMemory"); lib.IgnoreClassWithName("StreamFuncs"); lib.SetClassAsOpaque("FileStream"); lib.SetClassAsValueType("FileWatchEvent"); lib.IgnoreFunctionWithPattern(".+GetType"); lib.IgnoreFunctionWithName("ClassGetIdMap"); lib.IgnoreFunctionWithName("ReflectionSetHandleContext"); lib.IgnoreFunctionWithName("SerializerCreateJSON"); lib.IgnoreFunctionWithName("SerializerCreateBinary"); lib.IgnoreClassWithName("ReflectionContext"); lib.IgnoreClassWithName("ValueContext"); lib.SetClassAsValueType("ExtensionMetadata"); // Math lib.SetClassAsValueType("ColorP"); lib.SetClassAsValueType("Color"); lib.SetClassAsValueType("Vector2P"); lib.SetClassAsValueType("Vector2"); lib.SetClassAsValueType("Vector2i"); lib.SetClassAsValueType("Vector3P"); lib.SetClassAsValueType("Vector3"); lib.SetClassAsValueType("Vector4"); lib.SetClassAsValueType("EulerAngles"); lib.SetClassAsValueType("QuaternionP"); lib.SetClassAsValueType("Quaternion"); lib.SetClassAsValueType("Matrix4x3"); lib.SetClassAsValueType("Matrix4x4"); lib.IgnoreClassWithName("ColorP"); lib.IgnoreClassWithName("Vector2P"); lib.IgnoreClassWithName("Vector3P"); lib.IgnoreClassWithName("QuaternionP"); lib.SetNameOfClassMethod("Matrix4x3", "identity", "setIdentity"); lib.SetNameOfClassMethod("Matrix4x4", "identity", "setIdentity"); lib.SetNameOfClassMethod("Quaternion", "identity", "setIdentity"); lib.SetNameOfClassMethod("Vector2", "zero", "setZero"); lib.SetNameOfClassMethod("Vector3", "zero", "setZero"); lib.SetNameOfClassMethod("Vector4", "zero", "setZero"); // Resources lib.IgnoreFunctionWithName("ResourcesInitialize"); lib.IgnoreFunctionWithName("ResourcesDeinitialize"); //lib.SetClassAsValueType("ResourceEvent"); lib.SetClassAsValueType("ResourceLoadOption"); lib.SetClassAsValueType("ResourceLoadOptions"); lib.SetNameOfClassMethod("Texture", "allocate", "alloc"); lib.ExcludeFromPass("ResourceHandleCreate", typeof(FunctionToInstanceMethodPass)); // Graphics lib.SetClassAsValueType("RenderContextSettings"); lib.SetClassAsValueType("RenderBatchRange"); lib.SetClassAsValueType("VertexElementP"); lib.SetClassAsValueType("VertexElement"); lib.SetClassAsValueType("UniformBufferElement"); lib.SetClassAsValueType("RenderBlock"); lib.SetClassAsValueType("RenderState"); lib.SetClassAsValueType("LightState"); // Engine lib.IgnoreClassMethodWithName("Engine", "addSubsystem"); lib.SetClassAsValueType("Settings"); lib.SetClassAsValueType("WindowSettings"); lib.SetEnumAsFlags("WindowStyles"); }