Mercurial > games > semicongine
diff svk/generate.nim @ 1488:3ce7c132fdac default tip
did: improvments
author | sam <sam@basx.dev> |
---|---|
date | Sun, 18 May 2025 16:36:52 +0700 |
parents | f786797a0cbe |
children |
line wrap: on
line diff
--- 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)"