diff --git a/Packaging/OpenDingux/gkd350h-manual.txt b/Packaging/OpenDingux/gkd350h-manual.txt index 742b1e644..ce9c72771 100644 --- a/Packaging/OpenDingux/gkd350h-manual.txt +++ b/Packaging/OpenDingux/gkd350h-manual.txt @@ -9,20 +9,19 @@ Game saves and diablo.ini are located at: Controls: - Joystick / D-Pad: move hero -- Right analog: simulate mouse -- **○** circle: attack nearby enemies, talk to townspeople and merchants, pickup/place items in the inventory, OK while in main menu -- **×** cross: select spell, back while in menus -- **△** triangle: pickup items, open nearby chests and doors, use item in the inventory -- **□** square: cast spell, delete character while in main menu +- ○: attack nearby enemies, talk to townspeople and merchants, pickup/place items in the inventory, OK while in main menu +- ×: select spell, back while in menus +- △: pickup items, open nearby chests and doors, use item in the inventory +- □: cast spell, delete character while in main menu - L: use health item from belt - R: use mana potion from belt -- Select + ↑ up: game menu -- Select + ← left: character info -- Select + → right: inventory -- Select + ↓ down: map -- Select + **□** square: Quest log -- Select + **×** cross: Spell book -- Start + **△○×□**: Quick spell hotkeys +- Select + ↑: game menu +- Select + L or ←: character info +- Select + R or →: inventory +- Select + ↓: map +- Select + □: Quest log +- Select + ×: Spell book +- Start + △○×□: Quick spell hotkeys Known issues/quirks: diff --git a/Packaging/OpenDingux/retrofw-manual.txt b/Packaging/OpenDingux/retrofw-manual.txt index 4419cd0ac..862ff9bd6 100644 --- a/Packaging/OpenDingux/retrofw-manual.txt +++ b/Packaging/OpenDingux/retrofw-manual.txt @@ -12,17 +12,16 @@ Controls: - B: select spell, back while in menus - X: pickup items, open nearby chests and doors, use item in the inventory - Y: cast spell, delete character while in main menu -- R1: use mana potion from belt -- L1: use health item from belt -- Start + Up: game menu -- Start + Left: character info -- Start + Right: inventory -- Start + Down: map +- R: use mana potion from belt +- L: use health item from belt +- Start + Select: game menu (alt: Start + ↑) +- Start + L or ←: character info +- Start + R or →: inventory +- Start + ↓: map - Start + Y: Quest log - Start + B: Spell book - Select + A/B/X/Y: hot spell - Select + D-pad: move map/cursor -- Select + L1: left mouse click -- Select + R1: right mouse click -- Start + Select: game menu +- Select + L: left mouse click +- Select + R: right mouse click - Suspend: map diff --git a/Packaging/OpenDingux/rg350-manual.txt b/Packaging/OpenDingux/rg350-manual.txt index 336be84ba..3ffaa14bf 100644 --- a/Packaging/OpenDingux/rg350-manual.txt +++ b/Packaging/OpenDingux/rg350-manual.txt @@ -15,17 +15,15 @@ Controls: - Y: cast spell, delete character while in main menu - L1: use health item from belt - R1: use mana potion from belt -- L2 or Start + Left: character sheet -- R2 or Start + Right: inventory -- Left analog click or Start + Down: toggle automap -- Start + Up or Start + Select: game menu -- Start + Left: character info -- Start + Right: inventory +- L2: character sheet (alt: Start + L1 or ←) +- R2: inventory (alt: Start + L2 or →) +- Left analog click: toggle automap (alt: Start + ↓) +- Start + Select: game menu (alt: Start + ↑) - Select + A/B/X/Y: Spell hotkeys - Right analog: move automap or simulate mouse -- Right analog click or Select + L1: left mouse click -- Select + Right analog click or Select + R1: right mouse click -- Select + L2 or Start + Y: quest log -- Select + R2 or Start + B: spell book +- Right analog click: left mouse click (alt: Select + L1) +- Select + Right analog click: right mouse click (alt: Select + R1) +- Select + L2: quest log (alt: Start + Y) +- Select + R2: spell book (alt: Start + B) Source: https://github.com/diasurgical/devilutionX/ diff --git a/README.md b/README.md index b58ca1aac..5a8ff37e4 100644 --- a/README.md +++ b/README.md @@ -282,7 +282,7 @@ All games are encrypted and password protected. DevilutionX supports gamepad controls. -Default controller mappings (A/B/X/Y as in Nintendo layout, so the rightmost button is attack): +Default controller mappings (A/B/X/Y as in Nintendo layout, so the rightmost button is attack; A ○, B ×, X △, Y □): - Left analog or D-Pad: move hero - A: attack nearby enemies, talk to townspeople and merchants, pickup/place items in the inventory, OK while in main menu @@ -291,18 +291,16 @@ Default controller mappings (A/B/X/Y as in Nintendo layout, so the rightmost but - Y: cast spell, delete character while in main menu - L1: use health item from belt - R1: use mana potion from belt -- L2 or Start + Left: character sheet -- R2 or Start + Right: inventory -- Left analog click or Start + Down: toggle automap -- Start + Up or Start + Select: game menu -- Start + Left: character info -- Start + Right: inventory +- L2: character sheet (alt: Start + L1 or ←) +- R2: inventory (alt: Start + L2 or →) +- Left analog click: toggle automap (alt: Start + ↓) +- Start + Select: game menu (alt: Start + ↑) - Select + A/B/X/Y: Spell hotkeys - Right analog: move automap or simulate mouse -- Right analog click or Select + L1: left mouse click -- Select + Right analog click or Select + R1: right mouse click -- Select + L2 or Start + Y: quest log -- Select + R2 or Start + B: spell book +- Right analog click: left mouse click (alt: Select + L1) +- Select + Right analog click: right mouse click (alt: Select + R1) +- Select + L2: quest log (alt: Start + Y) +- Select + R2: spell book (alt: Start + B) For now, they can be re-mapped by changing `SourceX/controls` or by setting the `SDL_GAMECONTROLLERCONFIG` environment variable (see diff --git a/SourceX/controls/game_controls.cpp b/SourceX/controls/game_controls.cpp index f245ebbb4..ae99b6763 100644 --- a/SourceX/controls/game_controls.cpp +++ b/SourceX/controls/game_controls.cpp @@ -148,6 +148,14 @@ bool GetGameAction(const SDL_Event &event, GameAction *action) if (!ctrl_event.up) *action = GameAction(GameActionType::TOGGLE_QUEST_LOG); return true; + case ControllerButton::BUTTON_LEFTSHOULDER: + if (!ctrl_event.up) + *action = GameAction(GameActionType::TOGGLE_CHARACTER_INFO); + return true; + case ControllerButton::BUTTON_RIGHTSHOULDER: + if (!ctrl_event.up) + *action = GameAction(GameActionType::TOGGLE_INVENTORY); + return true; default: return true; }