carpy-breakout/main.go

43 lines
958 B
Go

package main
import (
"log"
"os"
"runtime/pprof"
"gitea.wisellama.rocks/Wisellama/carpy-breakout/pkg/config"
"gitea.wisellama.rocks/Wisellama/carpy-breakout/pkg/game"
"gitea.wisellama.rocks/Wisellama/gosimpleconf"
)
func main() {
// Initialize the random number generator
err := config.InitRNG()
if err != nil {
log.Fatalf("error initializing RNG: %v", err)
}
// Parse the config and setup logging
configMap, err := config.Configure()
if err != nil {
log.Fatalf("error in Configure: %v", err)
}
// Setup cpu profiling if configured
cpuProfile := gosimpleconf.Bool(configMap["cpuprofile.enabled"])
if cpuProfile {
f, err := os.Create(configMap["cpuprofile.file"])
if err != nil {
log.Fatalf("error creating file for cpuprofile: %v", err)
}
err = pprof.StartCPUProfile(f)
if err != nil {
log.Fatalf("error starting cpuprofile: %v", err)
}
defer pprof.StopCPUProfile()
}
// Start the game
game.Run(configMap)
}