diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/dpad-down.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/dpad-down.png new file mode 100644 index 00000000..1f40c869 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/dpad-down.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/dpad-left.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/dpad-left.png new file mode 100644 index 00000000..2ac6de86 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/dpad-left.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/dpad-right.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/dpad-right.png new file mode 100644 index 00000000..cbd8e5f2 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/dpad-right.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/dpad-up.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/dpad-up.png new file mode 100644 index 00000000..3879cce8 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/dpad-up.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/dpad.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/dpad.png new file mode 100644 index 00000000..88fad8f9 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/dpad.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/facebutton-down.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/facebutton-down.png new file mode 100644 index 00000000..6aa572a6 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/facebutton-down.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/facebutton-left.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/facebutton-left.png new file mode 100644 index 00000000..ea7c9c64 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/facebutton-left.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/facebutton-right.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/facebutton-right.png new file mode 100644 index 00000000..2e0e5a5a Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/facebutton-right.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/facebutton-top.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/facebutton-top.png new file mode 100644 index 00000000..6acc03b2 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/facebutton-top.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/shoulder-left.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/shoulder-left.png new file mode 100644 index 00000000..17f6fb0a Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/shoulder-left.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/shoulder-right.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/shoulder-right.png new file mode 100644 index 00000000..db42583f Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/shoulder-right.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/special-left.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/special-left.png new file mode 100644 index 00000000..35d8f4e3 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/special-left.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/special-right.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/special-right.png new file mode 100644 index 00000000..2fab006b Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/special-right.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/trigger-left.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/trigger-left.png new file mode 100644 index 00000000..62434a4a Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/trigger-left.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/trigger-right.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/trigger-right.png new file mode 100644 index 00000000..ca952555 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/gamepad/trigger-right.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-1.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-1.png new file mode 100644 index 00000000..6e07ea75 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-1.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-2.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-2.png new file mode 100644 index 00000000..b82cfe17 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-2.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-3.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-3.png new file mode 100644 index 00000000..4bc72954 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-3.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-4.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-4.png new file mode 100644 index 00000000..98388efe Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-4.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-5.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-5.png new file mode 100644 index 00000000..77edaf82 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-5.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-6.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-6.png new file mode 100644 index 00000000..2e328a6b Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-6.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-7.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-7.png new file mode 100644 index 00000000..8cf28afc Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-7.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-8.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-8.png new file mode 100644 index 00000000..eb418fef Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-8.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-9.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-9.png new file mode 100644 index 00000000..a20ac2e3 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-9.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-a.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-a.png new file mode 100644 index 00000000..d845fa44 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-a.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-arrows.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-arrows.png new file mode 100644 index 00000000..6491f749 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-arrows.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-b.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-b.png new file mode 100644 index 00000000..2f42d8a4 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-b.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-c.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-c.png new file mode 100644 index 00000000..0a530ef7 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-c.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-d.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-d.png new file mode 100644 index 00000000..2436d62f Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-d.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-down.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-down.png new file mode 100644 index 00000000..71f2dd4d Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-down.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-e.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-e.png new file mode 100644 index 00000000..18d44a79 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-e.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-enter.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-enter.png new file mode 100644 index 00000000..4cbc61d3 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-enter.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-escape.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-escape.png new file mode 100644 index 00000000..968d5bfe Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-escape.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-f.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-f.png new file mode 100644 index 00000000..5ea2b7eb Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-f.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-g.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-g.png new file mode 100644 index 00000000..8e1eaac8 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-g.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-h.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-h.png new file mode 100644 index 00000000..5a6fafd5 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-h.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-i.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-i.png new file mode 100644 index 00000000..0e58a398 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-i.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-j.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-j.png new file mode 100644 index 00000000..417836f4 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-j.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-k.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-k.png new file mode 100644 index 00000000..52ba37d7 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-k.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-l.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-l.png new file mode 100644 index 00000000..82e1dfae Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-l.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-left.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-left.png new file mode 100644 index 00000000..e59cd269 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-left.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-m.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-m.png new file mode 100644 index 00000000..7ae6cad3 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-m.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-n.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-n.png new file mode 100644 index 00000000..41f13363 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-n.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-o.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-o.png new file mode 100644 index 00000000..ec18de8c Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-o.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-p.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-p.png new file mode 100644 index 00000000..3cc24045 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-p.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-q.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-q.png new file mode 100644 index 00000000..ac8a10db Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-q.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-r.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-r.png new file mode 100644 index 00000000..57ee08b9 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-r.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-right.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-right.png new file mode 100644 index 00000000..dad97765 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-right.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-s.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-s.png new file mode 100644 index 00000000..2c16d711 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-s.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-space.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-space.png new file mode 100644 index 00000000..aa2b684c Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-space.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-t.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-t.png new file mode 100644 index 00000000..c122913f Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-t.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-u.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-u.png new file mode 100644 index 00000000..6dc351c1 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-u.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-up.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-up.png new file mode 100644 index 00000000..d94221b6 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-up.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-v.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-v.png new file mode 100644 index 00000000..ffe6d9eb Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-v.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-w.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-w.png new file mode 100644 index 00000000..c79a4537 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-w.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-x.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-x.png new file mode 100644 index 00000000..fdf7e5d6 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-x.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-y.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-y.png new file mode 100644 index 00000000..e8469b02 Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-y.png differ diff --git a/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-z.png b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-z.png new file mode 100644 index 00000000..575a424b Binary files /dev/null and b/packages/create-narrat/template-games/demo/public/img/ui/button-prompts/keyboard/key-z.png differ diff --git a/packages/create-narrat/template-games/demo/src/config/common.yaml b/packages/create-narrat/template-games/demo/src/config/common.yaml index b07eb170..5970a8ee 100644 --- a/packages/create-narrat/template-games/demo/src/config/common.yaml +++ b/packages/create-narrat/template-games/demo/src/config/common.yaml @@ -14,6 +14,10 @@ dialogPanel: historyLength: 200 # The number of dialogue lines to keep in the history hideDuringTransition: true # Setting this to true will make the dialog panel hide during screen transitions showAfterScriptEnd: false # Setting this to true will make the dialog panel stay on even if the narrat script ends +input: + showPromptsOnGamepad: true + showPromptsOnKeyboard: true + showBottomLegend: true graphics: allowFullscreen: true layout: diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/dpad-down.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/dpad-down.png new file mode 100644 index 00000000..1f40c869 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/dpad-down.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/dpad-left.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/dpad-left.png new file mode 100644 index 00000000..2ac6de86 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/dpad-left.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/dpad-right.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/dpad-right.png new file mode 100644 index 00000000..cbd8e5f2 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/dpad-right.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/dpad-up.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/dpad-up.png new file mode 100644 index 00000000..3879cce8 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/dpad-up.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/dpad.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/dpad.png new file mode 100644 index 00000000..88fad8f9 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/dpad.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/facebutton-down.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/facebutton-down.png new file mode 100644 index 00000000..6aa572a6 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/facebutton-down.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/facebutton-left.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/facebutton-left.png new file mode 100644 index 00000000..ea7c9c64 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/facebutton-left.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/facebutton-right.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/facebutton-right.png new file mode 100644 index 00000000..2e0e5a5a Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/facebutton-right.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/facebutton-top.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/facebutton-top.png new file mode 100644 index 00000000..6acc03b2 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/facebutton-top.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/shoulder-left.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/shoulder-left.png new file mode 100644 index 00000000..17f6fb0a Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/shoulder-left.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/shoulder-right.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/shoulder-right.png new file mode 100644 index 00000000..db42583f Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/shoulder-right.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/special-left.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/special-left.png new file mode 100644 index 00000000..35d8f4e3 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/special-left.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/special-right.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/special-right.png new file mode 100644 index 00000000..2fab006b Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/special-right.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/trigger-left.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/trigger-left.png new file mode 100644 index 00000000..62434a4a Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/trigger-left.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/trigger-right.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/trigger-right.png new file mode 100644 index 00000000..ca952555 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/gamepad/trigger-right.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-1.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-1.png new file mode 100644 index 00000000..6e07ea75 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-1.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-2.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-2.png new file mode 100644 index 00000000..b82cfe17 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-2.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-3.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-3.png new file mode 100644 index 00000000..4bc72954 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-3.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-4.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-4.png new file mode 100644 index 00000000..98388efe Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-4.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-5.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-5.png new file mode 100644 index 00000000..77edaf82 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-5.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-6.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-6.png new file mode 100644 index 00000000..2e328a6b Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-6.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-7.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-7.png new file mode 100644 index 00000000..8cf28afc Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-7.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-8.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-8.png new file mode 100644 index 00000000..eb418fef Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-8.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-9.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-9.png new file mode 100644 index 00000000..a20ac2e3 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-9.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-a.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-a.png new file mode 100644 index 00000000..d845fa44 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-a.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-arrows.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-arrows.png new file mode 100644 index 00000000..6491f749 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-arrows.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-b.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-b.png new file mode 100644 index 00000000..2f42d8a4 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-b.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-c.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-c.png new file mode 100644 index 00000000..0a530ef7 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-c.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-d.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-d.png new file mode 100644 index 00000000..2436d62f Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-d.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-down.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-down.png new file mode 100644 index 00000000..71f2dd4d Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-down.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-e.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-e.png new file mode 100644 index 00000000..18d44a79 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-e.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-enter.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-enter.png new file mode 100644 index 00000000..4cbc61d3 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-enter.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-escape.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-escape.png new file mode 100644 index 00000000..968d5bfe Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-escape.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-f.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-f.png new file mode 100644 index 00000000..5ea2b7eb Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-f.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-g.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-g.png new file mode 100644 index 00000000..8e1eaac8 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-g.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-h.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-h.png new file mode 100644 index 00000000..5a6fafd5 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-h.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-i.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-i.png new file mode 100644 index 00000000..0e58a398 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-i.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-j.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-j.png new file mode 100644 index 00000000..417836f4 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-j.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-k.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-k.png new file mode 100644 index 00000000..52ba37d7 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-k.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-l.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-l.png new file mode 100644 index 00000000..82e1dfae Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-l.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-left.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-left.png new file mode 100644 index 00000000..e59cd269 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-left.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-m.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-m.png new file mode 100644 index 00000000..7ae6cad3 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-m.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-n.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-n.png new file mode 100644 index 00000000..41f13363 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-n.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-o.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-o.png new file mode 100644 index 00000000..ec18de8c Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-o.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-p.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-p.png new file mode 100644 index 00000000..3cc24045 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-p.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-q.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-q.png new file mode 100644 index 00000000..ac8a10db Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-q.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-r.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-r.png new file mode 100644 index 00000000..57ee08b9 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-r.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-right.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-right.png new file mode 100644 index 00000000..dad97765 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-right.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-s.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-s.png new file mode 100644 index 00000000..2c16d711 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-s.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-space.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-space.png new file mode 100644 index 00000000..aa2b684c Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-space.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-t.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-t.png new file mode 100644 index 00000000..c122913f Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-t.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-u.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-u.png new file mode 100644 index 00000000..6dc351c1 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-u.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-up.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-up.png new file mode 100644 index 00000000..d94221b6 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-up.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-v.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-v.png new file mode 100644 index 00000000..ffe6d9eb Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-v.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-w.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-w.png new file mode 100644 index 00000000..c79a4537 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-w.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-x.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-x.png new file mode 100644 index 00000000..fdf7e5d6 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-x.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-y.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-y.png new file mode 100644 index 00000000..e8469b02 Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-y.png differ diff --git a/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-z.png b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-z.png new file mode 100644 index 00000000..575a424b Binary files /dev/null and b/packages/create-narrat/template-games/empty/public/img/ui/button-prompts/keyboard/key-z.png differ diff --git a/packages/create-narrat/template-games/empty/src/config/common.yaml b/packages/create-narrat/template-games/empty/src/config/common.yaml index 2751716a..6f7b4956 100644 --- a/packages/create-narrat/template-games/empty/src/config/common.yaml +++ b/packages/create-narrat/template-games/empty/src/config/common.yaml @@ -15,6 +15,10 @@ dialogPanel: historyLength: 200 # The number of dialogue lines to keep in the history hideDuringTransition: true # Setting this to true will make the dialog panel hide during screen transitions showAfterScriptEnd: false # Setting this to true will make the dialog panel stay on even if the narrat script ends +input: + showPromptsOnGamepad: true + showPromptsOnKeyboard: true + showBottomLegend: true graphics: allowFullscreen: true layout: diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/dpad-down.png b/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/dpad-down.png new file mode 100644 index 00000000..1f40c869 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/dpad-down.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/dpad-left.png b/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/dpad-left.png new file mode 100644 index 00000000..2ac6de86 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/dpad-left.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/dpad-right.png b/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/dpad-right.png new file mode 100644 index 00000000..cbd8e5f2 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/dpad-right.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/dpad-up.png b/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/dpad-up.png new file mode 100644 index 00000000..3879cce8 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/dpad-up.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/dpad.png b/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/dpad.png new file mode 100644 index 00000000..88fad8f9 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/dpad.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/facebutton-down.png b/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/facebutton-down.png new file mode 100644 index 00000000..6aa572a6 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/facebutton-down.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/facebutton-left.png b/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/facebutton-left.png new file mode 100644 index 00000000..ea7c9c64 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/facebutton-left.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/facebutton-right.png b/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/facebutton-right.png new file mode 100644 index 00000000..2e0e5a5a Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/facebutton-right.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/facebutton-top.png b/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/facebutton-top.png new file mode 100644 index 00000000..6acc03b2 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/facebutton-top.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/shoulder-left.png b/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/shoulder-left.png new file mode 100644 index 00000000..17f6fb0a Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/shoulder-left.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/shoulder-right.png b/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/shoulder-right.png new file mode 100644 index 00000000..db42583f Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/shoulder-right.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/special-left.png b/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/special-left.png new file mode 100644 index 00000000..35d8f4e3 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/special-left.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/special-right.png b/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/special-right.png new file mode 100644 index 00000000..2fab006b Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/special-right.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/trigger-left.png b/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/trigger-left.png new file mode 100644 index 00000000..62434a4a Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/trigger-left.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/trigger-right.png b/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/trigger-right.png new file mode 100644 index 00000000..ca952555 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/gamepad/trigger-right.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-1.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-1.png new file mode 100644 index 00000000..6e07ea75 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-1.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-2.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-2.png new file mode 100644 index 00000000..b82cfe17 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-2.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-3.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-3.png new file mode 100644 index 00000000..4bc72954 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-3.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-4.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-4.png new file mode 100644 index 00000000..98388efe Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-4.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-5.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-5.png new file mode 100644 index 00000000..77edaf82 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-5.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-6.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-6.png new file mode 100644 index 00000000..2e328a6b Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-6.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-7.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-7.png new file mode 100644 index 00000000..8cf28afc Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-7.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-8.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-8.png new file mode 100644 index 00000000..eb418fef Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-8.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-9.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-9.png new file mode 100644 index 00000000..a20ac2e3 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-9.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-a.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-a.png new file mode 100644 index 00000000..d845fa44 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-a.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-arrows.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-arrows.png new file mode 100644 index 00000000..6491f749 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-arrows.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-b.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-b.png new file mode 100644 index 00000000..2f42d8a4 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-b.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-c.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-c.png new file mode 100644 index 00000000..0a530ef7 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-c.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-d.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-d.png new file mode 100644 index 00000000..2436d62f Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-d.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-down.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-down.png new file mode 100644 index 00000000..71f2dd4d Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-down.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-e.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-e.png new file mode 100644 index 00000000..18d44a79 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-e.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-enter.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-enter.png new file mode 100644 index 00000000..4cbc61d3 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-enter.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-escape.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-escape.png new file mode 100644 index 00000000..968d5bfe Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-escape.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-f.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-f.png new file mode 100644 index 00000000..5ea2b7eb Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-f.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-g.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-g.png new file mode 100644 index 00000000..8e1eaac8 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-g.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-h.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-h.png new file mode 100644 index 00000000..5a6fafd5 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-h.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-i.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-i.png new file mode 100644 index 00000000..0e58a398 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-i.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-j.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-j.png new file mode 100644 index 00000000..417836f4 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-j.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-k.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-k.png new file mode 100644 index 00000000..52ba37d7 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-k.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-l.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-l.png new file mode 100644 index 00000000..82e1dfae Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-l.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-left.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-left.png new file mode 100644 index 00000000..e59cd269 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-left.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-m.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-m.png new file mode 100644 index 00000000..7ae6cad3 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-m.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-n.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-n.png new file mode 100644 index 00000000..41f13363 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-n.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-o.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-o.png new file mode 100644 index 00000000..ec18de8c Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-o.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-p.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-p.png new file mode 100644 index 00000000..3cc24045 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-p.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-q.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-q.png new file mode 100644 index 00000000..ac8a10db Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-q.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-r.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-r.png new file mode 100644 index 00000000..57ee08b9 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-r.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-right.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-right.png new file mode 100644 index 00000000..dad97765 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-right.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-s.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-s.png new file mode 100644 index 00000000..2c16d711 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-s.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-space.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-space.png new file mode 100644 index 00000000..aa2b684c Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-space.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-t.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-t.png new file mode 100644 index 00000000..c122913f Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-t.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-u.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-u.png new file mode 100644 index 00000000..6dc351c1 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-u.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-up.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-up.png new file mode 100644 index 00000000..d94221b6 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-up.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-v.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-v.png new file mode 100644 index 00000000..ffe6d9eb Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-v.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-w.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-w.png new file mode 100644 index 00000000..c79a4537 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-w.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-x.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-x.png new file mode 100644 index 00000000..fdf7e5d6 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-x.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-y.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-y.png new file mode 100644 index 00000000..e8469b02 Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-y.png differ diff --git a/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-z.png b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-z.png new file mode 100644 index 00000000..575a424b Binary files /dev/null and b/packages/narrat/examples/assets/img/ui/button-prompts/keyboard/key-z.png differ diff --git a/packages/narrat/src/app.vue b/packages/narrat/src/app.vue index c3c0024e..1117b034 100644 --- a/packages/narrat/src/app.vue +++ b/packages/narrat/src/app.vue @@ -22,6 +22,7 @@ +
@@ -43,6 +44,7 @@ import { preloadAndSetupGame } from '@/application/application-start'; import { useScenes } from './stores/scenes-store'; import GameScene from './components/GameScene.vue'; import '@/data/all-stores'; +import InputsLegend from './components/input-prompt/inputs-legend.vue'; const props = defineProps<{ options: AppOptions; diff --git a/packages/narrat/src/components/game-dialog.vue b/packages/narrat/src/components/game-dialog.vue index 0f07605b..7efc6935 100644 --- a/packages/narrat/src/components/game-dialog.vue +++ b/packages/narrat/src/components/game-dialog.vue @@ -40,12 +40,14 @@ @click="autoPlay" > Auto +
useRenderingStore().layoutMode); const inputListener = computed(() => useInputs().inGameInputListener); diff --git a/packages/narrat/src/components/input-prompt/input-prompt.vue b/packages/narrat/src/components/input-prompt/input-prompt.vue new file mode 100644 index 00000000..6edf26af --- /dev/null +++ b/packages/narrat/src/components/input-prompt/input-prompt.vue @@ -0,0 +1,54 @@ + + + diff --git a/packages/narrat/src/components/input-prompt/inputs-legend.vue b/packages/narrat/src/components/input-prompt/inputs-legend.vue new file mode 100644 index 00000000..d301a5a0 --- /dev/null +++ b/packages/narrat/src/components/input-prompt/inputs-legend.vue @@ -0,0 +1,48 @@ + + + diff --git a/packages/narrat/src/components/menu-buttons.vue b/packages/narrat/src/components/menu-buttons.vue index d9094c51..1642287c 100644 --- a/packages/narrat/src/components/menu-buttons.vue +++ b/packages/narrat/src/components/menu-buttons.vue @@ -8,6 +8,10 @@ class="nrt-button menu-toggle-button" > {{ menuButton.label }} + (null); diff --git a/packages/narrat/src/config/common-config.ts b/packages/narrat/src/config/common-config.ts index ffd76d57..ab538bda 100644 --- a/packages/narrat/src/config/common-config.ts +++ b/packages/narrat/src/config/common-config.ts @@ -161,6 +161,13 @@ export const ScenesConfigSchema = Type.Object({ export type ScenesConfig = Static; +export const InputConfigSchema = Type.Object({ + showPromptsOnKeyboard: Type.Optional(Type.Boolean()), + showPromptsOnGamepad: Type.Optional(Type.Boolean()), + showBottomLegend: Type.Optional(Type.Boolean()), +}); +export type InputConfig = Static; + export const CommonConfigInputSchema = Type.Object({ baseAssetsPath: Type.Optional(Type.String()), baseDataPath: Type.Optional(Type.String()), @@ -184,6 +191,7 @@ export const CommonConfigInputSchema = Type.Object({ menuButtons: Type.Optional(MenuButtonsConfigSchema), debugging: Type.Optional(DebuggingConfigSchema), saves: Type.Optional(SavesConfigSchema), + input: Type.Optional(InputConfigSchema), hotkeys: HotkeysConfigSchema, scenes: Type.Optional(ScenesConfigSchema), }); @@ -213,6 +221,7 @@ export interface CommonConfig { menuButtons: MenuButtonsConfig; debugging: DebuggingConfig; saves: SavesConfig; + input: InputConfig; hotkeys: HotkeysConfig; scenes: ScenesConfig; } @@ -259,6 +268,10 @@ export const defaultCommonConfig: CommonConfig = { mode: 'manual', slots: 10, }, + input: { + showPromptsOnKeyboard: true, + showPromptsOnGamepad: true, + }, hotkeys: {}, scenes: {}, }; diff --git a/packages/narrat/src/dialog-box.vue b/packages/narrat/src/dialog-box.vue index 10447d99..6b275125 100644 --- a/packages/narrat/src/dialog-box.vue +++ b/packages/narrat/src/dialog-box.vue @@ -58,6 +58,7 @@ class="interact-button nrt-button override" > Continue +
@@ -84,6 +85,7 @@ import { InputListener, useInputs } from '@/stores/inputs-store'; import { Interval, Timeout } from '@/utils/time-helpers'; import { playLetterAudio, playDialogLineAudio } from '@/audio/audio-helpers'; import { useVM } from '@/stores/vm-store'; +import InputPrompt from './components/input-prompt/input-prompt.vue'; export interface TextAnimation { text: string; diff --git a/packages/narrat/src/examples/default/config/common.yaml b/packages/narrat/src/examples/default/config/common.yaml index 97c03391..c56a48bd 100644 --- a/packages/narrat/src/examples/default/config/common.yaml +++ b/packages/narrat/src/examples/default/config/common.yaml @@ -61,7 +61,10 @@ saves: text: saving... backgroundImage: 'img/ui/autosave_spinner_background.png' foregroundImage: 'img/ui/autosave_spinner.png' - +input: + showPromptsOnGamepad: true + showPromptsOnKeyboard: true + showBottomLegend: true notifications: timeOnScreen: 2.5 alsoPrintInDialogue: false diff --git a/packages/narrat/src/inputs/Inputs.ts b/packages/narrat/src/inputs/Inputs.ts index 887f8e61..82751c12 100644 --- a/packages/narrat/src/inputs/Inputs.ts +++ b/packages/narrat/src/inputs/Inputs.ts @@ -11,10 +11,18 @@ export type NarratGamepadButton = { state: GamepadButton; previous: GamepadButton; }; + +export interface NarratGamepadAxes { + index: number; + value: number; + previous: number; +} + export type NarratGamepad = { id: string; gamepad: Gamepad; buttons: NarratGamepadButton[]; + axes: NarratGamepadAxes[]; }; export type ButtonEvent = ( @@ -40,14 +48,21 @@ export interface AnalogKeybind { down: string; } -export interface ButtonAction { +export interface BaseAction { id: string; + type: 'button' | 'analog'; + label: string; + keyboardIcon: string; + gamepadIcon: string; + showInLegend: boolean; +} +export interface ButtonAction extends BaseAction { type: 'button'; action: 'press' | 'release'; keybinds: ButtonKeybind[]; } -export interface AnalogAction { +export interface AnalogAction extends BaseAction { id: string; type: 'analog'; keybinds: AnalogKeybind[]; @@ -191,6 +206,13 @@ export class Inputs extends EventTarget { buttons: gamepad.buttons.map((button, index) => { return this.getNarratButtonFromGamepad(button, button, index); }), + axes: gamepad.axes.map((axis, index) => { + return { + index, + value: axis, + previous: axis, + }; + }), }; return narratGamepad; } @@ -210,6 +232,14 @@ export class Inputs extends EventTarget { this.gamepadEvent(); } } + for (const [index, axis] of gamepad.axes.entries()) { + const narratAxis = narratGamepad.axes[index]; + narratAxis.previous = narratAxis.value; + narratAxis.value = axis; + if (narratAxis.previous !== narratAxis.value) { + this.gamepadEvent(); + } + } } public getNarratButtonFromGamepad( diff --git a/packages/narrat/src/menu-buttons/menu-buttons.ts b/packages/narrat/src/menu-buttons/menu-buttons.ts index e666baa5..23d6789a 100644 --- a/packages/narrat/src/menu-buttons/menu-buttons.ts +++ b/packages/narrat/src/menu-buttons/menu-buttons.ts @@ -19,6 +19,7 @@ export function registerDefaultMenuButtons(app: any) { label: 'System', cssClass: 'system-menu', id: 'system', + inputPrompt: 'system', tabs: [ { id: 'system-tab', @@ -33,6 +34,7 @@ export function registerDefaultMenuButtons(app: any) { label: 'Menu', id: 'menu', cssClass: 'menu-menu', + inputPrompt: 'menu', tabs: [ { id: 'skills', diff --git a/packages/narrat/src/stores/inputs-store.ts b/packages/narrat/src/stores/inputs-store.ts index 7eff87ec..6ce7e7ca 100644 --- a/packages/narrat/src/stores/inputs-store.ts +++ b/packages/narrat/src/stores/inputs-store.ts @@ -10,6 +10,7 @@ import { import { gameloop } from '@/utils/gameloop'; import { acceptHMRUpdate, defineStore } from 'pinia'; import { useMenu } from './menu-store'; +import { getCommonConfig } from '@/config'; export interface InputStoreEvents { press?: ButtonEvent; @@ -18,10 +19,29 @@ export interface InputStoreEvents { } const defaultActions: Action[] = [ + { + id: 'movement', + type: 'button', + label: 'Choose', + keyboardIcon: 'img/ui/button-prompts/keyboard/key-arrows.png', + gamepadIcon: 'img/ui/button-prompts/gamepad/dpad.png', + action: 'press', + showInLegend: true, + keybinds: [ + { + keyboardKey: 'ArrowLeft', + gamepadButton: 14, + }, + ], + }, { id: 'left', type: 'button', + label: 'Left', + keyboardIcon: 'img/ui/button-prompts/keyboard/arrow-left.png', + gamepadIcon: 'img/ui/button-prompts/gamepad/dpad-left.png', action: 'press', + showInLegend: false, keybinds: [ { keyboardKey: 'ArrowLeft', @@ -33,6 +53,10 @@ const defaultActions: Action[] = [ id: 'right', type: 'button', action: 'press', + label: 'Right', + keyboardIcon: 'img/ui/button-prompts/keyboard/arrow-right.png', + gamepadIcon: 'img/ui/button-prompts/gamepad/dpad-right.png', + showInLegend: false, keybinds: [ { keyboardKey: 'ArrowRight', @@ -44,6 +68,10 @@ const defaultActions: Action[] = [ id: 'up', type: 'button', action: 'press', + label: 'Up', + keyboardIcon: 'img/ui/button-prompts/keyboard/arrow-up.png', + gamepadIcon: 'img/ui/button-prompts/gamepad/dpad-up.png', + showInLegend: false, keybinds: [ { keyboardKey: 'ArrowUp', @@ -55,6 +83,10 @@ const defaultActions: Action[] = [ id: 'down', type: 'button', action: 'press', + label: 'Down', + keyboardIcon: 'img/ui/button-prompts/keyboard/arrow-down.png', + gamepadIcon: 'img/ui/button-prompts/gamepad/dpad-down.png', + showInLegend: false, keybinds: [ { keyboardKey: 'ArrowDown', @@ -66,9 +98,13 @@ const defaultActions: Action[] = [ id: 'continue', type: 'button', action: 'press', + label: 'Continue', + keyboardIcon: 'img/ui/button-prompts/keyboard/key-space.png', + gamepadIcon: 'img/ui/button-prompts/gamepad/facebutton-down.png', + showInLegend: true, keybinds: [ { - keyboardKey: 'Enter', + keyboardKey: 'Space', gamepadButton: 0, }, ], @@ -77,6 +113,10 @@ const defaultActions: Action[] = [ id: 'cancel', type: 'button', action: 'press', + label: 'Cancel', + keyboardIcon: 'img/ui/button-prompts/keyboard/key-escape.png', + gamepadIcon: 'img/ui/button-prompts/gamepad/facebutton-right.png', + showInLegend: true, keybinds: [ { keyboardKey: 'Escape', @@ -88,6 +128,10 @@ const defaultActions: Action[] = [ id: 'system', type: 'button', action: 'press', + label: 'System Menu', + keyboardIcon: 'img/ui/button-prompts/keyboard/key-n.png', + gamepadIcon: 'img/ui/button-prompts/gamepad/special-right.png', + showInLegend: false, keybinds: [ { keyboardKey: 'n', @@ -99,6 +143,10 @@ const defaultActions: Action[] = [ id: 'menu', type: 'button', action: 'press', + label: 'Game Menu', + keyboardIcon: 'img/ui/button-prompts/keyboard/key-m.png', + gamepadIcon: 'img/ui/button-prompts/gamepad/special-left.png', + showInLegend: false, keybinds: [ { keyboardKey: 'm', @@ -110,6 +158,10 @@ const defaultActions: Action[] = [ id: 'previousTab', type: 'button', action: 'press', + label: 'Previous', + keyboardIcon: 'img/ui/button-prompts/keyboard/key-p.png', + gamepadIcon: 'img/ui/button-prompts/gamepad/shoulder-left.png', + showInLegend: true, keybinds: [ { keyboardKey: 'p', @@ -121,6 +173,10 @@ const defaultActions: Action[] = [ id: 'nextTab', type: 'button', action: 'press', + label: 'Next', + keyboardIcon: 'img/ui/button-prompts/keyboard/key-o.png', + gamepadIcon: 'img/ui/button-prompts/gamepad/shoulder-right.png', + showInLegend: true, keybinds: [ { keyboardKey: 'o', @@ -132,6 +188,10 @@ const defaultActions: Action[] = [ id: 'subPreviousTab', type: 'button', action: 'press', + label: 'Previous Tab', + keyboardIcon: 'img/ui/button-prompts/keyboard/key-i.png', + gamepadIcon: 'img/ui/button-prompts/gamepad/trigger-left.png', + showInLegend: true, keybinds: [ { keyboardKey: 'i', @@ -143,6 +203,10 @@ const defaultActions: Action[] = [ id: 'subNextTab', type: 'button', action: 'press', + label: 'Next Tab', + keyboardIcon: 'img/ui/button-prompts/keyboard/key-u.png', + gamepadIcon: 'img/ui/button-prompts/gamepad/trigger-right.png', + showInLegend: true, keybinds: [ { keyboardKey: 'u', @@ -154,6 +218,10 @@ const defaultActions: Action[] = [ id: 'viewportSelect', type: 'button', action: 'press', + label: 'Interact', + keyboardIcon: 'img/ui/button-prompts/keyboard/key-v.png', + gamepadIcon: 'img/ui/button-prompts/gamepad/facebutton-left.png', + showInLegend: true, keybinds: [ { keyboardKey: 'v', @@ -165,6 +233,10 @@ const defaultActions: Action[] = [ id: 'autoPlay', type: 'button', action: 'press', + label: 'Toggle Autoplay', + keyboardIcon: 'img/ui/button-prompts/keyboard/key-a.png', + gamepadIcon: 'img/ui/button-prompts/gamepad/trigger-left.png', + showInLegend: false, keybinds: [ { keyboardKey: 'a', @@ -176,6 +248,10 @@ const defaultActions: Action[] = [ id: 'skip', type: 'button', action: 'press', + label: 'Skip', + keyboardIcon: 'img/ui/button-prompts/keyboard/key-s.png', + gamepadIcon: 'img/ui/button-prompts/gamepad/trigger-right.png', + showInLegend: false, keybinds: [ { keyboardKey: 's', @@ -204,7 +280,7 @@ export const useInputs = defineStore('inputs', { ({ inputStack: [], baseInputListener: null as any, - inputMode: 'mk' as InputMode, + inputMode: 'km', isTyping: false, inGameInputListener: null, }) as InputsStoreState, @@ -279,6 +355,9 @@ export const useInputs = defineStore('inputs', { // }, // }); }, + getAction(actionId: string) { + return inputs.gameActions[actionId]; + }, triggerListeners( actionKey: string, eventType: keyof InputStoreEvents, @@ -336,6 +415,29 @@ export const useInputs = defineStore('inputs', { listener.actions[actionId] = eventsListener; }, }, + getters: { + showPrompts(state) { + return ( + (state.inputMode === 'gamepad' && + getCommonConfig().input?.showPromptsOnGamepad !== false) || + (state.inputMode === 'km' && + getCommonConfig().input?.showPromptsOnKeyboard !== false) + ); + }, + allListeners(state) { + return state.inputStack + .map((listener) => { + return Object.keys(listener.actions); + }) + .flat() + .filter((v, i, a) => a.indexOf(v) === i); + }, + inputLegend(): string[] { + return this.allListeners.filter((listener) => { + return inputs.gameActions[listener].showInLegend; + }); + }, + }, }); if (import.meta.hot) { diff --git a/packages/narrat/src/stores/menu-store.ts b/packages/narrat/src/stores/menu-store.ts index badf1534..66823a4c 100644 --- a/packages/narrat/src/stores/menu-store.ts +++ b/packages/narrat/src/stores/menu-store.ts @@ -14,12 +14,14 @@ export interface MenuTabState { cssId?: string; cssClass?: string; text: string; + inputPrompt?: string; component: string; } export interface MenuState { id: string; label: string; + inputPrompt?: string; cssId?: string; cssClass?: string; tabs: MenuTabState[];