Android版MAMEで縦画面ゲームを操作反転なしに回転する方法
まずMAMEの`rotate`を有効のままにします。各machineは通常向きで表示されます。Android portで縦画面ゲームだけが横倒しなら、`ror`か`rol`の片方だけを使い、`flipx`と`flipy`はoffにします。`autoror`/`autorol`は一方向に物理回転するdisplay専用です。app全体が固定またはletterboxなら、MAME回転を重ねずAndroidかwrapperを確認します。
この順番で実行
- 01
port、MAME revision、short name、端末の物理向き、active display、wrapper設定を記録し、画像を添付せず誤表示を説明します。
- 02
`rotate`を既定に戻し、`ror`、`rol`、`autoror`、`autorol`、`flipx`、`flipy`を解除してnative orientationだけにします。
- 03
許可済みの縦画面ゲームと横画面ゲームを1本ずつ試し、両方が回るなら個別設定前にAndroid/wrapperを確認します。
- 04
縦画面だけ横倒しなら`ror`か`rol`の片方を使い、文字、joystick方向、touch overlay、外部controllerを確認します。
- 05
`autoror`/`autorol`は一方向pivot displayだけに使い、phoneの一般的auto-rotateとして使いません。
- 06
最小scopeで保存し、両ゲームをcold restartして、Android、wrapper、display、renderer、MAME更新後に再試験します。
診断表
| 表示結果 | 可能性の高い層 | 判断 |
|---|---|---|
| 縦ゲームだけ横倒し | MAME相対回転 | rorかrolを試す |
| 画像正常、操作逆 | overlay/input map | 入力層を別に修正 |
| 画像が鏡像 | flipx/flipy | flipをreset |
| app全体が固定 | Android activity/wrapper | windowとorientation確認 |
標準向きと相対回転は別です
MAMEはmachine定義に合わせ`rotate`を既定で有効にします。`ror`/`rol`はそこへ90度を追加するため、重ねると180度になります。
mirrorはrotation修正ではありません
`flipx`/`flipy`は回転後に適用されます。文字が鏡像ならflipであり、操作で相殺すると不具合が増えます。
app windowはAndroidが管理します
activityはportrait、landscape、sensor、user、lockedを要求できますが、大画面やwindow modeではletterbox等も起こります。最終的にはport文書に従います。
画面回転でcontentの権利は変わりません。合法なゲームだけを使い、ROM、BIOS、CHD、screenshot、art、overlay、音楽、private device情報を公開しないでください。