ddgo-scripts/Densha de GO! (PS1-PS2)/ZuikiToPS1-T1.gpc
Marc Riera Irigoyen fa7dfa7831 Rename
2022-04-05 12:08:01 +02:00

182 lines
5 KiB
Text
Executable file

//#include <titanone.gph>
// Script to use a Zuiki Switch controller with Densha de GO! games for the PS1/PS2 on emulators or real hardware
// Written by Marc Riera, 2022
// D-Pad is mapped to left stick and X is mapped to L3 for use with for use with PS2 cheats:
// https://marcriera.github.io/ddgo-controller-docs/adapters/#playstation-2-cheat-codes-for-playstation-1-controllers
unmap HID_XINPUT_1;
unmap PS4_PS;
remap PS4_RX -> PS4_LX;
remap PS4_RY -> PS4_LY;
unmap PS4_RX;
unmap PS4_RY;
main {
// Teal light
set_led(LED_1, 1);
set_led(LED_2, 0);
set_led(LED_3, 1);
// X button
if (get_val(HID_BUTTON_14) == 100) {
set_val(PS4_L3, 100);
}
// D-Pad
if (get_val(HID_BUTTON_10) == 100) { // UP
set_val(PS4_RY, -100);
}
if (get_val(HID_BUTTON_11) == 100) { // DOWN
set_val(PS4_RY, 100);
}
if (get_val(HID_BUTTON_12) == 100) { // LEFT
set_val(PS4_RX, -100);
}
if (get_val(HID_BUTTON_13) == 100) { // RIGHT
set_val(PS4_RX, 100);
}
// Handle
if (get_val(HID_STICK_2_Y) == -100) { // EB
set_val(PS4_L1, 0);
set_val(PS4_L2, 0);
set_val(PS4_R1, 0);
set_val(PS4_R2, 0);
set_val(PS4_LEFT, 100);
set_val(PS4_RIGHT, 100);
set_val(PS4_TRIANGLE, 0);
}
if (get_val(HID_STICK_2_Y) == -96) { // B8
set_val(PS4_L1, 0);
set_val(PS4_L2, 100);
set_val(PS4_R1, 100);
set_val(PS4_R2, 0);
set_val(PS4_LEFT, 100);
set_val(PS4_RIGHT, 100);
set_val(PS4_TRIANGLE, 0);
}
if (get_val(HID_STICK_2_Y) == -85) { // B7
set_val(PS4_L1, 100);
set_val(PS4_L2, 100);
set_val(PS4_R1, 100);
set_val(PS4_R2, 0);
set_val(PS4_LEFT, 100);
set_val(PS4_RIGHT, 100);
set_val(PS4_TRIANGLE, 0);
}
if (get_val(HID_STICK_2_Y) == -74) { // B6
set_val(PS4_L1, 0);
set_val(PS4_L2, 0);
set_val(PS4_R1, 0);
set_val(PS4_R2, 100);
set_val(PS4_LEFT, 100);
set_val(PS4_RIGHT, 100);
set_val(PS4_TRIANGLE, 0);
}
if (get_val(HID_STICK_2_Y) == -63) { // B5
set_val(PS4_L1, 100);
set_val(PS4_L2, 0);
set_val(PS4_R1, 0);
set_val(PS4_R2, 100);
set_val(PS4_LEFT, 100);
set_val(PS4_RIGHT, 100);
set_val(PS4_TRIANGLE, 0);
}
if (get_val(HID_STICK_2_Y) == -52) { // B4
set_val(PS4_L1, 0);
set_val(PS4_L2, 100);
set_val(PS4_R1, 0);
set_val(PS4_R2, 100);
set_val(PS4_LEFT, 100);
set_val(PS4_RIGHT, 100);
set_val(PS4_TRIANGLE, 0);
}
if (get_val(HID_STICK_2_Y) == -42) { // B3
set_val(PS4_L1, 100);
set_val(PS4_L2, 100);
set_val(PS4_R1, 0);
set_val(PS4_R2, 100);
set_val(PS4_LEFT, 100);
set_val(PS4_RIGHT, 100);
set_val(PS4_TRIANGLE, 0);
}
if (get_val(HID_STICK_2_Y) == -31) { // B2
set_val(PS4_L1, 0);
set_val(PS4_L2, 0);
set_val(PS4_R1, 100);
set_val(PS4_R2, 100);
set_val(PS4_LEFT, 100);
set_val(PS4_RIGHT, 100);
set_val(PS4_TRIANGLE, 0);
}
if (get_val(HID_STICK_2_Y) == -20) { // B1
set_val(PS4_L1, 100);
set_val(PS4_L2, 0);
set_val(PS4_R1, 100);
set_val(PS4_R2, 100);
set_val(PS4_LEFT, 100);
set_val(PS4_RIGHT, 100);
set_val(PS4_TRIANGLE, 0);
}
if (get_val(HID_STICK_2_Y) == 0) { // N
set_val(PS4_L1, 0);
set_val(PS4_L2, 100);
set_val(PS4_R1, 100);
set_val(PS4_R2, 100);
set_val(PS4_LEFT, 100);
set_val(PS4_RIGHT, 100);
set_val(PS4_TRIANGLE, 0);
}
if (get_val(HID_STICK_2_Y) == 24) { // P1
set_val(PS4_L1, 0);
set_val(PS4_L2, 100);
set_val(PS4_R1, 100);
set_val(PS4_R2, 100);
set_val(PS4_LEFT, 0);
set_val(PS4_RIGHT, 100);
set_val(PS4_TRIANGLE, 100);
}
if (get_val(HID_STICK_2_Y) == 43) { // P2
set_val(PS4_L1, 0);
set_val(PS4_L2, 100);
set_val(PS4_R1, 100);
set_val(PS4_R2, 100);
set_val(PS4_LEFT, 0);
set_val(PS4_RIGHT, 100);
set_val(PS4_TRIANGLE, 0);
}
if (get_val(HID_STICK_2_Y) == 61) { // P3
set_val(PS4_L1, 0);
set_val(PS4_L2, 100);
set_val(PS4_R1, 100);
set_val(PS4_R2, 100);
set_val(PS4_LEFT, 100);
set_val(PS4_RIGHT, 0);
set_val(PS4_TRIANGLE, 100);
}
if (get_val(HID_STICK_2_Y) == 80) { // P4
set_val(PS4_L1, 0);
set_val(PS4_L2, 100);
set_val(PS4_R1, 100);
set_val(PS4_R2, 100);
set_val(PS4_LEFT, 100);
set_val(PS4_RIGHT, 0);
set_val(PS4_TRIANGLE, 0);
}
if (get_val(HID_STICK_2_Y) == 100) { // P5
set_val(PS4_L1, 0);
set_val(PS4_L2, 100);
set_val(PS4_R1, 100);
set_val(PS4_R2, 100);
set_val(PS4_LEFT, 0);
set_val(PS4_RIGHT, 0);
set_val(PS4_TRIANGLE, 100);
}
set_val(PS4_UP, 100);
set_val(PS4_DOWN, 100);
}