2024-02-19 08:10:21 -06:00
|
|
|
package main
|
|
|
|
|
|
|
|
/*
|
|
|
|
This is reference code for toolkit developers
|
|
|
|
|
|
|
|
The 'nocui' is a bare minimum toolkit. It's all you need
|
|
|
|
to interact with the GUI
|
|
|
|
*/
|
|
|
|
|
|
|
|
import (
|
|
|
|
"embed"
|
|
|
|
|
|
|
|
"go.wit.com/log"
|
|
|
|
"go.wit.com/toolkits/tree"
|
|
|
|
|
|
|
|
"github.com/faiface/pixel/pixelgl"
|
2024-02-19 08:28:54 -06:00
|
|
|
"github.com/gookit/config"
|
2024-02-19 08:10:21 -06:00
|
|
|
)
|
|
|
|
|
|
|
|
//go:embed *.glsl
|
|
|
|
var glFile embed.FS
|
|
|
|
|
|
|
|
func init() {
|
|
|
|
log.Log(INFO, "Init()")
|
|
|
|
|
|
|
|
me.myTree = tree.New()
|
|
|
|
me.myTree.PluginName = "nocui"
|
|
|
|
// me.myTree.ActionFromChannel = doAction
|
|
|
|
|
|
|
|
me.myTree.NodeAction = newaction
|
|
|
|
me.myTree.Add = Add
|
|
|
|
me.myTree.SetTitle = SetTitle
|
|
|
|
me.myTree.SetLabel = SetLabel
|
|
|
|
me.myTree.SetText = SetText
|
|
|
|
me.myTree.AddText = AddText
|
|
|
|
|
|
|
|
me.exit = false
|
|
|
|
|
|
|
|
log.Log(INFO, "Init() END")
|
|
|
|
|
|
|
|
showOptions()
|
|
|
|
|
2024-02-19 08:48:10 -06:00
|
|
|
go simpleStdin()
|
|
|
|
|
2024-02-19 08:28:54 -06:00
|
|
|
config.Set("width", 640)
|
|
|
|
config.Set("height", 480)
|
|
|
|
config.Set("glDrift", 0.01)
|
2024-02-19 08:38:20 -06:00
|
|
|
// config.Set("filename", "planetfall.glsl")
|
2024-02-19 08:28:54 -06:00
|
|
|
config.Set("filename", "seascape.glsl")
|
2024-02-19 08:48:10 -06:00
|
|
|
|
|
|
|
// I think this doesn't work as a goroutine because
|
|
|
|
// opengl closes. This plugin probably has to wait
|
|
|
|
// until there is some sort of protobuf + socket interface
|
|
|
|
// instead of a plugin
|
2024-02-19 08:10:21 -06:00
|
|
|
pixelgl.Run(run)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// this must be defined for plugin's, but is never run
|
|
|
|
// I assume it's for testing the code in a stand alone way
|
|
|
|
func main() {
|
|
|
|
|
2024-02-19 08:28:54 -06:00
|
|
|
config.Set("width", 1024)
|
|
|
|
config.Set("height", 768)
|
|
|
|
config.Set("glDrift", 0.01)
|
2024-02-19 08:38:20 -06:00
|
|
|
config.Set("filename", "planetfall.glsl")
|
|
|
|
// This parses the command line arguments
|
|
|
|
// parseConfig()
|
2024-02-19 08:10:21 -06:00
|
|
|
pixelgl.Run(run)
|
|
|
|
}
|