a
This commit is contained in:
parent
2cd03d7f35
commit
21c96f8abd
1 changed files with 19 additions and 20 deletions
39
main.odin
39
main.odin
|
|
@ -1,7 +1,6 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import "core:fmt"
|
import "core:fmt"
|
||||||
import "core:io"
|
|
||||||
import "core:mem"
|
import "core:mem"
|
||||||
import "core:os"
|
import "core:os"
|
||||||
import "core:strings"
|
import "core:strings"
|
||||||
|
|
@ -159,36 +158,36 @@ gml_extract_enums :: proc(gml, filename: string, enums_out: ^[dynamic]GmlEnum) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
gml_write_enums :: proc(gml: &strings.Builder, enums: [dynamic]GmlEnum) {
|
gml_write_enums :: proc(gml: ^strings.Builder, enums: [dynamic]GmlEnum) {
|
||||||
fmt.sbprint(&gml, "/*\n" + TAB + "This file was generated using enum_reflection tool\n*/\n", sep = "")
|
fmt.sbprint(gml, "/*\n" + TAB + "This file was generated using enum_reflection tool\n*/\n", sep = "")
|
||||||
fmt.sbprint(&gml, "enum " + ENUM_ENUM + " {\n", sep = "")
|
fmt.sbprint(gml, "enum " + ENUM_ENUM + " {\n", sep = "")
|
||||||
for e in enums {
|
for e in enums {
|
||||||
fmt.sbprint(&gml, TAB, e.name, ",\n", sep = "")
|
fmt.sbprint(gml, TAB, e.name, ",\n", sep = "")
|
||||||
}
|
}
|
||||||
fmt.sbprint(&gml, TAB + "_Count\n}\n\n", sep = "")
|
fmt.sbprint(gml, TAB + "_Count\n}\n\n", sep = "")
|
||||||
fmt.sbprint(&gml, ENUM_NAMES_GLOBAL, " = [\n", sep = "")
|
fmt.sbprint(gml, ENUM_NAMES_GLOBAL, " = [\n", sep = "")
|
||||||
for e in enums {
|
for e in enums {
|
||||||
fmt.sbprint(&gml, TAB, "\"", e.name, "\",\n", sep = "")
|
fmt.sbprint(gml, TAB, "\"", e.name, "\",\n", sep = "")
|
||||||
}
|
}
|
||||||
fmt.sbprint(&gml, "];\n\n", sep = "")
|
fmt.sbprint(gml, "];\n\n", sep = "")
|
||||||
|
|
||||||
fmt.sbprint(&gml, ENUM_MEMBER_NAMES_GLOBAL, " = [\n", sep = "")
|
fmt.sbprint(gml, ENUM_MEMBER_NAMES_GLOBAL, " = [\n", sep = "")
|
||||||
for e in enums {
|
for e in enums {
|
||||||
fmt.sbprint(&gml, TAB, "[", sep = "")
|
fmt.sbprint(gml, TAB, "[", sep = "")
|
||||||
for entry in e.members {
|
for entry in e.members {
|
||||||
fmt.sbprint(&gml, "\"", entry, "\", ", sep = "")
|
fmt.sbprint(gml, "\"", entry, "\", ", sep = "")
|
||||||
}
|
}
|
||||||
fmt.sbprint(&gml, "],\n", sep = "")
|
fmt.sbprint(gml, "],\n", sep = "")
|
||||||
}
|
}
|
||||||
fmt.sbprint(&gml, "];\n\n", sep = "")
|
fmt.sbprint(gml, "];\n\n", sep = "")
|
||||||
|
|
||||||
fmt.sbprint(&gml, "function ", ENUM_GET_NAME_FUNCTION, "(index) {return ", ENUM_NAMES_GLOBAL, "[index];}\n", sep = "")
|
fmt.sbprint(gml, "function ", ENUM_GET_NAME_FUNCTION, "(index) {return ", ENUM_NAMES_GLOBAL, "[index];}\n", sep = "")
|
||||||
|
|
||||||
fmt.sbprint(&gml, "function ", ENUM_GET_MEMBER_NAME_FUNCTION, "(index, member) {return ", ENUM_MEMBER_NAMES_GLOBAL, "[index][member];}\n", sep = "")
|
fmt.sbprint(gml, "function ", ENUM_GET_MEMBER_NAME_FUNCTION, "(index, member) {return ", ENUM_MEMBER_NAMES_GLOBAL, "[index][member];}\n", sep = "")
|
||||||
|
|
||||||
fmt.sbprint(&gml, "function ", ENUM_GET_MEMBER_NAMES_FUNCTION, "(index) {return ", ENUM_MEMBER_NAMES_GLOBAL, "[index];}", sep = "")
|
fmt.sbprint(gml, "function ", ENUM_GET_MEMBER_NAMES_FUNCTION, "(index) {return ", ENUM_MEMBER_NAMES_GLOBAL, "[index];}", sep = "")
|
||||||
|
|
||||||
fmt.sbprint(&gml, "function ", ENUM_GET_MEMBER_NAME_FULL_FUNCTION, "(index, member) {\n", sep = "")
|
fmt.sbprint(gml, "function ", ENUM_GET_MEMBER_NAME_FULL_FUNCTION, "(index, member) {\n", sep = "")
|
||||||
fmt.sbprint(&gml, TAB, "return $\"{", ENUM_NAMES_GLOBAL, "[index]}.{" + ENUM_MEMBER_NAMES_GLOBAL, "[index][member]}\";\n", sep = "")
|
fmt.sbprint(gml, TAB, "return $\"{", ENUM_NAMES_GLOBAL, "[index]}.{" + ENUM_MEMBER_NAMES_GLOBAL, "[index][member]}\";\n", sep = "")
|
||||||
fmt.sbprint(&gml, "}\n\n", sep = "")
|
fmt.sbprint(gml, "}\n\n", sep = "")
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue