//Callback IDs
#define ShellGetDummyData -1
#define ShellDataGetMissionNames 0
#define ShellInitIAScreen 1
#define ShellInitMechLabScreen 2
#define ShellClearMechLabScreen 3
#define ShellDataGetMechs 4
#define ShellSetMech 5
#define ShellInitMPScreen 6
#define ShellSetTime 7
#define ShellInitCampaignScreen 8
#define ShellStartCampaignMission 9
#define ShellCampaignGetPilotData 10
#define ShellCampaignSetPilotData 11
#define ShellInitCampaignMechLab 12
#define ShellCampaignSelectPilot 13
#define ShellCampaignVerifyLaunchData 14
#define ShellCampaignGetPilotMechData 15


#define ShellCampaignGetMechs 16
#define ShellCampaignSetMech 17
#define ShellCreateNewPilot 18
#define ShellSelectPilot 19
#define ShellDeletePilot 20
#define ShellRenamePilot 21
#define ShellGetPilotList 22
#define ShellGetPilotName 23
#define ShellGetDifficultyLevel 24
#define ShellSetDifficultyLevel 25
#define ShellCampaignGetLanceStats 26
#define ShellCampaignGetMechStats 27
#define ShellCampaignGetMissionRegionCount 28
#define ShellCampaignGetMissionRegionIDs 29
#define ShellCampaignGetMissionRegionData 30

#define ShellGetMovieFilename	31
#define ShellTriggerMovie		32
#define ShellAdvanceMovie		33

#define ShellCampaignSetMission 34

#define ShellCampaignGetMissionNavCount 35
#define ShellCampaignGetMissionInfoCount 36
#define ShellCampaignGetMissionDropCount 37
#define ShellCampaignGetMissionGeneralInfoCount 38
#define ShellCampaginGetMissionNavPoints 39
#define ShellCampaginGetMissionInfoPoints 40
#define ShellCampaginGetMissionDropPoints 41
#define ShellCampaignGetMissionGeneralInfoPoints 42
#define ShellCampaignGetOpData 43
#define ShellCampaignGetMissionData 44

#define ShellOptionsGetToggleValue 45
#define ShellOptionsSetToggleValue 46
#define ShellOptionsGetSliderValue 47
#define ShellOptionsSetSliderValue 48
#define ShellSetOptionValue 49
#define ShellGetOptionValue 50
#define ShellSaveOptions 51
#define ShellLoadDefaultOptions 52

#define ShellDoesHavePilot 53

//Instant Action Support
#define ShellIASetMissionType 54
#define ShellIASetLancemate 55
#define ShellIASetLancemateMech 56
#define ShellIAGetWaveMissions 57
#define ShellIASetWaveMission 58
#define ShellIAAddEnemyAIToWave 59
#define ShellIAAddMechToEnemyInWave 60
#define ShellIARemoveEnemyFromWave 61
#define ShellIAGetWaveAITypes 62
#define ShellIAGetWaveAIMechs 63
#define ShellIASetEnemyWaveCount 64
#define ShellIASetEnemyCount 65
#define ShellIASetWavePlayerRespawns 66
#define ShellIAGetTrainingMissions 67
#define ShellIASetTrainingMission 68
#define ShellIAGetEnemyChassis 69

#define ShellGetTimeOfDay 70
#define ShellSetIAMissionName 71
#define ShellIAGetMissionMapInfo 72

#define ShellIAGetDifficulty 73
#define ShellIASetDifficulty 74
#define ShellIAGetWavePlayerRespawns 75
#define ShellIAGetEnemyWaveCount 76

#define ShellIASetMasterTrial 77
#define ShellIAGetMasterTrialMissions 78

#define ShellCampaignGetPlayerStatus 79
#define ShellCampaignGetLanceStatus 80
#define ShellCampaignGetMechSalvage 81
#define ShellCampaignGetWeaponSalvage 82
#define ShellCampaignGetCampaignResults 83

// Dedicated Server
#define ShellExitDedicatedServer 84
//Load Game Callbacks
#define ShellCampaignGetGames 85
#define ShellCampaignLoadGame 86

//Mission Name
#define ShellLoadMissionName 87

#define ShellIAGetResults 88
#define ShellIAGetMissionRegionData 89

