Update for latest Godot

This commit is contained in:
Ruslan Mustakov 2017-11-22 12:28:54 +07:00
commit 4e24244c48
5 changed files with 37 additions and 10 deletions

View file

@ -1,4 +1,4 @@
version = "0.6.6" version = "0.6.7"
author = "Xored Software, Inc." author = "Xored Software, Inc."
description = "Godot Engine bindings" description = "Godot Engine bindings"
license = "MIT" license = "MIT"

View file

@ -51,8 +51,8 @@ proc getSubname*(self: NodePath; idx: int): string {.inline.} =
result = $s result = $s
s.deinit() s.deinit()
proc property*(self: NodePath): string {.inline.} = proc getConcatenatedSubnames*(self: NodePath): string {.inline.} =
var s = self.path.property() var s = self.path.getConcatenatedSubnames()
result = $s result = $s
s.deinit() s.deinit()

View file

@ -750,6 +750,13 @@ type
arraySortCustom: proc (self: var GodotArray, obj: ptr GodotObject, arraySortCustom: proc (self: var GodotArray, obj: ptr GodotObject,
f: GodotString) f: GodotString)
{.noconv, raises: [], gcsafe, tags: [], locks: 0.} {.noconv, raises: [], gcsafe, tags: [], locks: 0.}
arrayBSearch: proc (self: var GodotArray, val: ptr GodotVariant,
before: bool)
{.noconv, raises: [], gcsafe, tags: [], locks: 0.}
arrayBSearchCustom: proc (self: var GodotArray, val: ptr GodotVariant,
obj: ptr GodotObject, f: GodotString,
before: bool)
{.noconv, raises: [], gcsafe, tags: [], locks: 0.}
arrayDestroy: proc (self: var GodotArray) arrayDestroy: proc (self: var GodotArray)
{.noconv, raises: [], gcsafe, tags: [], locks: 0.} {.noconv, raises: [], gcsafe, tags: [], locks: 0.}
@ -816,8 +823,9 @@ type
locks: 0.} locks: 0.}
nodePathGetSubname: proc (self: GodotNodePath, idx: cint): GodotString nodePathGetSubname: proc (self: GodotNodePath, idx: cint): GodotString
{.noconv, raises: [], gcsafe, tags: [], locks: 0.} {.noconv, raises: [], gcsafe, tags: [], locks: 0.}
nodePathGetProperty: proc (self: GodotNodePath): GodotString nodePathGetConcatenatedSubnames: proc (self: GodotNodePath): GodotString
{.noconv, raises: [], gcsafe, tags: [], locks: 0.} {.noconv, raises: [], gcsafe,
tags: [], locks: 0.}
nodePathIsEmpty: proc (self: GodotNodePath): bool nodePathIsEmpty: proc (self: GodotNodePath): bool
{.noconv, raises: [], gcsafe, tags: [], locks: 0.} {.noconv, raises: [], gcsafe, tags: [], locks: 0.}
nodePathOperatorEqual: proc (self, other: GodotNodePath): bool nodePathOperatorEqual: proc (self, other: GodotNodePath): bool
@ -2018,6 +2026,13 @@ type
arraySortCustom*: proc (self: var GodotArray, obj: ptr GodotObject, arraySortCustom*: proc (self: var GodotArray, obj: ptr GodotObject,
f: GodotString) f: GodotString)
{.noconv, raises: [], gcsafe, tags: [], locks: 0.} {.noconv, raises: [], gcsafe, tags: [], locks: 0.}
arrayBSearch*: proc (self: var GodotArray, val: ptr GodotVariant,
before: bool)
{.noconv, raises: [], gcsafe, tags: [], locks: 0.}
arrayBSearchCustom*: proc (self: var GodotArray, val: ptr GodotVariant,
obj: ptr GodotObject, f: GodotString,
before: bool)
{.noconv, raises: [], gcsafe, tags: [], locks: 0.}
arrayDestroy*: proc (self: var GodotArray) arrayDestroy*: proc (self: var GodotArray)
{.noconv, raises: [], gcsafe, tags: [], locks: 0.} {.noconv, raises: [], gcsafe, tags: [], locks: 0.}
@ -2083,8 +2098,9 @@ type
locks: 0.} locks: 0.}
nodePathGetSubname*: proc (self: GodotNodePath, idx: cint): GodotString nodePathGetSubname*: proc (self: GodotNodePath, idx: cint): GodotString
{.noconv, raises: [], gcsafe, tags: [], locks: 0.} {.noconv, raises: [], gcsafe, tags: [], locks: 0.}
nodePathGetProperty*: proc (self: GodotNodePath): GodotString nodePathGetConcatenatedSubnames*: proc (self: GodotNodePath): GodotString
{.noconv, raises: [], gcsafe, tags: [], locks: 0.} {.noconv, raises: [], gcsafe,
tags: [], locks: 0.}
nodePathIsEmpty*: proc (self: GodotNodePath): bool nodePathIsEmpty*: proc (self: GodotNodePath): bool
{.noconv, raises: [], gcsafe, tags: [], locks: 0.} {.noconv, raises: [], gcsafe, tags: [], locks: 0.}
nodePathOperatorEqual*: proc (self, other: GodotNodePath): bool nodePathOperatorEqual*: proc (self, other: GodotNodePath): bool
@ -2871,6 +2887,8 @@ proc setGDNativeAPI*(apiStruct: pointer, initOptions: ptr GDNativeInitOptions) =
arraySize arraySize
arraySort arraySort
arraySortCustom arraySortCustom
arrayBSearch
arrayBSearchCustom
arrayDestroy arrayDestroy
# Dictionary API # Dictionary API
@ -2903,7 +2921,7 @@ proc setGDNativeAPI*(apiStruct: pointer, initOptions: ptr GDNativeInitOptions) =
nodePathGetName nodePathGetName
nodePathGetSubnameCount nodePathGetSubnameCount
nodePathGetSubname nodePathGetSubname
nodePathGetProperty nodePathGetConcatenatedSubnames
nodePathIsEmpty nodePathIsEmpty
nodePathOperatorEqual nodePathOperatorEqual

View file

@ -126,6 +126,15 @@ proc sortCustom*(self: var GodotArray; obj: ptr GodotObject;
funcName: GodotString) {.inline.} = funcName: GodotString) {.inline.} =
getGDNativeAPI().arraySortCustom(self, obj, funcName) getGDNativeAPI().arraySortCustom(self, obj, funcName)
proc binarySearch*(self: var GodotArray, val: ptr GodotVariant,
before: bool) {.inline.} =
getGDNativeAPI().arrayBSearch(self, val, before)
proc binarySearchCustom*(self: var GodotArray, val: ptr GodotVariant,
obj: ptr GodotObject, funcName: GodotString,
before: bool) {.inline.} =
getGDNativeAPI().arrayBSearchCustom(self, val, obj, funcName, before)
iterator items*(self: GodotArray): GodotVariant = iterator items*(self: GodotArray): GodotVariant =
for i in 0..<self.len: for i in 0..<self.len:
yield self[i] yield self[i]

View file

@ -30,8 +30,8 @@ proc subnameCount*(self: GodotNodePath): cint {.inline.} =
proc getSubname*(self: GodotNodePath; idx: cint): GodotString {.inline.} = proc getSubname*(self: GodotNodePath; idx: cint): GodotString {.inline.} =
getGDNativeAPI().nodePathGetSubname(self, idx) getGDNativeAPI().nodePathGetSubname(self, idx)
proc property*(self: GodotNodePath): GodotString {.inline.} = proc getConcatenatedSubnames*(self: GodotNodePath): GodotString {.inline.} =
getGDNativeAPI().nodePathGetProperty(self) getGDNativeAPI().nodePathGetConcatenatedSubnames(self)
proc isEmpty*(self: GodotNodePath): bool {.inline.} = proc isEmpty*(self: GodotNodePath): bool {.inline.} =
getGDNativeAPI().nodePathIsEmpty(self) getGDNativeAPI().nodePathIsEmpty(self)