libretro / desmume

DeSmuME is a Nintendo DS emulator
http://desmume.org
GNU General Public License v2.0
35 stars 33 forks source link

Rotate controls according to video rotation #29

Closed Papermanzero closed 6 years ago

Papermanzero commented 6 years ago

If the video is rotated by 90 degrees the controls stay the same. The user cannot even create custom input maps because the retropad itself must be newly configured. Also mouse controls do not work because they are also not rotated. Therefore a feature is needed to rotate the controls according to the video rotation.

Exampel: Hotel Dusk

bearoso commented 6 years ago

I noticed this as well. I've got a solution in mind for mouse controls, since it's just a matter of transposing the x and y deltas.

I'm not sure what you mean by the retropad needing to rotate. Is it that hotel dusk changes left/right to up/down, but since you're using a controller and not a DS, the physical controls need remapping to rotate with them?

Papermanzero commented 6 years ago

I changed the mapping of retropad as workaround. Means, I mapped the right analog stick up to retro pad right analog left. So I „rotated“ the input mapping. However the user cannot save game specific retro pad mappings. Only core specific input configurations can be changed.

Edit: I think there will be another limitation. Some games require two tappings on the touchscreen at the same time. However the libretro version cannot use multiple touch inputs.

bearoso commented 6 years ago

Added an input rotation option that can be set to the same thing as Retroarch's rotation for upright movement. Doesn't work on d-pad.

As far as two touch points, I don't think the DS has the ability to sense more than one. If there's some game requiring two then it probably uses interpolation to hit the midpoint between the two touch points.

Papermanzero commented 6 years ago

Perfect. Thanks.

Concerning multitouch. Here an example at minute 16. https://youtu.be/XWxY5RlJaZU

It is somehow interpolation. you are right.

Papermanzero commented 6 years ago

Works perfect! Thanks! For the dpad a remap file can be created.