void CClientPadState::ToNetPadState(CNetworkPadState& netPadState, bool bOnFoot) { // Are we on foot? if(bOnFoot) { // On Foot Left Analog L/R netPadState.byteLeftAnalogLR[0] = byteKeys[INPUT_MOVE_LEFT]; netPadState.byteLeftAnalogLR[1] = byteKeys[INPUT_MOVE_RIGHT]; // On Foot Left Analog U/D netPadState.byteLeftAnalogUD[0] = byteKeys[INPUT_MOVE_UP]; netPadState.byteLeftAnalogUD[1] = byteKeys[INPUT_MOVE_DOWN]; } else { // In Vehicle Turn Left/Right netPadState.byteLeftAnalogLR[0] = byteKeys[INPUT_VEH_MOVE_LEFT]; netPadState.byteLeftAnalogLR[1] = byteKeys[INPUT_VEH_MOVE_RIGHT]; // In Vehicle Lean Forwards/Backwards netPadState.byteLeftAnalogUD[0] = byteKeys[INPUT_VEH_MOVE_UP]; netPadState.byteLeftAnalogUD[1] = byteKeys[INPUT_VEH_MOVE_DOWN]; } // Enter/Exit Vehicle GET_BINARY_KEY(netPadState.keys.bEnterExitVehicle, byteKeys[INPUT_ENTER]); // On Foot Sprint GET_BINARY_KEY(netPadState.keys.bSprint, byteKeys[INPUT_SPRINT]); // On Foot Jump GET_BINARY_KEY(netPadState.keys.bJump, byteKeys[INPUT_JUMP]); // On Foot Attack GET_BINARY_KEY(netPadState.keys.bAttack, byteKeys[INPUT_ATTACK]); // On Foot Free Aim/Melee Lock On 1 GET_BINARY_KEY(netPadState.keys.bFreeAim1, byteKeys[INPUT_ATTACK2]); // On Foot Free Aim/Melee Lock On 2 GET_BINARY_KEY(netPadState.keys.bFreeAim2, byteKeys[INPUT_AIM]); // On Foot Mouse Aim GET_BINARY_KEY(netPadState.keys.bMouseAim, byteKeys[INPUT_FREE_AIM]); // On Foot Combat Punch 1 GET_BINARY_KEY(netPadState.keys.bCombatPunch1, byteKeys[INPUT_MELEE_ATTACK1]); // On Foot Combat Punch 2 GET_BINARY_KEY(netPadState.keys.bCombatPunch2, byteKeys[INPUT_MELEE_ATTACK2]); // On Foot Combat Kick GET_BINARY_KEY(netPadState.keys.bCombatKick, byteKeys[INPUT_MELEE_KICK]); // On Foot Combat Block GET_BINARY_KEY(netPadState.keys.bCombatBlock, byteKeys[INPUT_MELEE_BLOCK]); // In Vehicle Accelerate GET_BINARY_KEY(netPadState.keys.bAccelerate, byteKeys[INPUT_VEH_ACCELERATE]); // In Vehicle Reverse GET_BINARY_KEY(netPadState.keys.bReverse, byteKeys[INPUT_VEH_BRAKE]); // In Vehicle Handbrake 1 GET_BINARY_KEY(netPadState.keys.bHandbrake, byteKeys[INPUT_VEH_HANDBRAKE]); // In Vehicle Handbrake 2 GET_BINARY_KEY(netPadState.keys.bHandbrake2, byteKeys[INPUT_VEH_HANDBRAKE_ALT]); // In Vehicle Horn GET_BINARY_KEY(netPadState.keys.bHorn, byteKeys[INPUT_VEH_HORN]); // In Vehicle Drive By GET_BINARY_KEY(netPadState.keys.bDriveBy, byteKeys[INPUT_VEH_ATTACK]); // In Vehicle Heli Primary Fire GET_BINARY_KEY(netPadState.keys.bHeliPrimaryFire, byteKeys[INPUT_VEH_ATTACK2]); }
void CIVPad::FromControlState(CControlState controlState, bool bCurrent) { #ifdef EXT_LOG CLogFile::Printf(__FUNCSIG__); #endif // Do we not have a valid pad? if(!m_pPad) return; strTemp.Clear(); strTemp.AppendF("%i",controlState.ucInVehicleMove[1]); if(atoi(strTemp.Get()) > 128) { controlState.ucInVehicleMove[0] = (unsigned char)'128'; controlState.ucInVehicleMove[1] = (unsigned char)'255'; GET_ANALOG_KEY(INPUT_VEH_MOVE_LEFT, controlState.ucInVehicleMove[0]); GET_ANALOG_KEY(INPUT_VEH_MOVE_RIGHT, controlState.ucInVehicleMove[1]); GET_ANALOG_KEY(INPUT_VEH_MOVE_UP, controlState.ucInVehicleMove[2]); GET_ANALOG_KEY(INPUT_VEH_MOVE_DOWN, controlState.ucInVehicleMove[3]); } else { GET_ANALOG_KEY(INPUT_VEH_MOVE_LEFT, controlState.ucInVehicleMove[0]); GET_ANALOG_KEY(INPUT_VEH_MOVE_RIGHT, controlState.ucInVehicleMove[1]); GET_ANALOG_KEY(INPUT_VEH_MOVE_UP, controlState.ucInVehicleMove[2]); GET_ANALOG_KEY(INPUT_VEH_MOVE_DOWN, controlState.ucInVehicleMove[3]); } GET_ANALOG_KEY(INPUT_MOVE_UP, controlState.ucOnFootMove[2]); GET_ANALOG_KEY(INPUT_MOVE_DOWN, controlState.ucOnFootMove[3]); GET_ANALOG_KEY(INPUT_VEH_BRAKE, controlState.ucInVehicleTriggers[0]); GET_ANALOG_KEY(INPUT_VEH_ACCELERATE, controlState.ucInVehicleTriggers[1]); GET_ANALOG_KEY(INPUT_VEH_MOVE_LEFT_2, controlState.ucInVehicleMove2[0]); GET_ANALOG_KEY(INPUT_VEH_MOVE_RIGHT_2, controlState.ucInVehicleMove2[1]); // Binary keys GET_BINARY_KEY(INPUT_ENTER, controlState.keys.bEnterExitVehicle); GET_BINARY_KEY(INPUT_SPRINT, controlState.keys.bSprint); GET_BINARY_KEY(INPUT_JUMP, controlState.keys.bJump); GET_BINARY_KEY(INPUT_ATTACK, controlState.keys.bAttack); GET_BINARY_KEY(INPUT_ATTACK2, controlState.keys.bAttack2); GET_BINARY_KEY(INPUT_AIM, controlState.keys.bAim); GET_BINARY_KEY(INPUT_FREE_AIM, controlState.keys.bFreeAim); GET_BINARY_KEY(INPUT_MELEE_ATTACK1, controlState.keys.bMeleeAttack1); GET_BINARY_KEY(INPUT_MELEE_ATTACK2, controlState.keys.bMeleeAttack2); GET_BINARY_KEY(INPUT_MELEE_KICK, controlState.keys.bMeleeKick); GET_BINARY_KEY(INPUT_MELEE_BLOCK, controlState.keys.bMeleeBlock); GET_BINARY_KEY(INPUT_VEH_HANDBRAKE, controlState.keys.bHandbrake); GET_BINARY_KEY(INPUT_VEH_HANDBRAKE_ALT, controlState.keys.bHandbrake2); GET_BINARY_KEY(INPUT_VEH_HORN, controlState.keys.bHorn); GET_BINARY_KEY(INPUT_VEH_ATTACK, controlState.keys.bDriveBy); GET_BINARY_KEY(INPUT_VEH_ATTACK2, controlState.keys.bHeliPrimaryFire); }
void CIVPad::FromControlState(CControls controlState, bool bCurrent) { // Do we not have a valid pad? if(!m_pPad) return; // Analog keys GET_ANALOG_KEY(INPUT_MOVE_LEFT, controlState.ucOnFootMove[0]); GET_ANALOG_KEY(INPUT_MOVE_RIGHT, controlState.ucOnFootMove[1]); GET_ANALOG_KEY(INPUT_MOVE_UP, controlState.ucOnFootMove[2]); GET_ANALOG_KEY(INPUT_MOVE_DOWN, controlState.ucOnFootMove[3]); GET_ANALOG_KEY(INPUT_VEH_MOVE_LEFT, controlState.ucInVehicleMove[0]); GET_ANALOG_KEY(INPUT_VEH_MOVE_RIGHT, controlState.ucInVehicleMove[1]); GET_ANALOG_KEY(INPUT_VEH_MOVE_UP, controlState.ucInVehicleMove[2]); GET_ANALOG_KEY(INPUT_VEH_MOVE_DOWN, controlState.ucInVehicleMove[3]); GET_ANALOG_KEY(INPUT_VEH_BRAKE, controlState.ucInVehicleTriggers[0]); GET_ANALOG_KEY(INPUT_VEH_ACCELERATE, controlState.ucInVehicleTriggers[1]); // Binary keys GET_BINARY_KEY(INPUT_ENTER, controlState.keys.bEnterExitVehicle); GET_BINARY_KEY(INPUT_SPRINT, controlState.keys.bSprint); GET_BINARY_KEY(INPUT_JUMP, controlState.keys.bJump); GET_BINARY_KEY(INPUT_ATTACK, controlState.keys.bAttack); GET_BINARY_KEY(INPUT_ATTACK2, controlState.keys.bAttack2); GET_BINARY_KEY(INPUT_AIM, controlState.keys.bAim); GET_BINARY_KEY(INPUT_FREE_AIM, controlState.keys.bFreeAim); GET_BINARY_KEY(INPUT_MELEE_ATTACK1, controlState.keys.bMeleeAttack1); GET_BINARY_KEY(INPUT_MELEE_ATTACK2, controlState.keys.bMeleeAttack2); GET_BINARY_KEY(INPUT_MELEE_KICK, controlState.keys.bMeleeKick); GET_BINARY_KEY(INPUT_MELEE_BLOCK, controlState.keys.bMeleeBlock); GET_BINARY_KEY(INPUT_VEH_HANDBRAKE, controlState.keys.bHandbrake); GET_BINARY_KEY(INPUT_VEH_HANDBRAKE_ALT, controlState.keys.bHandbrake2); GET_BINARY_KEY(INPUT_VEH_HORN, controlState.keys.bHorn); GET_BINARY_KEY(INPUT_VEH_ATTACK, controlState.keys.bDriveBy); GET_BINARY_KEY(INPUT_VEH_ATTACK2, controlState.keys.bHeliPrimaryFire); }