/*
** Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
**
** File: training.h
**
** Author:
**
** Description:
** Header file for the training library external interfaces.
**
** History:
*/
#ifndef _TRAINING_H_
#define _TRAINING_H_
namespace Training
{
//------------------------------------------------------------------------------
// mission ids
//------------------------------------------------------------------------------
enum
{
c_TM_1_Introduction = 1,
c_TM_2_Basic_Flight = 2,
c_TM_3_Basic_Weaponry = 3,
c_TM_4_Enemy_Engagement = 4,
c_TM_5_Command_View = 5,
c_TM_6_Practice_Arena = 6,
c_TM_7_Live = 7,
c_TM_8_Nanite = 8 //TheBored 06-JUL-07: adding nanite mission
};
//------------------------------------------------------------------------------
// primary interface to the training missions
//------------------------------------------------------------------------------
bool StartMission (int iMissionIndex);
bool HandleMission (void);
bool EndMission (void);
void SetSkipPostSlideshow (void);
bool IsTraining (void);
bool IsInstalled (void);
int GetTrainingMissionID (void);
SectorID GetStartSectorID (void);
void SetupShipAndCamera (void);
//------------------------------------------------------------------------------
// event trapping
//------------------------------------------------------------------------------
void RecordChat (ChatTarget recipient);
bool RecordKeyPress (TrekKey key);
bool ShipLanded (void);
void ShipDied (ImodelIGC* pLauncher);
bool RestoreShip (void);
//------------------------------------------------------------------------------
// control constraint functions - note that these could be inlined
//------------------------------------------------------------------------------
ControlData& ApproveControls (ControlData& inputControls);
int ApproveActions (int iInputMask);
//------------------------------------------------------------------------------
}
#endif //_TRAINING_H_