//End Campaign support
#define ShellCampaignPlayIntro 90
#define ShellCampaignPlayEnd 91

#define ShellCampaignGetMechBars 92
#define ShellIAGetMechBars 93

#define ShellControlSetDefault 100
#define ShellControlAssignValue 101
#define ShellControlAcceptChanges 102
#define ShellControlCancelChanges 103
#define ShellControlGetMapping 104
#define ShellControlGetValue 105
#define ShellControlScanKeyboard 106

// For cloning pilot
#define ShellClonePilot 107

// for mission review
#define MissionReviewSpeedUp 108
#define MissionReviewSlowDown 109
#define MissionReviewRewind 110
#define MissionReviewPause 111
#define MissionReviewCenterOn 112

#define ShellIAGetStockMechs 113
#define ShellIAGetMechsWithEmpty 114
#define ShellIAMasterSetPlayerMech 115
#define ShellIATrainingSetPlayerMech 116

// Dedicated Server
#define ShellDisconnectDedicatedServer 117

//Crazy ass Training callback
#define ShellGetTrainingMechBars 118
#define ShellGetMasterMechBars 119

#define ShellGetClosingCinema 120

#define ShellGetLastPlayerMech 121

#define ShellSetMasterTrialsDifficulty 122

#define ShellLaunchTrainingMission 123

#define ShellGetSupportedResolutions 124

#define ShellGetIsResourceEnglish 125

// Callbacks for input remapping support
#define GetJoyStickNames	200
#define	GetJoyStickInvert	201
#define	GetMouseInvert		202
#define	GetForce			203
#define	GetJoyStick			204
#define	GetMouse			205
#define	GetJoyStickShift	206
#define	GetJoyListSelected	207
#define	SetJoyStickInvert	208
#define	SetMouseInvert		209
#define	SetForce			210
#define	SetJoyStickShift	211
#define	SetJoyStick			212
#define	SetMouse			213
#define	SetJoyShiftValue	214
#define	GetJoyShiftValue	215
#define GetMouseSensitivity	216
#define SetMouseSensitivity 217
#define SetJoyListSelected	218

#define GetJoyXAxis			220
#define GetJoyRudderAxis	221
#define GetMouseXAxis		222
#define SetJoyXAxis			223
#define SetJoyRudderAxis	224
#define SetMouseXAxis		225
#define	SetJoyStickThrottle	226
#define	GetJoyStickThrottle	227

#define	SaveSettings		230
#define RestoreSetting		231

#define MAP_CONTROL_NAME	0
#define MAP_KEY		1
#define MAP_MOUSE	2
#define MAP_JOY		3


//Options IDs
#define MWO_DIFFICULTY 0
#define MWO_HEAT 1
#define MWO_INVINCIBILITY 2
#define MWO_UNLIMITEDAMMO 3
#define MWO_FRIENDLYFIRE 4
#define MWO_SPLASHDAMAGE 5
#define MWO_DEFAULTVIEW 6
#define MWO_SCREENRESOLUTION 7
#define MWO_GRAPHICALDETAIL 8
#define MWO_GAMMA 9
#define MWO_BRIGHTNESS 10
#define MWO_CONTRAST 11
#define MWO_SFXVOLUME 27
#define MWO_MUSICVOLUME 28
#define MWO_INPUTDEVICES 29
#define MWO_FORCEFEEDBACK 30
#define MWO_BETTYSOUND 31
#define MWO_AUDIOHARDWARE 32
#define MWO_MOUSESENSITIVITY 33
#define MWO_WEAPONJAM 34
#define MWO_AMMOBAYFIRE 35
#define MWO_ADVANCEMODE 36
#define MWO_ARMORMODE 37

#define MAX_MOVIES_IN_MISSION	25
#define ADVANCE_MOVIE_FORWARD	1
#define ADVANCE_MOVIE_REVERSE	2
#define ADVANCE_MOVIE_END		3
#define nMSG_PLAYMOVIE			10011
#define nMSG_UPDATE_MAP			12021

#define MAX_MISSIONS 64
#define MAX_MECHS 128

//Instant Action Game Types
#define IA_MISSIONSELECTION	0
#define IA_TRAININGMISSION 1
#define IA_WAVEBATTLE 2
#define IA_MASTERTRIAL 3