#pragma METAINFO("PUBG Battlegrounds", 2, 0, "J2Kbr")
/******************************************************************************
* INPUT TRANSLATOR
******************************************************************************/
#include <remapper.gph>
#include <keyboard.gph>
#include <mouse.gph>
init {
port_inhibit_ffb(PORT_USB_A);
remapper_disable(STICK_1_X);
remapper_disable(STICK_1_Y);
remapper_disable(ACCEL_1_X);
remapper_disable(ACCEL_1_Y);
remapper_disable(ACCEL_1_Z);
remapper_swap(BUTTON_2, BUTTON_16);
remapper_swap(BUTTON_3, BUTTON_9);
remapper_swap(BUTTON_9, BUTTON_15);
remapper_mask(RMP_USB_A | RMP_BT_A);
const uint8 kmap[] = {
KEY_P, BUTTON_17,
KEY_OPENBRACKET, BUTTON_2,
KEY_CLOSEBRACKET, BUTTON_21,
KEY_BACKSLASH, BUTTON_3,
}; keymapping(kmap);
const uint8 mmap[] = {
MOUSE_X, STICK_1_X,
MOUSE_Y, STICK_1_Y,
MWHEEL_FORWARD, BUTTON_14,
MWHEEL_BACKWARD, BUTTON_10,
MBUTTON_1, BUTTON_5,
MBUTTON_2, BUTTON_16,
MBUTTON_3, BUTTON_9,
MBUTTON_4, BUTTON_14,
MBUTTON_5, BUTTON_4,
}; mousemapping(mmap);
#define sensitivity(n) n >> 8, n
const uint8 mxyc[] = {
BUTTON_8,
sensitivity(2.54i), // Default
0x01, 0x00, 0x00, 0x23, 0x0C, 0x28, 0x0C, 0x28, 0x00, 0xDB,
0x00, 0x00, 0x11, 0x40, 0x1A, 0xA8, 0x21, 0xB8, 0x28, 0x00, 0x2D, 0x7D,
0x32, 0xFA, 0x37, 0xAE, 0x3A, 0xD1, 0x3C, 0x63, 0x3D, 0x2E, 0x3F, 0x87,
0x41, 0xE1, 0x45, 0x05, 0x48, 0x28, 0x4A, 0x82, 0x4D, 0xA3, 0x50, 0x00,
0x52, 0x59, 0x54, 0xB3, 0x57, 0xD7,
sensitivity(3.24i), // Alternate
0x01, 0x00, 0x00, 0x1E, 0x0E, 0x80, 0x0E, 0x80, 0x00, 0xE8,
0x00, 0x00, 0x0E, 0x1E, 0x16, 0xBD, 0x1D, 0xCC, 0x23, 0x4A, 0x28, 0xC7,
0x2D, 0x7D, 0x32, 0x33, 0x36, 0x1E, 0x38, 0x78, 0x3A, 0x0A, 0x3C, 0x63,
0x3F, 0x87, 0x43, 0x73, 0x45, 0xCC, 0x48, 0xF0, 0x4C, 0x14, 0x4E, 0x6E,
0x51, 0x91, 0x53, 0xEB, 0x55, 0x7D
}; mxyconverter(mxyc);
}
/******************************************************************************
* MAIN
******************************************************************************/
bool toggle = TRUE;
init {
led_feedback();
}
main {
if(event_active(BUTTON_21)) {
toggle = !toggle;
led_feedback();
}
if(event_active(BUTTON_15)) {
toggle = TRUE;
led_feedback();
}
if(toggle) {
if(get_val(BUTTON_5)) {
combo_run(Rapidfire);
mxyconverter_voffset(clamp(time_active(BUTTON_5)/17, 6, 23));
} else if(event_release(BUTTON_5)) mxyconverter_voffset(0);
}
if(get_val(BUTTON_5)) {
set_val(BUTTON_5, 100.0);
}
if(get_val(BUTTON_8)) {
if(get_val(BUTTON_8) >= 100.00) {
set_val(BUTTON_7, 100.0);
}
if(key_status(KEY_SEMICOLON)) {
set_val(BUTTON_6, 100.0); // LEAN LEFT
}
if(key_status(KEY_QUOTE)) {
set_val(BUTTON_9, 100.0); // LEAN RIGHT
}
set_val(BUTTON_8, 100.0);
}
}
/* ************************************************************************** *
* FUNCTIONS *
* ************************************************************************** */
void led_feedback() {
if(toggle) {
led_set(LED_3, -1.0, 0);
} else led_reset();
}
/******************************************************************************
* COMBOS
******************************************************************************/
combo Rapidfire {
set_val(BUTTON_5, 100.0);
wait(32);
set_val(BUTTON_5, 0.0);
wait(15);
set_val(BUTTON_5, 0.0);
}