Mercurial > games > semicongine
changeset 1488:3ce7c132fdac default tip
did: improvments
author | sam <sam@basx.dev> |
---|---|
date | Sun, 18 May 2025 16:36:52 +0700 |
parents | f786797a0cbe |
children | |
files | svk/api.nim svk/generate.nim |
diffstat | 2 files changed, 12 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/svk/api.nim Thu May 15 00:10:08 2025 +0700 +++ b/svk/api.nim Sun May 18 16:36:52 2025 +0700 @@ -1,3 +1,5 @@ +import std/sequtils +import std/enumutils import std/tables import std/strutils import std/logging @@ -7,6 +9,10 @@ const VULKAN_VERSION = VK_MAKE_API_VERSION(0, 1, 3, 0) +iterator items*[T: HoleyEnum](E: typedesc[T]): T = + for a in enumFullRange(E): + yield a + template checkVkResult*(call: untyped) = when defined(release): discard call @@ -105,8 +111,8 @@ when not defined(release): var debugMessengerCreateInfo = VkDebugUtilsMessengerCreateInfoEXT( - messageSeverity: VkDebugUtilsMessageSeverityFlagBitsEXT.items.toSeq.toBits, - messageType: VkDebugUtilsMessageTypeFlagBitsEXT.items.toSeq.toBits, + messageSeverity: VkDebugUtilsMessageSeverityFlagBitsEXT.items.toSeq, + messageType: VkDebugUtilsMessageTypeFlagBitsEXT.items.toSeq, pfnUserCallback: debugCallback, ) checkVkResult vkCreateDebugUtilsMessengerEXT(
--- a/svk/generate.nim Thu May 15 00:10:08 2025 +0700 +++ b/svk/generate.nim Sun May 18 16:36:52 2025 +0700 @@ -261,8 +261,8 @@ let b = distinctBase(S)(flag) result = S(a or b) -func toEnums[T, S](number: T): seq[S] = - for value in enumFullRange(T): +func toEnums*[T, S](number: T): seq[S] = + for value in enumFullRange(S): if (value.ord and cint(number)) > 0: result.add value """ @@ -433,8 +433,8 @@ if edef.values.len > 0: if edef.isBitmask: let bitsName = edef.name - let p = bitsName.rfind("Flag") - let flagsName = bitsName[0 ..< p] & "Flags" + let p = bitsName.rfind("FlagBits") + let flagsName = bitsName[0 ..< p] & "Flags" & bitsName[p + 8 .. ^1] outFile.writeLine &"converter {bitsName}ToBits*(flags: openArray[{bitsName}]): {flagsName} =" outFile.writeLine &" asBits[{bitsName}, {flagsName}](flags)"