diff --git a/driver/gui.go b/driver/gui.go index cdfadf1..eb978f1 100644 --- a/driver/gui.go +++ b/driver/gui.go @@ -75,6 +75,12 @@ func (lcd *LCD) NewInput(b []byte) { } func (lcd *LCD) Run(drawSignal chan bool) { + pixelgl.Run(func() { + lcd.run(drawSignal) + }) +} + +func (lcd *LCD) run(drawSignal chan bool) { cfg := pixelgl.WindowConfig{ Title: lcd.title, Bounds: pixel.R(0, 0, 160*3, 142*3), diff --git a/main.go b/main.go index 33c1265..a30d493 100644 --- a/main.go +++ b/main.go @@ -7,7 +7,6 @@ import ( "github.com/HFO4/gbc-in-cloud/driver" "github.com/HFO4/gbc-in-cloud/gb" "github.com/HFO4/gbc-in-cloud/server" - "github.com/faiface/pixel/pixelgl" "log" "os" ) @@ -50,8 +49,9 @@ func startGUI() { core.SpeedMultiple = 0 core.ToggleSound = SoundOn core.Init(ROMPath) - go core.DisplayDriver.Run(core.DrawSignal) - core.Run() + + go core.Run() + core.DisplayDriver.Run(core.DrawSignal) } func runServer() { @@ -85,7 +85,7 @@ func runServer() { streamServer.Run() } -func run() { +func main() { flag.Parse() if h { flag.Usage() @@ -102,7 +102,3 @@ func run() { return } } - -func main() { - pixelgl.Run(run) -}