49 lines
1.0 KiB
Go
49 lines
1.0 KiB
Go
package main
|
|
|
|
import (
|
|
"log"
|
|
"os"
|
|
|
|
"git.wisellama.rocks/Project-Ely/project-ely/internal/game"
|
|
"git.wisellama.rocks/Wisellama/gopackagebase"
|
|
"git.wisellama.rocks/Wisellama/gosimpleconf"
|
|
"github.com/veandco/go-sdl2/sdl"
|
|
)
|
|
|
|
const (
|
|
CONFIG_FILE = "project-ely.conf"
|
|
)
|
|
|
|
var defaultConfig gosimpleconf.ConfigMap = gosimpleconf.ConfigMap{
|
|
"game.title": "Project Ely",
|
|
"game.framerate": "60.0",
|
|
"log.utcTime": "false",
|
|
"log.writeToFile": "false",
|
|
}
|
|
|
|
func main() {
|
|
var err error
|
|
|
|
baseConfig, err := gopackagebase.Initialize(CONFIG_FILE, defaultConfig)
|
|
if err != nil {
|
|
log.Fatalf("error initializing: %v", err)
|
|
}
|
|
if baseConfig == nil {
|
|
log.Fatalf("baseConfig was nil")
|
|
}
|
|
defer baseConfig.Cancel()
|
|
|
|
// Run the program
|
|
// Start everything with the SDL goroutine context
|
|
log.Printf("=== Starting %v ===", baseConfig.ConfigMap["game.title"])
|
|
sdl.Main(func() {
|
|
err = game.Run(baseConfig.Ctx, baseConfig.ConfigMap)
|
|
})
|
|
if err != nil {
|
|
log.Printf("%v\n", err)
|
|
os.Exit(1)
|
|
}
|
|
|
|
log.Printf("Exited gracefully!\n")
|
|
}
|