project-ely/main.go

48 lines
1022 B
Go
Raw Permalink Normal View History

2022-09-27 12:21:57 -07:00
package main
import (
"log"
"os"
"git.wisellama.rocks/Project-Ely/project-ely/internal"
"git.wisellama.rocks/Project-Ely/project-ely/internal/channels"
2022-11-09 18:04:36 -08:00
"git.wisellama.rocks/Wisellama/gopackagebase"
"git.wisellama.rocks/Wisellama/gosimpleconf"
2022-09-27 12:21:57 -07:00
)
2022-11-09 18:04:36 -08:00
const (
configFile = "project-ely.conf"
2022-11-09 18:04:36 -08:00
)
2022-11-09 18:04:36 -08:00
var defaultConfig gosimpleconf.ConfigMap = gosimpleconf.ConfigMap{
"game.title": "Project Ely",
"game.framerate": "60",
2022-11-09 18:04:36 -08:00
"log.utcTime": "false",
"log.writeToFile": "false",
}
2022-11-09 18:04:36 -08:00
func main() {
var err error
2022-09-28 20:18:04 -07:00
baseConfig, err := gopackagebase.Initialize(configFile, defaultConfig)
if err != nil {
2022-11-09 18:04:36 -08:00
log.Fatalf("error initializing: %v", err)
2022-09-28 20:18:04 -07:00
}
2022-11-09 18:04:36 -08:00
if baseConfig == nil {
log.Fatalf("baseConfig was nil")
}
2022-11-09 18:04:36 -08:00
defer baseConfig.Cancel()
2022-11-09 18:04:36 -08:00
// Run the program
log.Printf("=== Starting %v ===", baseConfig.ConfigMap["game.title"])
channels.RL.Main(func() {
err = internal.Run(baseConfig.Ctx, baseConfig.ConfigMap)
})
if err != nil {
2022-11-09 18:04:36 -08:00
log.Printf("%v\n", err)
os.Exit(1)
}
2022-11-09 18:04:36 -08:00
log.Printf("Exited gracefully!\n")
}