// ========================================================================== // // XBOX control scheme 2 // // ========================================================================== DPadU = Button0; DPadD = Button1; DPadL = Button2; DPadR = Button3; Start = Button4; Back = Button5; LStick = Button6; RStick = Button7; A = button8; B = button9; X = button10; Y = button11; Black = button12; White = button13; ShoulderL1 = Button14; ShoulderR1 = Button15; LStickR = Button16; LStickL = Button17; LStickU = Button18; LStickD = Button19; RStickR = Button20; RStickL = Button21; RStickU = Button22; RStickD = Button23; // ========================================================================== // // RIDER control // // ========================================================================== // Useful utility variable. // Turn = MAX(DPadR, LStickR) - MAX(DPadL, LStickL); Tilt = MAX(DPadU, LStickU) - MAX(DPadD, LStickD); CruiseTurn = Turn; CruiseCrouch = MAX(DPadU, LStickU); CruiseBrake = MAX(DPadD, LStickD); BoardPress = RStickU - RStickD; BoardPivot = RStickR - RStickL; AttackLeft = ShoulderL1; AttackRight = ShoulderR1; CruiseForward = CruiseCrouch; PrewindTurn = LStickR - LStickL; PrewindSpin = DPadR - DPadL; PrewindFlip = DPadU - DPadD; RailBalance = LStickR - LStickL; HandplantBalance= LStickR - LStickL; GateAnticipate = Tilt; LateSpin = 0; RailSpin = DPadR - DPadL; Spin = DPadR - DPadL; Flip = DPadU - DPadD; AirAdjRotFB = LStickU - LStickD; AirAdjRotLR = LStickR - LStickL; WipeoutRecover = X.pressed; JumpPressed = A.pressed; JumpHeld = A; BoostPressed = X.pressed; BoostHeld = X; Handplant = B; Tweak = ShoulderL1 || ShoulderR1; OllieHeld = Rstick; ObjRidePressed = B.pressed; ResetPath = Back.pressed; // Grab "Classic" controls // Trick1 = ShoulderR1.held && !ShoulderL1.held && !Y.held; Trick2 = !ShoulderR1.held && ShoulderL1.held && !Y.held; Trick3 = !ShoulderR1.held && !ShoulderL1.held && Y.held; Trick4 = ShoulderR1.held && ShoulderL1.held && !Y.held; Trick5 = !ShoulderR1.held && ShoulderL1.held && Y.held; Trick6 = 0; Trick7 = 0; Trick8 = 0; Trick9 = 0; Trick10 = ShoulderR1.held && !ShoulderL1.held && Y.held; Trick11 = 0; Trick12 = 0; Trick13 = 0; Trick14 = 0; Trick15 = ShoulderR1.held && ShoulderL1.held && Y.held; // Trick stick // GrabsOnTrickStick = 1; TrickStickX = RStickR - RStickL; TrickStickY = RStickU - RStickD; // Uber Grind stuff... // UberGrind1 = B && !Y && !ShoulderR1 && !ShoulderL1; UberGrind2 = !B && Y && !ShoulderR1 && !ShoulderL1; UberGrind3 = !B && !Y && ShoulderR1 && !ShoulderL1; UberGrind4 = !B && !Y && !ShoulderR1 && ShoulderL1; // ========================================================================== // // everything else... // // ========================================================================== FrameAdvance = LStick.repeat; FrameAdvanceToggle = RStick.pressed; PauseMode = LStick && Black.pressed; // Race/default camera CameraInGameTurn = RStickR - RStickL; CameraInGamePitch = RStickU - RStickD; CameraInGameZoom = DPadU - DPadD; CameraInGameNext = RStick.repeat; // Manual camera CameraActivate = LStick && White.pressed; CameraTurn = -Turn; CameraPitch = MAX(DPadD, LStickD) - MAX(DPadU, LStickU); CameraMove = RStickU - RStickD; CameraStrafe = RStickL - RStickR; CameraBoost = (1.0 + 9.0 * ShoulderR1) * (1.0 - 0.90 * ShoulderL1); CameraLoft = (Y * Y) - (B * B); CameraNextStatCam = A.pressed && B.pressed; CameraPrevStatCam = A.pressed && X.pressed; CameraGoToStatCam = A.pressed && Y.pressed; // Menu stuff... // Menu key definitions, must match menu.h MenuKeyUp = 0; MenuKeyDown = 1; MenuKeyLeft = 2; MenuKeyRight = 3; MenuKeyLeftShift = 4; MenuKeyRightShift = 5; MenuKeySelect = 6; MenuKeyCancel = 7; MenuKeyBack = 8; MenuKey = Back.pressed ? MenuKeyCancel : Start.pressed || A.pressed ? MenuKeySelect : Y.pressed ? MenuKeyBack : DPadU.repeat ? MenuKeyUp : DPadD.repeat ? MenuKeyDown : DPadL.repeat ? MenuKeyLeft : DPadR.repeat ? MenuKeyRight : ShoulderL1.repeat ? MenuKeyLeftShift : ShoulderR1.repeat ? MenuKeyRightShift : -1; MenuLeft = DPadL; MenuRight = DPadR; MenuUp = DPadU; MenuDown = DPadD; MenuLeftShift = ShoulderL1.held; MenuRightShift = ShoulderR1.held; MenuButton = Start.pressed; // Generic Editor input EditorHelp = Back.pressed; EditorCursorSnap = ShoulderR1.held || RStick.held; EditorRotateLeft = RStickL.held; EditorRotateRight = RStickR.held; EditorRotateUp = RStickU.held; EditorRotateDown = RStickD.held; EditorRotateHold = B.held || White || Black; EditorZoomIn = LStick.held || White; EditorZoomOut = ShoulderL1.held || Black; EditorModeOrient = ShoulderL1.held || LStick.held; EditorModeSlow = X.held; EditorModeFast = ShoulderR1.held; EditorModeFaster = RStick.held; EditorModeLeft = LStickL.held; EditorModeRight = LStickR.held; EditorModeUp = LStickU.held; EditorModeDown = LstickD.held; EditorTeleportAI = ShoulderL1.held || LStick.held; EditorBrowseTypeToggle = A.pressed; EditorBrowseRenderToggle = B.pressed; // Path Editor input PEAddEvent = A.pressed; PEStartPath = A.pressed; PEMoveNode = A.held; PEDeleteNode = Y.pressed; PEWaitForNoInput = A.held || B.held || X.held || Y.held; PEShapeRenderToggle = B.pressed; // Mudlark input -- Controller 1 MudlarkCameraPitch = LStickU.held - LStickD.held; MudlarkCameraYaw = LStickR.held - RStickL.held; MudlarkCameraMove = RStickU.held - RStickD.held; MudlarkCameraStrafe = RStickR.held - RStickL.held; MudlarkZoomIn = DPadL; MudlarkZoomOut = DPadR; MudlarkRise = DPadU; MudlarkFall = DPadD; MudlarkSlowMove = ShoulderL1.held; MudlarkFastMove = ShoulderR1.held; MudlarkScreenShot = A.pressed; MudlarkToggleCameraMode = X.pressed; MudlarkToggleRiderLockOn = Y.pressed; MudlarkGameStopToggle = B.pressed; MudlarkFrameAdvance = White.held; MudlarkSlowMoToggle = Black.pressed; MudlarkResetCamera = Back.pressed; // Collision Viewer input CVToggleDisplayMode = Y.pressed; CVMoveCursor = !A.held; CVTriggerHeld = A.held; CVTriggerReleased = A.released; CVMoveModelChangeAxis = Y.pressed; CVMoveModelToggle = !ShoulderR1.held && A.pressed; CVMoveModelCancel = ShoulderR1.held && A.pressed; CVEditModelSelect = A.pressed && !ShoulderL1.pressed; CVEditModelHideMenu = Start.pressed && !ShoulderL1.held && !ShoulderR1.held; CVEditModelZeroValue = A.pressed && ShoulderL1.pressed; CVToggleHullRejection = ShoulderL1.held && X.pressed; // FE FEAdvance = Start.pressed; MCMOption1 = A.pressed; MCMOption2 = B.pressed; MCMOption3 = X.pressed; MCMOption4 = Y.pressed; // UI buttons UISelect = Back.pressed; UIRShift2 = RStick.pressed; UILShift2 = LStick.pressed; //Apt Stuff AptStart = Start.pressed; AptSelect = Back.pressed; AptNext = A.pressed; AptPrevious = B.pressed; AptOption = Y.pressed; AptMisc = X.pressed; AptRShift1 = ShoulderR1.pressed; AptRShift2 = Black.pressed; AptLShift1 = ShoulderL1.pressed; AptLShift2 = White.pressed; AptUp = DPadU.repeat || LStickU.repeat; AptDown = DPadD.repeat || LStickD.repeat; AptLeft = DPadL.repeat || LStickL.repeat; AptRight = DPadR.repeat || LStickR.repeat; AptUpReleased = DPadU.released || LStickU.released; AptDownReleased = DPadD.released || LStickD.released; AptLeftReleased = DPadL.released || LStickL.released; AptRightReleased = DPadR.released || LStickR.released; AptStartReleased = Start.released; AptSelectReleased = Back.released; AptNextReleased = A.released; AptPreviousReleased = B.released; AptOptionReleased = Y.released; AptMiscReleased = X.released; AptRShift1Released = ShoulderR1.released; AptRShift2Released = Black.released; AptLShift1Released = ShoulderL1.released; AptLShift2Released = White.released; AptRStickX = RStickR - RStickL; AptRStickY = RStickU - RStickD; AptZoomL = ShoulderL1; AptZoomR = ShoulderR1; FECameraPhi = MAX(DPadD, LStickD) - MAX(DPadU, LStickU); FECameraRadius = RStickU - RStickD; FECameraBearing = RStickL - RStickR; // Replay buttons ReplayExit = Start.pressed; ReplayPlay = A.pressed; ReplayFForward = ShoulderR1.pressed; ReplayFBackward = ShoulderL1.pressed; ReplayStepForward = B.pressed; ReplayStepSlow = B.held; ReplayCycleCamera = Y.pressed; ReplayMenuUp = DPadU.pressed; ReplayMenuDown = DPadD.pressed; ReplayTimeLine = X.pressed; ReplayDebugLoad = ShoulderL1.held && ShoulderR1.held && B.pressed; ReplayDebugSave = ShoulderL1.held && ShoulderR1.held && X.pressed; // NIS playback buttons // NISSkip = Back.pressed || Start.pressed || A.pressed || B.pressed || X.pressed || Y.pressed || Black.pressed || White.pressed || ShoulderL1.pressed || ShoulderR1.pressed; NISSkip = A.pressed || Start.pressed; // Movie playback MovieSkip = A.pressed || Start.pressed; // ScriptMenuKey key definitions, must match the enumeration in mbxscriptengine.cpp... ScriptMenuKeyLeft = 0; ScriptMenuKeyRight = 1; ScriptMenuKeyUp = 2; ScriptMenuKeyDown = 3; ScriptMenuKeyPlay = 4; ScriptMenuKeyStop = 5; ScriptMenuKeyPause = 6; ScriptMenuKeyResume = 7; ScriptMenuKeyActiveToggle = 8; ScriptMenuKeyExit = 9; ScriptMenuKey = DPadL.repeat || LStickL.repeat ? ScriptMenuKeyLeft : DPadR.repeat || LStickR.repeat ? ScriptMenuKeyRight : DPadU.repeat || LStickU.repeat ? ScriptMenuKeyUp : DPadD.repeat || LStickD.repeat ? ScriptMenuKeyDown : A.pressed ? ScriptMenuKeyPlay : B.pressed ? ScriptMenuKeyStop : Y.repeat ? ScriptMenuKeyPause : X.pressed ? ScriptMenuKeyResume : Back.pressed ? ScriptMenuKeyActiveToggle : Start.pressed ? ScriptMenuKeyExit : -1; // Script Camera Editting // common script camera editting ScriptEditHelp = B.pressed; ScriptEditFOVDelta = A.held ? (DPadU - DPadD) : 0; ScriptEditRollDelta = ShoulderR1.held ? (DPadU - DPadD) : 0; ScriptEditJitterDelta = X.held ? (DPadU - DPadD) : 0; ScriptEditJitterRollDelta = Y.held ? (DPadU - DPadD) : 0; ScriptEditHeadingDelta = (A.held || B.held || Y.held || X.held || ShoulderL1.held || ShoulderR1.held) ? 0 : RStickR - RStickL; ScriptEditPitchDelta = (A.held || B.held || Y.held || X.held || ShoulderL1.held || ShoulderR1.held) ? 0 : RStickU - RStickD; // script camera manual editting ScriptEditManualForwardMove = LStickU - LStickD; ScriptEditManualSideMove = LStickR - LStickL; ScriptEditManualUpMove = (A.held || B.held || Y.held || X.held || ShoulderL1.held || ShoulderR1.held) ? 0 : DPadU - DPadD; // script camera target editting ScriptEditTargetForwardMove = LStickU - LStickD; ScriptEditTargetSideMove = LStickR - LStickL; ScriptEditTargetUpMove = (A.held || B.held || Y.held || X.held || ShoulderL1.held || ShoulderR1.held) ? 0 : DPadU - DPadD; ScriptEditTargetCamDistDelta = ShoulderL1.held ? (DPadU - DPadD) : 0; // script camera subject editting ScriptEditSubjectLeadDistDelta = (A.held || B.held || Y.held || X.held || ShoulderL1.held || ShoulderR1.held) ? 0 : DPadR - DPadL; ScriptEditSubjectLeadHeightDelta = (A.held || B.held || Y.held || X.held || ShoulderL1.held || ShoulderR1.held) ? 0 : DPadU - DPadD; ScriptEditSubjectMoveCamForward = ShoulderL1.held ? (DPadU - DPadD) : 0; // script camera algorithmic editting ScriptEditAlgoLeadDistDelta = (A.held || B.held || Y.held || X.held || ShoulderL1.held || ShoulderR1.held) ? 0 : DPadR - DPadL; ScriptEditAlgoLeadHeightDelta = (A.held || B.held || Y.held || X.held || ShoulderL1.held || ShoulderR1.held) ? 0 : DPadU - DPadD; ScriptEditAlgoCamDistDelta = ShoulderL1.held ? (DPadU - DPadD) : 0; // Debug Screen Capture ScreenCapture = RStick.pressed && !ShoulderR1.held && !ShoulderL1.held; // Debug Screen Capture VideoCapture = LStick.pressed && !ShoulderR1.held && !ShoulderL1.held; // chase camera controls ChaseCamZoom = RStickU - RStickD; ChaseCamLR = RStickR - RStickL; ChaseCam = RStick.held; // chase manual camera controls ChaseManualCamHeading = RStickR - RStickL; ChaseManualCamPitch = RStickU - RStickD; ChaseManualCamDistanceToggle = RStick.pressed; // memory card test MemCardSave = 0; MemCardLoad = 1; MemCardCharSave = 2; MemCardCharLoad = 3; MemCardStats = 4; MemCardKey = A.pressed ? MemCardSave : B.pressed ? MemCardLoad : Y.pressed ? MemCardCharSave : X.pressed ? MemCardCharLoad : A.held ? MemCardStats : -1; NetRiderAnalyzerToggle = Black; TestCameraLR = RStickR - RStickL; TestCameraFB = RStickU - RStickD; TestCameraOnOff = ShoulderR1.pressed; TestTerrainType = ShoulderL1.pressed; // Mission debug MissionDebugPlay = A.pressed && !ShoulderL1.held; MissionDebugPreview = B.pressed; MissionDebugRecord = A.pressed && ShoulderL1.held; MissionDebugAnyPressed = DPadU > 0 || DPadD > 0 || DPadL > 0 || DPadR > 0 || A > 0 || X > 0 || Y > 0 || B > 0 || ShoulderL1 > 0 || ShoulderR1 > 0 || white > 0 || black > 0; VoipOnOff = 0; FilmPressed = Y.pressed; FilmReleased = Y.released; ConsoleReset = 0; PrimaryButtonPressed = A.pressed; DPadRightRepeat = DPadR.repeat; DPadLeftRepeat = DPadL.repeat; DPadUpRepeat = DPadU.repeat; DPadDownRepeat = DPadD.repeat; LStickYAxis = LStickU - LStickD; LStickXAxis = LStickR - LStickL; TogglePunchSnowball = LStick.pressed && RStick.held && ShoulderL1.held && ShoulderR1.held;