4 "github.com/anon55555/mt"
5 "github.com/yuin/gopher-lua"
9 //go:generate ./generate.lua
11 func pushVec2(l *lua.LState, val [2]lua.LNumber) {
12 l.Push(l.GetGlobal("vec2"))
18 func pushVec3(l *lua.LState, val [3]lua.LNumber) {
19 l.Push(l.GetGlobal("vec3"))
26 func popValue(l *lua.LState) lua.LValue {
32 func Vec2(l *lua.LState, val [2]lua.LNumber) lua.LValue {
37 func Vec3(l *lua.LState, val [3]lua.LNumber) lua.LValue {
42 func Box1(l *lua.LState, val [2]lua.LNumber) lua.LValue {
43 l.Push(l.GetGlobal("box"))
50 func Box2(l *lua.LState, val [2][2]lua.LNumber) lua.LValue {
51 l.Push(l.GetGlobal("box"))
58 func Box3(l *lua.LState, val [2][3]lua.LNumber) lua.LValue {
59 l.Push(l.GetGlobal("box"))
66 func Color(l *lua.LState, val color.NRGBA) lua.LValue {
68 l.SetField(tbl, "r", lua.LNumber(val.R))
69 l.SetField(tbl, "g", lua.LNumber(val.G))
70 l.SetField(tbl, "b", lua.LNumber(val.B))
71 l.SetField(tbl, "a", lua.LNumber(val.A))
75 func StringSet(l *lua.LState, val []string) lua.LValue {
77 for _, str := range val {
78 l.SetField(tbl, str, lua.LTrue)
83 func stringList[T ~string](l *lua.LState, val []T) lua.LValue {
85 for _, s := range val {
86 tbl.Append(lua.LString(s))
91 func StringList(l *lua.LState, val []string) lua.LValue {
92 return stringList[string](l, val)
95 func TextureList(l *lua.LState, val []mt.Texture) lua.LValue {
96 return stringList[mt.Texture](l, val)