From b3ad6134d90aafd9da58050fd89943c492cc5351 Mon Sep 17 00:00:00 2001 From: Ruslan Mustakov Date: Mon, 4 Jun 2018 16:24:52 +0700 Subject: [PATCH] Fix doc generation --- docs/docbuild.nim | 3 ++- godot/core/dictionaries.nim | 3 +++ godot/core/poolarrays.nim | 16 ++++++---------- godot/core/variants.nim | 28 ++++++++++++++-------------- 4 files changed, 25 insertions(+), 25 deletions(-) diff --git a/docs/docbuild.nim b/docs/docbuild.nim index bb3e21c..10823a5 100644 --- a/docs/docbuild.nim +++ b/docs/docbuild.nim @@ -104,7 +104,8 @@ proc buildDocs*(outDir, godotNimDir, godotBin: string) = createDir(godotApiFolder) genApiFiles(godotApiFolder, godotBinAbs) for file in walkDirRec(godotApiFolder, {pcFile, pcDir}, [".nim"]): - spawn execOrFail("nim doc -d:useRealtimeGc --path:godot " & quoted(file)) + spawn execOrFail("nim doc -d:useRealtimeGc --path:godot -o:" & + quoted(outName(godotApiFolder, file)) & ' ' & quoted(file)) sync() diff --git a/godot/core/dictionaries.nim b/godot/core/dictionaries.nim index 99ecf6a..4a160f2 100644 --- a/godot/core/dictionaries.nim +++ b/godot/core/dictionaries.nim @@ -42,6 +42,9 @@ proc newVariant*(dict: Dictionary): Variant {.inline.} = new(result, variantFinalizer) initGodotVariant(result.godotVariant[], dict.godotDictionary) +proc asDictionary*(self: Variant): Dictionary {.inline.} = + newDictionary(self.godotVariant[].asGodotDictionary()) + proc contains*(self: Dictionary; key: Variant): bool {.inline.}= self.godotDictionary.contains(key.godotVariant[]) diff --git a/godot/core/poolarrays.nim b/godot/core/poolarrays.nim index 3e7b73e..29aca98 100644 --- a/godot/core/poolarrays.nim +++ b/godot/core/poolarrays.nim @@ -29,6 +29,12 @@ template definePoolArrayBase(T, GodotT, DataT, fieldName, newProcName, new(result, poolArrayFinalizer) result.fieldName = arr + proc hash*(arr: T): Hash = + for item in arr.fieldName.items(): + result = result !& + (when type(item) is GodotString: ($item).hash() else: item.hash()) + result = !$result + template definePoolArray(T, GodotT, DataT, fieldName, newProcName, initProcName; noData = false) = @@ -86,11 +92,6 @@ template definePoolArray(T, GodotT, DataT, fieldName, newProcName, initProcName; for pair in arr.fieldName.mpairs: yield (pair[0].int, pair[1]) - proc hash*(arr: T): Hash = - for item in arr.items(): - result = result !& item.hash() - result = !$result - definePoolArrayBase(PoolByteArray, GodotPoolByteArray, uint8, godotPoolByteArray, newPoolByteArray, initGodotPoolByteArray) @@ -164,8 +165,3 @@ iterator items*(arr: PoolStringArray): string = iterator pairs*(arr: PoolStringArray): tuple[key: int, val: string] = for i in 0..