[Enhancement] Support "1st person RPG control mode"

Ask for help with ScummVM problems

Moderator: ScummVM Team

Post Reply
rsn8887
Posts: 19
Joined: Sat Jan 23, 2016 1:56 am

[Enhancement] Support "1st person RPG control mode"

Post by rsn8887 » Sun Jul 15, 2018 6:56 pm

The PSP port has this ingenious "1st person RPG control mode", detailed here:
http://wiki.scummvm.org/index.php/PlayStation_Portable

It is an alternate mapping for EOTB and similar games (works great for Xeen, too). It allows strafing with L/R and turning with the dpad.

Since we have global game controller support now in all ports that use SDL2, I wonder if this mode could now be supported globally, too.

Here are the details:
1st Person Game Mode (Can be ignored by most users):
Right Trigger + Left Trigger + Square Enable 1st Person Mode
Square Is the modifier key instead of Right Trigger.
Left/Right Trigger Strafe left/right
D-Pad Left/Right Turn left/right
Square + D-Pad F1/F2/F3/F4
Square + Select Image Viewer
Square + Start Esc (shows game menu)

In the PSP port, a small message pops up whenever the mode is changed, to notify the user. The message is rendered using the ScummVM gui via GUI::TimedMessageDialog. It just says "1st person RPG button mode" or "normal button mode" when switching.

I know game controller code was re-factored a while ago, from the original Vita code into the general SDL2 code. Maybe the person who did that could take a look?

Most of the PSP code regarding this is in scummvm/backends/platform/psp/input.cpp in the members
ButtonPad::initButtonsLolMode()
InputHandler::handleModeSwitchEvent()

Post Reply