diff --git a/pkg/editor_scene.go b/pkg/editor_scene.go index 446cc61..56ef376 100644 --- a/pkg/editor_scene.go +++ b/pkg/editor_scene.go @@ -427,7 +427,7 @@ func (s *EditorScene) Loop(d *Doodle, ev *event.State) error { s.UI.Canvas.Tool = drawtool.EraserTool s.UI.activeTool = s.UI.Canvas.Tool.String() } else if keybind.DoodadDropper(ev) { - s.UI.doodadWindow.Show() + s.UI.OpenDoodadDropper() } s.UI.Loop(ev) diff --git a/pkg/editor_ui_menubar.go b/pkg/editor_ui_menubar.go index 9109a8b..8d0c2a5 100644 --- a/pkg/editor_ui_menubar.go +++ b/pkg/editor_ui_menubar.go @@ -246,7 +246,7 @@ func (u *EditorUI) SetupMenuBar(d *Doodle) *ui.MenuBar { if u.Scene.DrawingType == enum.LevelDrawing { toolMenu.AddItemAccel("Doodads", "q", func() { log.Info("Open the DoodadDropper") - u.doodadWindow.Show() + u.OpenDoodadDropper() }) toolMenu.AddItem("Link Tool", func() { u.Canvas.Tool = drawtool.LinkTool @@ -267,6 +267,7 @@ func (u *EditorUI) SetupMenuBar(d *Doodle) *ui.MenuBar { } helpMenu.AddItem(registerText, func() { u.licenseWindow.Show() + u.Supervisor.FocusWindow(u.licenseWindow) }) menu.Supervise(u.Supervisor) diff --git a/pkg/editor_ui_popups.go b/pkg/editor_ui_popups.go index d8ce5eb..440cb6a 100644 --- a/pkg/editor_ui_popups.go +++ b/pkg/editor_ui_popups.go @@ -46,6 +46,7 @@ func (u *EditorUI) OpenDoodadDropper() { // NOTE: most places in the code call this directly, nice // and simple window :) but OpenDoodadDropper() added for consistency. u.doodadWindow.Show() + u.Supervisor.FocusWindow(u.doodadWindow) } // OpenPublishWindow opens the Publisher window. diff --git a/pkg/editor_ui_toolbar.go b/pkg/editor_ui_toolbar.go index cb47054..4679a22 100644 --- a/pkg/editor_ui_toolbar.go +++ b/pkg/editor_ui_toolbar.go @@ -110,7 +110,7 @@ func (u *EditorUI) SetupToolbar(d *Doodle) *ui.Frame { Style: &balance.ButtonBabyBlue, Click: func() { u.Canvas.Tool = drawtool.ActorTool - u.doodadWindow.Show() + u.OpenDoodadDropper() d.Flash("Actor Tool selected. Drag a Doodad from the drawer into your level.") }, }, diff --git a/pkg/gamepad/gamepad.go b/pkg/gamepad/gamepad.go index 129a67f..a84f7b9 100644 --- a/pkg/gamepad/gamepad.go +++ b/pkg/gamepad/gamepad.go @@ -126,6 +126,7 @@ func Loop(ev *event.State) { for idx, ctrl := range ev.Controllers { SetControllerIndex(idx) log.Info("gamepad: using controller #%d (%s) as Player 1", idx, ctrl) + break } } else { return @@ -377,7 +378,7 @@ func Loop(ev *event.State) { // Draw the cursor on screen if the game controller is emulating a mouse. func Draw(e render.Engine) { - if p1mode != MouseMode || !cursorVisible { + if playerOne == nil || p1mode != MouseMode || !cursorVisible { return }