/* ** Copyright (C) 1999 Microsoft Corporation. All Rights Reserved. ** ** File: SetControlsAction.cpp ** ** Author: ** ** Description: ** Implementation of the training library "SetControlsAction" interface. ** ** History: */ #include "pch.h" #include "SetControlsAction.h" namespace Training { //------------------------------------------------------------------------------ // global variabes //------------------------------------------------------------------------------ extern ControlData g_setInputControls; // yaw, pitch, roll, throttle - the ones we are forcing on the player extern int g_iSetInputAction; // fire, afterburners, ... - the ones we force on the player //------------------------------------------------------------------------------ // class methods //------------------------------------------------------------------------------ /* void */ SetControlsAction::SetControlsAction (void) { // assign empty values to the controls m_inputControls.jsValues[c_axisYaw] = NA; m_inputControls.jsValues[c_axisPitch] = NA; m_inputControls.jsValues[c_axisRoll] = NA; m_inputControls.jsValues[c_axisThrottle] = NA; m_iInputAction = 0; } //------------------------------------------------------------------------------ /* void */ SetControlsAction::~SetControlsAction (void) { } //------------------------------------------------------------------------------ void SetControlsAction::Execute (void) { // Set the control values g_setInputControls = m_inputControls; g_iSetInputAction = m_iInputAction; } //------------------------------------------------------------------------------ void SetControlsAction::SetInputAction (int iInputAction, int iMask) { m_iInputAction = (m_iInputAction bit_and iMask) bit_or iInputAction; } //------------------------------------------------------------------------------ void SetControlsAction::SetInputControl (Axis axis, float fScalar) { m_inputControls.jsValues[axis] = fScalar; } //------------------------------------------------------------------------------ }