Fix GDNative API procedure declarations
Earlier signature mismatch caused problems on macOS with Godot 3.1.
This commit is contained in:
parent
859f9f04fb
commit
e9d73d8ec4
10 changed files with 342 additions and 272 deletions
|
|
@ -45,7 +45,15 @@ template genPoolArrayAPI(ArrayT, initIdent, DataT,
|
|||
getGDNativeAPI().setProc(self, idx, data)
|
||||
|
||||
proc `[]`*(self: ArrayT; idx: cint): DataT {.inline.} =
|
||||
getGDNativeAPI().getProc(self, idx)
|
||||
let data = getGDNativeAPI().getProc(self, idx)
|
||||
when DataT is Color:
|
||||
data.toColor()
|
||||
elif DataT is Vector2:
|
||||
data.toVector2()
|
||||
elif DataT is Vector3:
|
||||
data.toVector3()
|
||||
else:
|
||||
data
|
||||
|
||||
proc len*(self: ArrayT): cint {.inline.} =
|
||||
getGDNativeAPI().sizeProc(self)
|
||||
|
|
|
|||
|
|
@ -121,34 +121,34 @@ proc asGodotString*(self: GodotVariant): GodotString {.inline.} =
|
|||
getGDNativeAPI().variantAsString(self)
|
||||
|
||||
proc asVector2*(self: GodotVariant): Vector2 {.inline.} =
|
||||
getGDNativeAPI().variantAsVector2(self)
|
||||
getGDNativeAPI().variantAsVector2(self).toVector2()
|
||||
|
||||
proc asRect2*(self: GodotVariant): Rect2 {.inline.} =
|
||||
getGDNativeAPI().variantAsRect2(self)
|
||||
getGDNativeAPI().variantAsRect2(self).toRect2()
|
||||
|
||||
proc asVector3*(self: GodotVariant): Vector3 {.inline.} =
|
||||
getGDNativeAPI().variantAsVector3(self)
|
||||
getGDNativeAPI().variantAsVector3(self).toVector3()
|
||||
|
||||
proc asTransform2D*(self: GodotVariant): Transform2D {.inline.} =
|
||||
getGDNativeAPI().variantAsTransform2D(self)
|
||||
getGDNativeAPI().variantAsTransform2D(self).toTransform2D()
|
||||
|
||||
proc asPlane*(self: GodotVariant): Plane {.inline.} =
|
||||
getGDNativeAPI().variantAsPlane(self)
|
||||
getGDNativeAPI().variantAsPlane(self).toPlane()
|
||||
|
||||
proc asQuat*(self: GodotVariant): Quat {.inline.} =
|
||||
getGDNativeAPI().variantAsQuat(self)
|
||||
getGDNativeAPI().variantAsQuat(self).toQuat()
|
||||
|
||||
proc asAABB*(self: GodotVariant): AABB {.inline.} =
|
||||
getGDNativeAPI().variantAsAABB(self)
|
||||
getGDNativeAPI().variantAsAABB(self).toAABB()
|
||||
|
||||
proc asBasis*(self: GodotVariant): Basis {.inline.} =
|
||||
getGDNativeAPI().variantAsBasis(self)
|
||||
getGDNativeAPI().variantAsBasis(self).toBasis()
|
||||
|
||||
proc asTransform*(self: GodotVariant): Transform {.inline.} =
|
||||
getGDNativeAPI().variantAsTransform(self)
|
||||
getGDNativeAPI().variantAsTransform(self).toTransform()
|
||||
|
||||
proc asColor*(self: GodotVariant): Color {.inline.} =
|
||||
getGDNativeAPI().variantAsColor(self)
|
||||
getGDNativeAPI().variantAsColor(self).toColor()
|
||||
|
||||
proc asNodePath*(self: GodotVariant): GodotNodePath {.inline.} =
|
||||
getGDNativeAPI().variantAsNodePath(self)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue