From e1f2c81c307269f952ea78ff7b0bd89cf8a5603f Mon Sep 17 00:00:00 2001 From: Alexey Nurgaliev Date: Sat, 5 Aug 2023 15:34:47 +0300 Subject: [PATCH] control buttons for gba, vb, 3do, atari2600, atari7800, lynx, jaguar --- data/emulator.js | 128 +++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 117 insertions(+), 11 deletions(-) diff --git a/data/emulator.js b/data/emulator.js index cd45ac6..b459250 100644 --- a/data/emulator.js +++ b/data/emulator.js @@ -1817,21 +1817,37 @@ class EmulatorJS { {id: 0, label: 'A'}, {id: 1, label: 'B'}, {id: 3, label: 'START'}, + {id: 4, label: 'D-PAD UP'}, + {id: 5, label: 'D-PAD DOWN'}, + {id: 6, label: 'D-PAD LEFT'}, + {id: 7, label: 'D-PAD RIGHT'}, + {id: 10, label: 'L'}, + {id: 11, label: 'R'}, + {id: 12, label: 'Z'}, + {id: 19, label: 'STICK UP'}, + {id: 18, label: 'STICK DOWN'}, + {id: 17, label: 'STICK LEFT'}, + {id: 16, label: 'STICK RIGHT'}, + {id: 23, label: 'C-PAD UP'}, + {id: 22, label: 'C-PAD DOWN'}, + {id: 21, label: 'C-PAD LEFT'}, + {id: 20, label: 'C-PAD RIGHT'}, + {id: 24, label: this.localization('QUICK SAVE STATE')}, + {id: 25, label: this.localization('QUICK LOAD STATE')}, + {id: 26, label: this.localization('CHANGE STATE SLOT')}, + ]; + } else if ('gba' === this.getControlScheme()) { + buttons = [ + {id: 8, label: 'A'}, + {id: 0, label: 'B'}, + {id: 10, label: 'L'}, + {id: 11, label: 'R'}, + {id: 2, label: 'SELECT'}, + {id: 3, label: 'START'}, {id: 4, label: 'UP'}, {id: 5, label: 'DOWN'}, {id: 6, label: 'LEFT'}, {id: 7, label: 'RIGHT'}, - {id: 10, label: 'L'}, - {id: 11, label: 'R'}, - {id: 12, label: 'Z'}, - {id: 19, label: 'L STICK UP'}, - {id: 18, label: 'L STICK DOWN'}, - {id: 17, label: 'L STICK LEFT'}, - {id: 16, label: 'L STICK RIGHT'}, - {id: 23, label: 'R STICK UP'}, - {id: 22, label: 'R STICK DOWN'}, - {id: 21, label: 'R STICK LEFT'}, - {id: 20, label: 'R STICK RIGHT'}, {id: 24, label: this.localization('QUICK SAVE STATE')}, {id: 25, label: this.localization('QUICK LOAD STATE')}, {id: 26, label: this.localization('CHANGE STATE SLOT')}, @@ -1855,6 +1871,26 @@ class EmulatorJS { {id: 25, label: this.localization('QUICK LOAD STATE')}, {id: 26, label: this.localization('CHANGE STATE SLOT')}, ]; + } else if ('vb' === this.getControlScheme()) { + buttons = [ + {id: 8, label: 'A'}, + {id: 0, label: 'B'}, + {id: 10, label: 'L'}, + {id: 11, label: 'R'}, + {id: 2, label: 'SELECT'}, + {id: 3, label: 'START'}, + {id: 4, label: 'LEFT D-PAD UP'}, + {id: 5, label: 'LEFT D-PAD DOWN'}, + {id: 6, label: 'LEFT D-PAD LEFT'}, + {id: 7, label: 'LEFT D-PAD RIGHT'}, + {id: 19, label: 'RIGHT D-PAD UP'}, + {id: 18, label: 'RIGHT D-PAD DOWN'}, + {id: 17, label: 'RIGHT D-PAD LEFT'}, + {id: 16, label: 'RIGHT D-PAD RIGHT'}, + {id: 24, label: this.localization('QUICK SAVE STATE')}, + {id: 25, label: this.localization('QUICK LOAD STATE')}, + {id: 26, label: this.localization('CHANGE STATE SLOT')}, + ]; } else if (['segaMD', 'segaCD', 'sega32x'].includes(this.getControlScheme())) { buttons = [ {id: 1, label: 'A'}, @@ -1917,6 +1953,76 @@ class EmulatorJS { {id: 25, label: this.localization('QUICK LOAD STATE')}, {id: 26, label: this.localization('CHANGE STATE SLOT')}, ]; + } else if ('3do' === this.getControlScheme()) { + buttons = [ + {id: 1, label: 'A'}, + {id: 0, label: 'B'}, + {id: 8, label: 'C'}, + {id: 10, label: 'L'}, + {id: 11, label: 'R'}, + {id: 2, label: 'X'}, + {id: 3, label: 'P'}, + {id: 4, label: 'UP'}, + {id: 5, label: 'DOWN'}, + {id: 6, label: 'LEFT'}, + {id: 7, label: 'RIGHT'}, + {id: 24, label: this.localization('QUICK SAVE STATE')}, + {id: 25, label: this.localization('QUICK LOAD STATE')}, + {id: 26, label: this.localization('CHANGE STATE SLOT')}, + ]; + } else if ('atari2600' === this.getControlScheme()) { + buttons = [ + {id: 0, label: 'FIRE'}, + {id: 4, label: 'UP'}, + {id: 5, label: 'DOWN'}, + {id: 6, label: 'LEFT'}, + {id: 7, label: 'RIGHT'}, + {id: 24, label: this.localization('QUICK SAVE STATE')}, + {id: 25, label: this.localization('QUICK LOAD STATE')}, + {id: 26, label: this.localization('CHANGE STATE SLOT')}, + ]; + } else if ('atari7800' === this.getControlScheme()) { + buttons = [ + {id: 0, label: 'BUTTON 1'}, + {id: 8, label: 'BUTTON 2'}, + {id: 4, label: 'UP'}, + {id: 5, label: 'DOWN'}, + {id: 6, label: 'LEFT'}, + {id: 7, label: 'RIGHT'}, + {id: 24, label: this.localization('QUICK SAVE STATE')}, + {id: 25, label: this.localization('QUICK LOAD STATE')}, + {id: 26, label: this.localization('CHANGE STATE SLOT')}, + ]; + } else if ('lynx' === this.getControlScheme()) { + buttons = [ + {id: 8, label: 'A'}, + {id: 0, label: 'B'}, + {id: 10, label: 'OPTION 1'}, + {id: 11, label: 'OPTION 2'}, + {id: 3, label: 'START'}, + {id: 4, label: 'UP'}, + {id: 5, label: 'DOWN'}, + {id: 6, label: 'LEFT'}, + {id: 7, label: 'RIGHT'}, + {id: 24, label: this.localization('QUICK SAVE STATE')}, + {id: 25, label: this.localization('QUICK LOAD STATE')}, + {id: 26, label: this.localization('CHANGE STATE SLOT')}, + ]; + } else if ('jaguar' === this.getControlScheme()) { + buttons = [ + {id: 8, label: 'A'}, + {id: 0, label: 'B'}, + {id: 1, label: 'C'}, + {id: 2, label: 'PAUSE'}, + {id: 3, label: 'OPTION'}, + {id: 4, label: 'UP'}, + {id: 5, label: 'DOWN'}, + {id: 6, label: 'LEFT'}, + {id: 7, label: 'RIGHT'}, + {id: 24, label: this.localization('QUICK SAVE STATE')}, + {id: 25, label: this.localization('QUICK LOAD STATE')}, + {id: 26, label: this.localization('CHANGE STATE SLOT')}, + ]; } else { buttons = [ {id: 0, label: 'B'},