func main() { var ( splash *Splash system *twodee.System window *twodee.Window err error ) system, err = twodee.Init() Check(err) defer system.Terminate() window = &twodee.Window{ Width: 800, Height: 600, Title: "TDoS", Fullscreen: false, } system.Open(window) if !DEBUG { splash, err = InitSplash(system, window, 0) Check(err) for splash.Running() { splash.Paint() } splash = nil } state, err := Init(system, window) Check(err) tick := time.Now() state.UpdateViewport(0) for state.Running() { elapsed := time.Since(tick) //fmt.Printf("Elapsed: %v\n", float32(elapsed) / float32(time.Millisecond)) tick = time.Now() ms := Min(float32(elapsed)/float32(time.Millisecond), 50) state.CheckKeys(ms) state.Update(ms) state.UpdateViewport(ms) state.Paint(ms) } if !DEBUG { frame := 1 if state.Victory { frame = 2 } splash, err = InitSplash(system, window, frame) Check(err) for splash.Running() { splash.Paint() } } }