CM/T1 Call of duty Modern warfare wiimote bravo (PS4 etc)
Moderator: OFC-Giorgio
26 posts
• Page 1 of 3 • 1, 2, 3
CM/T1 Call of duty Modern warfare wiimote bravo (PS4 etc)
- Code: Select all
// GPC Online Library
// device.gpc
//#pragma METAINFO("Cr0nusMax and Titan One wiimote bravo PS4 call of duty modern warfare", 1, 0, "ofc-giorgio")
/***
Use wiimote in bravo settings PS4 (adjust key mapping in script for other platforms) for:
<b>Call of Duty Modern Warfare</b>
wii + button: throw lethal grenade
wii + button while twisting the wiimote 90o counter clock wise: throw tactical
wii dpad left: use killstreak
double click wii + button: use specialist weapon
Happy wiimoting!
keywords: wiimote, wii remote, bravo, PS4, call of duty, modern warfare</keywords>
url: viewtopic.php?f=14&t=13929
***/
/*
From the wiiu manual:
* Z Button - ADS
* C Button - Crouch/Prone
* Control Stick - Move
* Up on the +Control Pad - Jump
* Right on the +Control Pad - Switch Weapon
* Left on the +Control Pad - Inventory
* Down on the +Control Pad - Melee Attack
* A Button - Use/Sprint/Lock Camera
* - Button - Throw Tacticals
* + Button - Throw Lethals
* 1 Button - Objectives/Menu
* 2 Button - Scoreboard
* B Button (underneath controller) - Fire Weapon
* Shake Nunchuk - Reload
Hold Wii-Left and select with Nunchuk left to use killstreak
Bravo settings:
* shake nunchuk / reload is disabled,
* - is used for reload and
* + is still used to throw lethals but + while twisting the wiimote is used
for throwing tacticals
*/
// Sensitivity while aiming - Default: 100 - Range [0 ~ 327]
// set a number below 100 for less sens - above 100 for more sens
// MIDPOINT - Default: 50 - Range [0 ~ 100]
// If you set a number below 50 you are defining a zone of high sensitivity range when close to rest position
// (fast movements) and a low sensitivity range when far from rest position (better accuracy).
// if you set a number above 50 you are defining a zone of low sensitivity when close to the rest position
// (better accuracy), and a zone of high sensitivity when far from rest position (fast movements).**/
// while aiming down the sight:
define ADS_MIDPOINT = 20;
define ADS_SENSITIVITY = 100;
// while NOT aiming down the sight:
define NON_ADS_MIDPOINT = 20;
define NON_ADS_SENSITIVITY = 100;
// Output controller stick and buttons (for indirect programaticaly computed setting via dummy mapping)
define CONSOLE_LEFT_STICK_LEFT_RIGHT = PS4_LX; // cod walk
define CONSOLE_LEFT_STICK_UP_DOWN = PS4_LY; // cod walk
define CONSOLE_RIGHT_STICK_LEFT_RIGHT = PS4_RX; // cod look
define CONSOLE_RIGHT_STICK_UP_DOWN = PS4_RY; // cod look
define CONSOLE_DPAD_LEFT = PS4_LEFT; // cod killstreak etc
define CONSOLE_DPAD_RIGHT = PS4_RIGHT; // cod killstreak etc
define CONSOLE_DPAD_UP = PS4_UP; // cod killstreak etc
define CONSOLE_DPAD_DOWN = PS4_DOWN; // cod killstreak etc
define CONSOLE_BUTTON_L1LB = PS4_L1; // tactical grenade
define CONSOLE_BUTTON_R1RB = PS4_R1; // lethal grenade
define CONSOLE_BUTTON_L2LT = PS4_L2; // zoom ads
define CONSOLE_BUTTON_R2RT = PS4_R2; // fire
define CONSOLE_BUTTON_L3LS = PS4_L3; // sprint
define CONSOLE_BUTTON_R3RS = PS4_R3; // melee
define CONSOLE_BUTTON_PSXBOX = PS4_PS; // home
define CONSOLE_BUTTON_OPTIONSSTARTMENUSTART = PS4_OPTIONS; // menu
define CONSOLE_BUTTON_TOUCHSELECTVIEWBACK = PS4_TOUCH; // menu
define CONSOLE_BUTTON_SQUAREX = PS4_SQUARE; // reload
define CONSOLE_BUTTON_CIRCLEB = PS4_CIRCLE; // crouch
define CONSOLE_BUTTON_TRIANGLEY = PS4_TRIANGLE; // switch weapon
define CONSOLE_BUTTON_CROSSA = PS4_CROSS; // jump
define CONSOLE_BUTTON_TOUCHX = PS4_TOUCHX; // menu
define CONSOLE_BUTTON_TOUCHY = PS4_TOUCHY; // menu
define INPUT_WII_NC_STICK_LEFT_RIGHT = WII_NX;
define INPUT_WII_NC_STICK_UP_DOWN = WII_NY;
define INPUT_WII_DPAD_LEFT = WII_LEFT;
define INPUT_WII_DPAD_RIGHT = WII_RIGHT;
define INPUT_WII_DPAD_UP = WII_UP;
define INPUT_WII_DPAD_DOWN = WII_DOWN;
define INPUT_WII_NC_GYRO_X = WII_ACCNX;
define INPUT_WII_GYRO_X = WII_ACCX;
define INPUT_WII_BUTTON_PLUS = WII_PLUS;
define INPUT_WII_BUTTON_MINUS = WII_MINUS;
define INPUT_WII_BUTTON_HOME = WII_HOME;
define INPUT_WII_BUTTON_ONE = WII_ONE;
define INPUT_WII_BUTTON_TWO = WII_TWO;
define INPUT_WII_BUTTON_A = WII_A;
define INPUT_WII_BUTTON_B = WII_B;
define INPUT_WII_BUTTON_C = WII_C;
define INPUT_WII_BUTTON_Z = WII_Z;
define INPUT_WII_SENSOR_IRX = WII_IRX;
define INPUT_WII_SENSOR_IRY = WII_IRY;
int VALUE_WII_NC_STICK_LEFT_RIGHT = 0;
int VALUE_WII_NC_STICK_UP_DOWN = 0;
int VALUE_WII_DPAD_LEFT = 0;
int VALUE_WII_GYRO_X = 0;
int VALUE_WII_BUTTON_PLUS = 0;
int VALUE_WII_BUTTON_Z = 0;
int VALUE_WII_SENSOR_IRX = 0;
// standard mappings
unmap ALL_REMAPS;
remap INPUT_WII_BUTTON_HOME -> CONSOLE_BUTTON_PSXBOX; // home
remap INPUT_WII_BUTTON_MINUS -> CONSOLE_BUTTON_SQUAREX; // reload hold: use/interact
remap INPUT_WII_BUTTON_PLUS -> CONSOLE_BUTTON_R1RB; // lethal grenade
remap INPUT_WII_BUTTON_ONE -> CONSOLE_BUTTON_OPTIONSSTARTMENUSTART; // menu/map
remap INPUT_WII_BUTTON_TWO -> CONSOLE_BUTTON_TOUCHSELECTVIEWBACK; // scoreboard
remap INPUT_WII_BUTTON_A -> CONSOLE_BUTTON_L3LS; // sprint
remap INPUT_WII_BUTTON_B -> CONSOLE_BUTTON_R2RT; // fire
remap INPUT_WII_DPAD_UP -> CONSOLE_BUTTON_CROSSA; // jump/mantle
remap INPUT_WII_BUTTON_C -> CONSOLE_BUTTON_CIRCLEB; // crouch/prone
remap INPUT_WII_BUTTON_Z -> CONSOLE_BUTTON_L2LT; // zoom/aiming down the sights (ADS)
remap INPUT_WII_DPAD_RIGHT -> CONSOLE_BUTTON_TRIANGLEY; // switch weapon
remap INPUT_WII_DPAD_DOWN -> CONSOLE_BUTTON_R3RS; // melee
remap INPUT_WII_SENSOR_IRX -> CONSOLE_RIGHT_STICK_LEFT_RIGHT; // look
remap INPUT_WII_SENSOR_IRY -> CONSOLE_RIGHT_STICK_UP_DOWN; // look
// Dummy mapping 3 4 9 10 17 20 24 not used in api (gyros 21 22 23 25 26 27; 21 is used for detecting twisting wiimote)
define OUTPUT_CONSOLE_LEFT_STICK_LEFT_RIGHT = 3;
remap OUTPUT_CONSOLE_LEFT_STICK_LEFT_RIGHT -> CONSOLE_LEFT_STICK_LEFT_RIGHT;
define OUTPUT_CONSOLE_LEFT_STICK_UP_DOWN = 4;
remap OUTPUT_CONSOLE_LEFT_STICK_UP_DOWN -> CONSOLE_LEFT_STICK_UP_DOWN;
define OUTPUT_CONSOLE_DPAD_LEFT = 9;
remap OUTPUT_CONSOLE_DPAD_LEFT -> CONSOLE_DPAD_LEFT;
define OUTPUT_CONSOLE_DPAD_RIGHT = 10;
remap OUTPUT_CONSOLE_DPAD_RIGHT -> CONSOLE_DPAD_RIGHT;
define OUTPUT_CONSOLE_DPAD_UP = 17;
remap OUTPUT_CONSOLE_DPAD_UP -> CONSOLE_DPAD_UP;
define OUTPUT_CONSOLE_DPAD_DOWN = 20;
remap OUTPUT_CONSOLE_DPAD_DOWN -> CONSOLE_DPAD_DOWN;
define OUTPUT_CONSOLE_BUTTON_L1LB = 24;
remap OUTPUT_CONSOLE_BUTTON_L1LB -> CONSOLE_BUTTON_L1LB;
//int ps4auth;
int isDPADing = 0;
int TimerSpecialistWeapon = 0;
int ps4auth;
int LAST_IRX = 0;
int LAST_IRY = 0;
int ircount = 1;
init
{
ps4auth = ps4_authtimeout();
my_init();
}
main
{
if(ps4_authtimeout() > ps4auth)
{
my_init();
}
ps4auth = ps4_authtimeout();
// Retrieve values from input controller (wiimote + nc)
VALUE_WII_DPAD_LEFT = get_val(INPUT_WII_DPAD_LEFT);
VALUE_WII_NC_STICK_LEFT_RIGHT = get_val(INPUT_WII_NC_STICK_LEFT_RIGHT);
VALUE_WII_NC_STICK_UP_DOWN = get_val(INPUT_WII_NC_STICK_UP_DOWN);
VALUE_WII_GYRO_X = get_val(INPUT_WII_GYRO_X);
VALUE_WII_BUTTON_PLUS = get_val(INPUT_WII_BUTTON_PLUS);
VALUE_WII_BUTTON_Z = get_val(INPUT_WII_BUTTON_Z);
VALUE_WII_SENSOR_IRX = get_val(INPUT_WII_SENSOR_IRX);
set_val(INPUT_WII_SENSOR_IRX, inv(VALUE_WII_SENSOR_IRX));
// use different sensitivity for ADS (aiming down the sights) and non ADS
if (VALUE_WII_BUTTON_Z == 100)
{
sensitivity(INPUT_WII_SENSOR_IRX, ADS_MIDPOINT, ADS_SENSITIVITY);
sensitivity(INPUT_WII_SENSOR_IRY, ADS_MIDPOINT, ADS_SENSITIVITY);
}
else
{
sensitivity(INPUT_WII_SENSOR_IRX, NON_ADS_MIDPOINT, NON_ADS_SENSITIVITY);
sensitivity(INPUT_WII_SENSOR_IRY, NON_ADS_MIDPOINT, NON_ADS_SENSITIVITY);
}
// test for wiimote out of reach of sensorbar
if(wiir_offscreen())
{
set_val(INPUT_WII_SENSOR_IRX, 0); // prevent camera from spinning
set_val(INPUT_WII_SENSOR_IRY, 0); // prevent camera from spinning
ircount = ircount + 1;
if (ircount > 3)
{
ircount = 0;
if (LAST_IRX > 0) { LAST_IRX = LAST_IRX - 1; }
if (LAST_IRX < 0) { LAST_IRX = LAST_IRX + 1; }
if (LAST_IRY > 0) { LAST_IRY = LAST_IRY - 1; }
if (LAST_IRY < 0) { LAST_IRY = LAST_IRY + 1; }
}
set_val(INPUT_WII_SENSOR_IRX, LAST_IRX); // fade out
set_val(INPUT_WII_SENSOR_IRY, LAST_IRY); // fade out
set_led(LED_4, 1); // light led 4 to indicate sensorbar is out of sight
}
else
{
set_led(LED_4, 0);
LAST_IRX = get_val(INPUT_WII_SENSOR_IRX);
LAST_IRY = get_val(INPUT_WII_SENSOR_IRY);
}
// wii dpad left: use killstreak
isDPADing = 0;
if(VALUE_WII_DPAD_LEFT == 100)
{
isDPADing = 1;
// mw: killstreak
set_val(OUTPUT_CONSOLE_DPAD_RIGHT, 100); // right
// Moving with right stick or dpad buttons
// WII_LEFT acts like a SHIFT key, when pressed the Nunchuck stick is not used for moving but for
// selecting dpad up, down, left or right.
// selecting dpad left, right, up, down.
// threshold is higher (vs 30) in order to have only one dpad button selected at a time
if(VALUE_WII_NC_STICK_LEFT_RIGHT < -30)
{
set_val(OUTPUT_CONSOLE_DPAD_LEFT, 100); // left
set_val(OUTPUT_CONSOLE_DPAD_RIGHT, 0);
}
else
// already handled by wii dpad left: use killstreak
//if(VALUE_WII_NC_STICK_LEFT_RIGHT > 30)
//{
// set_val(OUTPUT_CONSOLE_DPAD_RIGHT, 100); // right (in modern warfare, was left in bo)
//}
//else
if(VALUE_WII_NC_STICK_UP_DOWN > 30)
{
// mw: gesture/spray decal
set_val(OUTPUT_CONSOLE_DPAD_DOWN, 100);
set_val(OUTPUT_CONSOLE_DPAD_RIGHT, 0);
} // down (sign is flipped compared to math class)
else
if(VALUE_WII_NC_STICK_UP_DOWN < -30)
{
// mw: not used
set_val(OUTPUT_CONSOLE_DPAD_UP, 100);
set_val(OUTPUT_CONSOLE_DPAD_RIGHT, 0);
} // up (sign is flipped compared to math class)
}
if(isDPADing == 0)
{
// moving left/right
if (VALUE_WII_NC_STICK_LEFT_RIGHT < -30) { set_val(OUTPUT_CONSOLE_LEFT_STICK_LEFT_RIGHT, -100); } // left
else
if (VALUE_WII_NC_STICK_LEFT_RIGHT > 30) { set_val(OUTPUT_CONSOLE_LEFT_STICK_LEFT_RIGHT, 100); } // right
else
{ set_val(OUTPUT_CONSOLE_LEFT_STICK_LEFT_RIGHT, VALUE_WII_NC_STICK_LEFT_RIGHT); }
// moving up/down
if (VALUE_WII_NC_STICK_UP_DOWN < -30) { set_val(OUTPUT_CONSOLE_LEFT_STICK_UP_DOWN, -100); } // up (sign is flipped compared to math class)
else
if (VALUE_WII_NC_STICK_UP_DOWN > 30) { set_val(OUTPUT_CONSOLE_LEFT_STICK_UP_DOWN, 100); } // down (sign is flipped compared to math class)
else
{ set_val(OUTPUT_CONSOLE_LEFT_STICK_UP_DOWN, VALUE_WII_NC_STICK_UP_DOWN); }
}
// Bravo settings twisting the wiimote 90o, hold it and press the + button
// is used for throwing tacticals (instead of lethal grenade)
if((VALUE_WII_BUTTON_PLUS > 0) && (VALUE_WII_GYRO_X > 20))
{
set_val(INPUT_WII_BUTTON_PLUS, 0); // stop/prevent throwing lethal
set_val(OUTPUT_CONSOLE_BUTTON_L1LB, 100); // throw tactical grenade
}
//else
//{
// set_val(OUTPUT_CONSOLE_BUTTON_L1LB, 0);
//}
else
{
// Bravo settings (COD Modern Warfare: throwing both lethal and tactical to activate Specialist weapon or skill)
// this can not be done in bravo settings so to in bravo settings
// activate Specialist weapon or skill by double tapping the lethal grenade button
// TimerSpecialistWeapon - Countdown function
if (TimerSpecialistWeapon > 0)
{
TimerSpecialistWeapon = TimerSpecialistWeapon - get_rtime(); // Reduce the timer value by the elapsed run time
}
// Timer - Detection of the release
if (event_release(INPUT_WII_BUTTON_PLUS))
{
TimerSpecialistWeapon = 300; // 300 ms timer (starting the timer)
}
// Timer - Detection of the press
if ((event_press(INPUT_WII_BUTTON_PLUS)) && (TimerSpecialistWeapon > 0))
{
TimerSpecialistWeapon = 0;
combo_run(ComboSpecialistWeapon);
}
}
// Empty battery indicator (turn all leds on if battery level less or equal 20%)
if(get_battery() <= 2)
{
set_led(LED_1, 1);
set_led(LED_2, 1);
set_led(LED_3, 1);
set_led(LED_4, 1);
}
} // end of main() function
combo ComboSpecialistWeapon
{
set_val(INPUT_WII_BUTTON_PLUS, 100);
set_val(OUTPUT_CONSOLE_BUTTON_L1LB, 100);
wait(500);
set_val(INPUT_WII_BUTTON_PLUS, 0);
set_val(OUTPUT_CONSOLE_BUTTON_L1LB, 0);
}
function my_init()
{
block_rumble();
}
-
OFC-Giorgio - Lieutenant
- Posts: 344
- Joined: Mon Sep 15, 2014 4:26 pm
Re: CM/T1 Call of duty Modern warfare wiimote bravo (PS4 etc
Thanks for sharing with us
ConsoleTuner Support Team || ConsoleTuner Discord || InputSense Discord
- Mad
- Major General
- Posts: 4536
- Joined: Wed May 22, 2019 5:39 am
Re: CM/T1 Call of duty Modern warfare wiimote bravo (PS4 etc
Mad wrote:Thanks for sharing with us
+1
ConsoleTuner Support Team
-
J2Kbr - General of the Army
- Posts: 20323
- Joined: Tue Mar 18, 2014 1:39 pm
Re: CM/T1 Call of duty Modern warfare wiimote bravo (PS4 etc
Sorry I'm new to this but how would I customize this for Xbox One?
-
Rhytenow - Staff Sergeant
- Posts: 11
- Joined: Thu Jan 23, 2020 3:24 pm
Re: CM/T1 Call of duty Modern warfare wiimote bravo (PS4 etc
Rhytenow wrote:Sorry I'm new to this but how would I customize this for Xbox One?
The above script should work on Xbox without any changes.
ConsoleTuner Support Team
-
J2Kbr - General of the Army
- Posts: 20323
- Joined: Tue Mar 18, 2014 1:39 pm
Re: CM/T1 Call of duty Modern warfare wiimote bravo (PS4 etc
One more question, I see this script says it's for the cm (device) and t1 (Titan one). Will this work on the Titan two? How about the device max plus? I haven't bought one yet but which one would you recommend between Titan and device max?
-
Rhytenow - Staff Sergeant
- Posts: 11
- Joined: Thu Jan 23, 2020 3:24 pm
Re: CM/T1 Call of duty Modern warfare wiimote bravo (PS4 etc
The script can be converted for the Titan Two, for more details please visit these topics:
viewtopic.php?f=3&t=7591
viewtopic.php?f=3&t=12027
viewtopic.php?f=3&t=7591
viewtopic.php?f=3&t=12027
ConsoleTuner Support Team
-
J2Kbr - General of the Army
- Posts: 20323
- Joined: Tue Mar 18, 2014 1:39 pm
Re: CM/T1 Call of duty Modern warfare wiimote bravo (PS4 etc
Thanks! One more question, do I need a bluetooth dongle for the Titan one? If so, which one would you recommend? Also, which would you recommend for call of duty and wiimoting between device and titan one?
-
Rhytenow - Staff Sergeant
- Posts: 11
- Joined: Thu Jan 23, 2020 3:24 pm
Re: CM/T1 Call of duty Modern warfare wiimote bravo (PS4 etc
You are welcome. The Bluetooth dongle is needed as the Wiimote only communicates over Bluetooth. Any regular BT EDR 2.1+ or 4.0+ will work. Several Titan One users seems to prefer the ASUS USB-BT400.
ConsoleTuner Support Team
-
J2Kbr - General of the Army
- Posts: 20323
- Joined: Tue Mar 18, 2014 1:39 pm
26 posts
• Page 1 of 3 • 1, 2, 3
Return to Wiimote, Nunchuk and Sensorbar
Who is online
Users browsing this forum: No registered users and 10 guests