Site Tools
Sidebar
User's Manual
t2:titanone_gph
titanone.gph
/* This GPC header was heavily inspired on the great work originally created */ /* by PaulaTheKoala. We are all thankful for your efforts in help make the */ /* backward compatibility for Titan One source code possible. */ #ifndef TITAN_ONE_GPH_ #define TITAN_ONE_GPH_ /** * TITAN ONE CONSTANTS */ #define FALSE 0 #define TRUE 1 #define NOT_USE 0 #define ALL_REMAPS -1 #define REMAP_NULL -1 #define DZ_CIRCLE 101 #define LED_NONE -1 #define LED_1 LED_1 #define LED_2 LED_2 #define LED_3 LED_3 #define LED_4 LED_4 #define RUMBLE_A 0 #define RUMBLE_B 1 #define RUMBLE_RT 2 #define RUMBLE_LT 3 #define PIO_NONE 0 #define PIO_AUTO 0 #define PIO_PS4 4 #define PIO_PS3 1 #define PIO_XB1 5 #define PIO_XB360 2 #define PIO_WII 3 #define PIO_HID 6 #define PIO_SWITCH 7 #define PS4T_P1 0x01 #define PS4T_P1X 0x02 #define PS4T_P1Y 0x03 #define PS4T_P2 0x10 #define PS4T_P2X 0x20 #define PS4T_P2Y 0x30 #define PVAR_1 0 #define PVAR_2 1 #define PVAR_3 2 #define PVAR_4 3 #define PVAR_5 4 #define PVAR_6 5 #define PVAR_7 6 #define PVAR_8 7 #define PVAR_9 8 #define PVAR_10 9 #define PVAR_11 10 #define PVAR_12 11 #define PVAR_13 12 #define PVAR_14 13 #define PVAR_15 14 #define PVAR_16 15 #define SPVAR_1 -32768 #define SPVAR_2 -32767 #define SPVAR_3 -32766 #define SPVAR_4 -32765 #define SPVAR_5 -32764 #define SPVAR_6 -32763 #define SPVAR_7 -32762 #define SPVAR_8 -32761 #define SPVAR_9 -32760 #define SPVAR_10 -32759 #define SPVAR_11 -32758 #define SPVAR_12 -32757 #define SPVAR_13 -32756 #define SPVAR_14 -32755 #define SPVAR_15 -32754 #define SPVAR_16 -32753 #define T0 #pragma T0 /** * TITAN ONE INPUT INDEXES */ #define PS4_PS 0 #define PS4_TOUCH 1 // 27 #define PS4_OPTIONS 2 #define PS4_R1 3 #define PS4_R2 4 #define PS4_R3 5 #define PS4_L1 6 #define PS4_L2 7 #define PS4_L3 8 #define PS4_RX 9 #define PS4_RY 10 #define PS4_LX 11 #define PS4_LY 12 #define PS4_UP 13 #define PS4_DOWN 14 #define PS4_LEFT 15 #define PS4_RIGHT 16 #define PS4_TRIANGLE 17 #define PS4_CIRCLE 18 #define PS4_CROSS 19 #define PS4_SQUARE 20 #define PS4_ACCX 21 #define PS4_ACCY 22 #define PS4_ACCZ 23 #define PS4_GYROX 24 #define PS4_GYROY 25 #define PS4_GYROZ 26 #define PS4_SHARE 27 // 1 #define PS4_TOUCHX 28 #define PS4_TOUCHY 29 #define PS4_T_INPUTS 30 #define PS3_PS 0 #define PS3_SELECT 1 #define PS3_START 2 #define PS3_R1 3 #define PS3_R2 4 #define PS3_R3 5 #define PS3_L1 6 #define PS3_L2 7 #define PS3_L3 8 #define PS3_RX 9 #define PS3_RY 10 #define PS3_LX 11 #define PS3_LY 12 #define PS3_UP 13 #define PS3_DOWN 14 #define PS3_LEFT 15 #define PS3_RIGHT 16 #define PS3_TRIANGLE 17 #define PS3_CIRCLE 18 #define PS3_CROSS 19 #define PS3_SQUARE 20 #define PS3_ACCX 21 #define PS3_ACCY 22 #define PS3_ACCZ 23 #define PS3_GYRO 24 #define PS3_T_INPUTS 25 #define XB1_XBOX 0 #define XB1_VIEW 1 #define XB1_MENU 2 #define XB1_RB 3 #define XB1_RT 4 #define XB1_RS 5 #define XB1_LB 6 #define XB1_LT 7 #define XB1_LS 8 #define XB1_RX 9 #define XB1_RY 10 #define XB1_LX 11 #define XB1_LY 12 #define XB1_UP 13 #define XB1_DOWN 14 #define XB1_LEFT 15 #define XB1_RIGHT 16 #define XB1_Y 17 #define XB1_B 18 #define XB1_A 19 #define XB1_X 20 #define XB1_P1 27 // 24 #define XB1_P2 30 // 25 #define XB1_P3 31 // 26 #define XB1_P4 32 // 27 #define XB1_T_INPUTS 28 #define XB360_XBOX 0 #define XB360_BACK 1 #define XB360_START 2 #define XB360_RB 3 #define XB360_RT 4 #define XB360_RS 5 #define XB360_LB 6 #define XB360_LT 7 #define XB360_LS 8 #define XB360_RX 9 #define XB360_RY 10 #define XB360_LX 11 #define XB360_LY 12 #define XB360_UP 13 #define XB360_DOWN 14 #define XB360_LEFT 15 #define XB360_RIGHT 16 #define XB360_Y 17 #define XB360_B 18 #define XB360_A 19 #define XB360_X 20 #define XB360_T_INPUTS 21 #define SWITCH_HOME 0 #define SWITCH_MINUS 1 #define SWITCH_PLUS 2 #define SWITCH_R 3 #define SWITCH_ZR 4 #define SWITCH_SR 5 #define SWITCH_L 6 #define SWITCH_ZL 7 #define SWITCH_SL 8 #define SWITCH_RX 9 #define SWITCH_RY 10 #define SWITCH_LX 11 #define SWITCH_LY 12 #define SWITCH_UP 13 #define SWITCH_DOWN 14 #define SWITCH_LEFT 15 #define SWITCH_RIGHT 16 #define SWITCH_X 17 #define SWITCH_A 18 #define SWITCH_B 19 #define SWITCH_Y 20 #define SWITCH_ACCX 21 #define SWITCH_ACCY 22 #define SWITCH_ACCZ 23 #define SWITCH_GYROX 24 #define SWITCH_GYROY 25 #define SWITCH_GYROZ 26 #define SWITCH_CAPTURE 27 #define SWITCH_T_INPUTS 28 #define WII_HOME 0 #define WII_MINUS 1 #define WII_PLUS 2 #define WII_RT 3 #define WII_ZR 4 #define WII_ONE 5 #define WII_C 6 #define WII_LT 6 #define WII_Z 7 #define WII_ZL 7 #define WII_TWO 8 #define WII_RX 9 #define WII_RY 10 #define WII_NX 11 #define WII_LX 11 #define WII_NY 12 #define WII_LY 12 #define WII_UP 13 #define WII_DOWN 14 #define WII_LEFT 15 #define WII_RIGHT 16 #define WII_X 17 #define WII_B 18 #define WII_A 19 #define WII_Y 20 #define WII_ACCX 21 #define WII_ACCY 22 #define WII_ACCZ 23 #define WII_ACCNX 25 #define WII_ACCNY 26 #define WII_ACCNZ 27 #define WII_IRX 28 #define WII_IRY 29 #define WII_T_INPUTS 30 #define HID_BUTTON_1 0 #define HID_BUTTON_2 1 #define HID_BUTTON_3 2 #define HID_BUTTON_4 3 #define HID_BUTTON_5 4 #define HID_BUTTON_6 5 #define HID_BUTTON_7 6 #define HID_BUTTON_8 7 #define HID_BUTTON_9 8 #define HID_STICK_1_X 9 #define HID_STICK_1_Y 10 #define HID_STICK_2_X 11 #define HID_STICK_2_Y 12 #define HID_BUTTON_10 13 #define HID_BUTTON_11 14 #define HID_BUTTON_12 15 #define HID_BUTTON_13 16 #define HID_BUTTON_14 17 #define HID_BUTTON_15 18 #define HID_BUTTON_16 19 #define HID_BUTTON_17 20 #define HID_XINPUT_1 21 #define HID_XINPUT_2 22 #define HID_XINPUT_3 23 #define HID_XINPUT_4 24 #define HID_XINPUT_5 25 #define HID_XINPUT_6 26 #define HID_XINPUT_7 27 #define HID_XINPUT_8 28 #define HID_XINPUT_9 29 #define CEMU_EXTRA1 21 #define CEMU_EXTRA2 22 #define CEMU_EXTRA3 23 #define CEMU_EXTRA4 24 #define CEMU_EXTRA5 25 #define CEMU_EXTRA6 26 #define CEMU_EXTRA7 27 #define CEMU_EXTRA8 28 #define CEMU_EXTRA9 29 #define TRACE_1 30 #define TRACE_2 31 #define TRACE_3 32 #define TRACE_4 33 #define TRACE_5 34 #define TRACE_6 35 /** * TABLES */ const uint8 _ot_i[] = { // Titan One to Titan Two input index conversion table BUTTON_1, BUTTON_2, BUTTON_3, BUTTON_4, BUTTON_5, BUTTON_6, BUTTON_7, BUTTON_8, BUTTON_9, STICK_1_X, STICK_1_Y, STICK_2_X, STICK_2_Y, BUTTON_10, BUTTON_11, BUTTON_12, BUTTON_13, BUTTON_14, BUTTON_15, BUTTON_16, BUTTON_17, ACCEL_1_X, ACCEL_1_Y, ACCEL_1_Z, GYRO_1_X, GYRO_1_Y, GYRO_1_Z, BUTTON_18, POINT_1_X, POINT_1_Y, BUTTON_19, BUTTON_20, BUTTON_21, ACCEL_2_X, ACCEL_2_Y, ACCEL_2_Z }; #ifndef DISABLE_MAPPING #include <remapper.gph> const uint8 _ot_map[] = { // Mapping table for remap and unmap RMP_USB_A | RMP_USB_B | RMP_USB_C | RMP_USB_D | RMP_BT_A | RMP_BT_B, BUTTON_1, BUTTON_2, BUTTON_3, BUTTON_4, BUTTON_5, BUTTON_6, BUTTON_7, BUTTON_8, BUTTON_9, BUTTON_10, BUTTON_11, BUTTON_12, BUTTON_13, BUTTON_14, BUTTON_15, BUTTON_16, BUTTON_17, BUTTON_18, BUTTON_19, BUTTON_20, BUTTON_21, STICK_1_X, STICK_1_Y, STICK_2_X, STICK_2_Y, POINT_1_X, POINT_1_Y, POINT_2_X, POINT_2_Y, ACCEL_1_X, ACCEL_1_Y, ACCEL_1_Z, ACCEL_2_X, ACCEL_2_Y, ACCEL_2_Z, GYRO_1_X, GYRO_1_Y, GYRO_1_Z, PADDLE_1, PADDLE_2, PADDLE_3, PADDLE_4 }; #endif /* DISABLE_MAPPING */ /** * DATA SEGMENT */ #ifndef DISABLE_DATASEG #define data const uint8 data[] = uint8 *_ot_data; #ifndef DISABLE_DBYTE int dbyte(int i) { return((int)_ot_data[i]); } #endif /* DISABLE_DBYTE */ #ifndef DISABLE_DCHAR int dchar(int i) { return((int)_ot_data[i]); } #endif /* DISABLE_DCHAR */ #ifndef DISABLE_DWORD int dword(int i) { return((int)((_ot_data[i+1] << 8) | _ot_data[i])); } #endif /* DISABLE_DWORD */ #endif /* DISABLE_DATASEG */ /** * REMAPPING */ #ifndef DISABLE_MAPPING #ifndef DISABLE_REMAP void remap(uint8 from, uint8 to) { _ot_map[_ot_i[to]+1] = _ot_i[from]; remapper(_ot_map); return; } #endif /* DISABLE_REMAP */ #ifndef DISABLE_UNMAP void unmap(uint8 to) { _ot_map[_ot_i[to]+1] = RMP_NULL; remapper(_ot_map); return; } #endif /* DISABLE_UNMAP */ #endif /* DISABLE_MAPPING */ /** * VARIABLES */ #define int int /** * INIT AND MAIN */ #define init init #define main main /** * COMBOS */ #define combo_run combo_run #define combo_stop combo_stop #define combo_running(c) (c) #define combo_restart combo_restart /** * USER-DEFINED FUNCTIONS */ #define function int /** * FLOW CONTROL */ #define if if #define else else #define while while #define break break /** * PERSISTENT VARIABLES */ #ifndef DISABLE_PVAR #ifndef DISABLE_SET_PVAR uint32 _ot_pvar_save_ts; main { if(_ot_pvar_save_ts && (system_time() - _ot_pvar_save_ts) >= 5000) { _ot_pvar_save_ts = 0; pmem_save(); } } #endif /* DISABLE_SET_PVAR */ uint8 _ot_pvar(int idx) { static uint8 loaded_mslot; uint8 mslot; if(idx < 0) { idx += 32768; mslot = mslot_get(); } else { mslot = 255; } if(loaded_mslot != mslot) { pmem_load(mslot); loaded_mslot = mslot; } return(idx * 2); } #ifndef DISABLE_GET_PVAR int get_pvar(int idx, int vmin, int vmax, int vdef) { int pvar; pmem_read(_ot_pvar(idx), &pvar); if(pvar < vmin || pvar > vmax) { return(vdef); } return(pvar); } #endif /* DISABLE_GET_PVAR */ #ifndef DISABLE_SET_PVAR void set_pvar(int idx, int val) { pmem_write(_ot_pvar(idx), val); if(!_ot_pvar_save_ts) { _ot_pvar_save_ts = system_time(); } return; } #endif /* DISABLE_SET_PVAR */ #endif /* DISABLE_PVAR */ /** * I/O FUNCTIONS */ #define get_val(i) ((int) get_val(_ot_i[i])) #define set_val(i, v) set_val(_ot_i[i], v) #define get_lval(i) ((int) get_prev(_ot_i[i])) #define get_ptime(i) time_active(_ot_i[i]) #define event_press(i) event_active(_ot_i[i]) #define event_release(i) event_release(_ot_i[i]) #ifndef DISABLE_SWAP void swap(int ida, int idb) { int val_ida = get_val(ida); set_val(ida, get_val(idb)); set_val(idb, val_ida); return; } #endif /* DISABLE_SWAP */ #define block(i, t) inhibit(_ot_i[i], t) #ifndef DISABLE_SENSITIVITY void sensitivity(int id, int mid, int sen) { int val = get_val(id); if(mid != NOT_USE) { int val_s = (val >= 0) ? 1 : -1; val *= val_s; if(val <= mid) val = (val * 50) / mid; else val = ((50 * (val - mid)) / (100 - mid)) + 50; val *= val_s; } if(sen != NOT_USE) { val = (val * sen) / 100; } set_val(id, clamp(val, -100, 100)); return; } #endif /* DISABLE_SENSITIVITY */ #ifndef DISABLE_DEADZONE void deadzone(int idx, int idy, int xdc, int ydr) { int val_x = get_val(idx); int val_y = get_val(idy); if(xdc == DZ_CIRCLE) { if(val_x || val_y) { int H = (int) round(sqrt((fix32)(pow(val_x, 2) * pow(val_y, 2)))); xdc = abs((ydr * val_x) / H); ydr = abs((ydr * val_y) / H); } else { xdc = 0; ydr = 0; } } if(val_x) { if(val_x > 0) { val_x += xdc; } else { val_x -= xdc; } set_val(idx, clamp(val_x, -100, 100)); } if(val_y) { if(val_y > 0) { val_y += ydr; } else { val_y -= ydr; } set_val(idy, clamp(val_y, -100, 100)); } return; } #endif /* DISABLE_DEADZONE */ #ifndef DISABLE_STICKIZE void stickize(int idx, int idy, int rad) { int val_x = get_val(idx); int val_y = get_val(idy); int abs_val_x = abs(val_x); int abs_val_y = abs(val_y); int h = (((abs_val_x > abs_val_y) ? abs_val_x : abs_val_y) * rad) / 100; int H = (int) round(sqrt((fix32)(pow(abs_val_x, 2) + pow(abs_val_y, 2)))); if(H > h) { set_val(idx, (val_x * h) / H); set_val(idy, (val_y * h) / H); } return; } #endif /* DISABLE_STICKIZE */ /** * LEDS */ #ifndef DISABLE_GET_LED int get_led(int id) { fix32 intensity; uint32 dutylength; switch(id) { case LED_1: intensity = led_get(LED_1, &dutylength); break; case LED_2: intensity = led_get(LED_2, &dutylength); break; case LED_3: intensity = led_get(LED_3, &dutylength); break; case LED_4: intensity = led_get(LED_4, &dutylength); break; } return(intensity ? (dutylength ? ((dutylength >= 2418) ? 3 : 2) : 1) : 0); } #endif /* DISABLE_GET_LED */ #ifndef DISABLE_SET_LED void set_led(int id, int state) { static uint32 timestamp; uint32 elapsed = system_time() - timestamp; if(!elapsed || elapsed >= 10) { fix32 intensity = -1.0; uint32 dutylength; switch(state) { case 0: intensity = 0.0; break; case 2: dutylength = 186; break; case 3: dutylength = 2418; break; } switch(id) { case LED_1: led_set(LED_1, intensity, dutylength); break; case LED_2: led_set(LED_2, intensity, dutylength); break; case LED_3: led_set(LED_3, intensity, dutylength); break; case LED_4: led_set(LED_4, intensity, dutylength); break; } timestamp = system_time(); } return; } #endif /* DISABLE_SET_LED */ #ifndef DISABLE_SET_LEDX void set_ledx(int id, int count) { static uint32 timestamp; uint32 elapsed = system_time() - timestamp; if(!elapsed || elapsed >= 10) { uint16 on, off; if(count < 1 || count > 255) { count = -1; on = 64000; } else { on = 260; off = 200; } led_set(LED_1, 0.0, 0); led_set(LED_2, 0.0, 0); led_set(LED_3, 0.0, 0); led_set(LED_4, 0.0, 0); switch(id) { case LED_1: led_vmset(LED_1, on, off, count); break; case LED_2: led_vmset(LED_2, on, off, count); break; case LED_3: led_vmset(LED_3, on, off, count); break; case LED_4: led_vmset(LED_4, on, off, count); break; } timestamp = system_time(); } return; } #endif /* DISABLE_SET_LEDX */ #ifndef DISABLE_GET_LEDX int get_ledx() { return(( led_vmget(LED_1) | led_vmget(LED_2) | led_vmget(LED_3) | led_vmget(LED_4)) > 0 ); } #endif /* DISABLE_GET_LEDX */ #ifndef DISABLE_RESET_LEDS void reset_leds() { static uint32 timestamp; uint32 elapsed = system_time() - timestamp; if(!elapsed || elapsed >= 10) { led_reset(); timestamp = system_time(); } return; } #endif /* DISABLE_RESET_LEDS */ /** * RUMBLE */ #ifndef DISABLE_GET_RUMBLE int get_rumble(int id) { fix32 speed; switch(id) { case RUMBLE_A: speed = ffb_get(FFB_1, NULL); break; case RUMBLE_B: speed = ffb_get(FFB_2, NULL); break; case RUMBLE_RT: speed = ffb_get(FFB_3, NULL); break; case RUMBLE_LT: speed = ffb_get(FFB_4, NULL); break; } return((int) speed); } #endif /* DISABLE_GET_RUMBLE */ #ifndef DISABLE_SET_RUMBLE void set_rumble(int id, int speed) { static uint32 timestamp; uint32 elapsed = system_time() - timestamp; if(!elapsed || elapsed >= 10) { switch(id) { case RUMBLE_A: ffb_set(FFB_1, (fix32) speed, 3600000); break; case RUMBLE_B: ffb_set(FFB_2, (fix32) speed, 3600000); break; case RUMBLE_RT: ffb_set(FFB_3, (fix32) speed, 3600000); break; case RUMBLE_LT: ffb_set(FFB_4, (fix32) speed, 3600000); break; } timestamp = system_time(); } return; } #endif /* DISABLE_SET_RUMBLE */ #ifndef DISABLE_BLOCK_RUMBLE void block_rumble() { set_rumble(RUMBLE_A, 0); set_rumble(RUMBLE_B, 0); set_rumble(RUMBLE_RT, 0); set_rumble(RUMBLE_LT, 0); return; } #endif /* DISABLE_BLOCK_RUMBLE */ #define reset_rumble() ffb_reset() /** * BIT OPERATIONS */ #define set_bit(v, i) (v |= (1 << i)) #define clear_bit(v, i) (v &= ~(1 << i)) #define test_bit(e, i) (e & (1 << i)) #define set_bits(v, e, i, m) (v = (v & ~(m << i)) | (e << i)) #define get_bits(e, i, m) ((e & (m << i)) >> i) /** * MATH FUNCTIONS */ #define abs(n) abs(n) #define inv(n) inv(n) #define pow(n, e) pow(n, e) #ifndef DISABLE_ISQRT int isqrt(int num) { return((int) round(sqrt((fix32) num))); } #endif /* DISABLE_ISQRT */ #ifndef DISABLE_IRAND int irand(int vmin, int vmax) { return(((int)(rand() * (fix32)(vmax + 1 - vmin))) + vmin); } #endif /* DISABLE_IRAND */ /** * MISC FUNCTIONS */ #define get_rtime() ((int) elapsed_time()) #ifndef DISABLE_TURN_OFF void turn_off() { port_turnoff(PORT_USB_A); port_turnoff(PORT_USB_B); port_turnoff(PORT_BT_A); port_turnoff(PORT_BT_B); return; } #endif /* DISABLE_TURN_OFF */ #define get_slot() ((int) mslot_get()) #define check_slot(s) ((int) mslot_check(s)) #define load_slot(s) mslot_load(s) #define load_script(s) mslot_load(s) #ifndef DISABLE_PS4_TOUCHPAD int ps4_touchpad(int id) { if(id > 0x03) { id = (id >> 4) + 1; } switch(id) { case 1: return((int) get_actual(BUTTON_19)); // PS4T_P1 case 2: return((int) get_actual(POINT_1_X)); // PS4T_P1X case 3: return((int) get_actual(POINT_1_Y)); // PS4T_P1Y case 4: return((int) get_actual(BUTTON_20)); // PS4T_P2 case 5: return((int) get_actual(STICK_2_X)); // PS4T_P2X case 6: return((int) get_actual(STICK_2_Y)); // PS4T_P2Y } return(0); } #endif /* DISABLE_PS4_TOUCHPAD */ #ifndef DISABLE_PS4_SET_TOUCHPAD void ps4_set_touchpad(int vx, int vy) { set_val(PS4_TOUCHX, vx); set_val(PS4_TOUCHY, vy); set_val(PS4_T_INPUTS, 100); return; } #endif /* DISABLE_PS4_SET_TOUCHPAD */ #define ps4_authtimeout() 22 #ifndef DISABLE_OUTPUT_PROTOCOL void output_protocol(int id) { port_disconnect(); switch(id) { case PIO_PS3: port_connect(PORT_USB_C, PROTOCOL_PS3); break; case PIO_XB360: port_connect(PORT_USB_C, PROTOCOL_XB360); break; case PIO_PS4: port_connect(PORT_USB_C, PROTOCOL_PS4); break; case PIO_XB1: port_connect(PORT_USB_C, PROTOCOL_XB1); break; case PIO_SWITCH: port_connect(PORT_USB_C, PROTOCOL_SWITCH); break; } return; } #endif /* DISABLE_OUTPUT_PROTOCOL */ #ifndef DISABLE_OUTPUT_RECONNECTION void output_reconnection() { port_disconnect(); port_connect(); return; } #endif /* DISABLE_OUTPUT_RECONNECTION */ #define wiir_offscreen() 1 #ifndef DISABLE_GET_BATTERY int get_battery() { return(((int) battery_get_actual(NULL)) / 10); } #endif /* DISABLE_GET_BATTERY */ #ifndef DISABLE_GET_CONSOLE int get_console() { uint8 protocol; if(port_status(PORT_USB_C, &protocol, NULL) & DIR_OUTPUT) { switch(protocol) { case PROTOCOL_PS3: return(PIO_PS3); case PROTOCOL_PS4: return(PIO_PS4); case PROTOCOL_XB360: return(PIO_XB360); case PROTOCOL_XB1: return(PIO_XB1); case PROTOCOL_SWITCH: return(PIO_SWITCH); } } return(0); } #endif /* DISABLE_GET_CONSOLE */ #ifndef DISABLE_GET_CONTROLLER int get_controller() { uint8 i, protocol; for(i = PORT_USB_A; i <= PORT_BT_A; ++i) { if(port_status(i, &protocol, NULL) & DIR_INPUT) { switch(protocol) { case PROTOCOL_PS3: return(PIO_PS3); case PROTOCOL_PS4: return(PIO_PS4); case PROTOCOL_XB360: return(PIO_XB360); case PROTOCOL_XB1: return(PIO_XB1); case PROTOCOL_HID: return(PIO_HID); case PROTOCOL_SWITCH: return(PIO_SWITCH); } } } return(0); } #endif /* DISABLE_GET_CONTROLLER */ #define get_ctrlbutton() 1 #define vm_tctrl(...) /** * FLAG PRE-PROCESSOR FOR TITAN ONE CODE */ #pragma GPCPP titan_one_gpc #endif /* TITAN_ONE_GPH_ */
t2/titanone_gph.txt · Last modified: 2020/04/15 11:47 by J2Kbr