/*===================================================================
 * Editors ID
 *=================================================================*/

#ifndef __EDITID_H__
#define __EDITID_H__
#include "itf/stddllid.h"


// ============================================================================
// ============================================================================
// Name of the DLLs
// ============================================================================
// ============================================================================

// Object DLLs
#define C_szDLLZDxName          "Zdd"
#define C_szDLLWayPointName     "WayPoint"
#define C_szDLLActorName        "Actor"
#define C_szDLLLightName        "Light"


// Tool DLL
#define C_szDLLActionName       "Action"
#define C_szDLLFamilyName       "Family"
#define C_szDLLAnimationName    "Animation"
#define C_szDLLTool3DName       "Tool3D"
#define C_szDLLViewerName       "Viewer"
#define C_szDLLMaterialName     "Material"
#define C_szDLLMecaName         "Mechanics"
#define C_szDLLObjectTableName  "ObjectTable"
#define C_szDLLSoundName		"Sound"
#define C_szDLLPartGenName		"ParticlesGenerator"
#define C_szDLLTutorialName     "Tutorial"
#define C_szDLLAIEditorName		"ArtificialIntelligence"

// Shaitan => streaming (banks editor)
#define C_szDLLBanksEditorName	"BanksEditor"
// End Shaitan => streaming (banks editor)

// ============================================================================
// ============================================================================
// Object Type Name
// ============================================================================
// ============================================================================

// Sector.dll
#define C_szSurfaceTypeName				"Surface"
#define C_szEnvironmentTypeName			"Environment"
#define C_szMecEnvironmentTypeName		"MecEnvironment"
#define C_szVisEnvironmentTypeName		"VisEnvironment"

// Material.dll
#define C_szGameMaterialTypeName		"GameMaterial"
#define C_szVisualMaterialTypeName		"VisualMaterial"
#define C_szMechanicsMaterialTypeName   "MechanicsMaterial"
#define C_szCollideMaterialTypeName     "CollideMaterial"
#define C_szTextureTypeName             "Texture"
#define C_szMaterialColName				"MaterialCol"


// _TAction.dll
#define C_szActionTypeName              "Action"
#define C_szStateTypeName               "State"
#define C_szZATypeName                  "ZA"
#define C_szZAListTypeName              "ZAList"

// _TFamily.dll
#define C_szFamilyTypeName              "Family"
#define C_szTestPointsListTypeName      "TestPointsList"
#define C_szChannelTypeName				"Channel"
// _TAnim.dll
#define C_szAnimationTypeName           "Animation"

// _ObjTable.dll
#define C_szObjectTableTypeName         "ObjectTable"

// Zdd.dll
#define C_szZddName "ZDD"
#define C_szZdeName "ZDE"
#define C_szZdmName "ZDM"
#define C_szZdrName "ZDR"
#define C_szBoundingVolumeName "BV"
#define C_szWayName "Way"

// Actor.dll
#define C_szActorInstanceTypeName       "Actor"
#define C_szActorModelTypeName          "Actor_Model"

#define C_szGenericNameListType "NameList"
#define C_szZDeNameListType C_szGenericNameListType C_szZdeName
#define C_szZDmNameListType C_szGenericNameListType C_szZdmName
#define C_szZDdNameListType C_szGenericNameListType C_szZddName
#define C_szZDrNameListType C_szGenericNameListType C_szZdrName
#define C_szWayNameListType C_szGenericNameListType C_szWayName
#define C_szEdtListTypeName		"EdtList"

#define C_szObjectNameType		"ObjectName"

//Meca.dll
#define C_szMecaCardTypeName	"MecaCard"

// Object table DLL
#define C_szObjectTableTypeNAme	"ObjectTable"

// Waypoint.dll
#define C_szWayPointTypeName	"Waypoint"
#define C_szWayTypeName			"Way"
//ROMTEAM Networks (Gabriela Dumitrascu 25/02/98)
#define C_szGraphTypeName		"Graph"
//ENDROMTEAM Networks (Gabriela Dumitrascu)

// Light.dll
#define C_szLightTypeName  "Light"

// Sound DLL
#define C_szSoundEventTypeName "SoundEvent"
#define C_szSoundInfoMaterialTypeName "SIF_Material"
#define C_szSoundInfoEnvironmentTypeName "SIF_Environment"

#define C_szLipSynchroTypeName "LipsSynchro"

// Particles Generator DLL
#define C_szPartGenGeneratorName "ParticlesGenerator"
#define C_szPartGenSourceName "GeneratorSource"
#define C_szPartGenSystemName "GeneratorSystem"
#define C_szPartGenEnvName "GeneratorEnv"

//Artificial Intelligence DLL
#define C_szIABehaviourTypeName					"IA_Behaviour"

// Shaitan => streaming (banks editor)
#define C_szBankTypeName	"Bank"
// End Shaitan => streaming (banks editor)

// ============================================================================
// ============================================================================
// Query
// ============================================================================
// ============================================================================

// Tool3D
// ======

// Open
#define C_wTool3D_None          0
#define C_wTool3D_Char          1
#define C_wTool3D_Mod_Object    2
#define C_wTool3D_Mod_List      3
#define C_wTool3D_Table         4
#define C_wTool3D_Geom_Object   5
#define C_wTool3D_Viewer        6
#define C_wTool3D_Object        7
// Close
// ...
// Action
#define C_wTool3D_QA_ShowGrid           11
#define C_wTool3D_QA_HideGrid           12
#define C_wTool3D_QA_ShowSelect         13
#define C_wTool3D_QA_HideSelect         14
#define C_wTool3D_QA_NewChar            20
#define C_wTool3D_QA_NewSuperObject     21
#define C_wTool3D_QA_NewTable           22
#define C_wTool3D_QA_NewObject          23
// Info
#define C_wTool3D_QI_CanOpenChar    1
#define C_wTool3D_QI_CanOpenMod     2
#define C_wTool3D_QI_CanOpenGeom    3
#define C_wTool3D_QI_CanOpenTable   4
#define C_wTool3D_QI_CanOpenViewer  5
#define C_wTool3D_QI_CanOpenObject  6
#define C_wTool3D_QI_GetState       10
#define C_wTool3D_QI_GetWorld       11
#define C_wTool3D_QI_GetDevice      12
#define C_wTool3D_QI_GetContact     13
#define C_wTool3D_QI_GetSOOnGrid    14

//Actor
//=====

#define  C_uiActor_GetANameList                   1
#define  C_uiActor_CreateANewObjectList           2
#define  C_uiActor_DeleteAnObjectList             3
#define  C_uiActor_GetAnObjectList                4
#define  C_uiActor_SetAnObjectList                5
#define  C_uiActor_SetAnObjectInObjectList        6
#define  C_uiActor_GetFirstActorUsingThisList     7
#define  C_uiActor_LoadNamesList                  8
#define  C_uiActor_DisplayActor                   10
#define  C_uiActor_GetDesignerVariablesView       11
#define  C_uiActor_GetIndexOfName                 12
#define  C_uiActor_GetSelectedActor               13
#define  C_uiActor_GetDocument                    14
#define  C_uiActor_ActionModif                    16
#define  C_uiActor_ActionDeleted                  17
#define  C_uiActor_ActionRestored                 18
#define  C_uiActor_ObjectsTableLoaded             19
#define  C_uiActor_IsAnInstance					  20	
#define  C_uiActor_AddDataInWatch				  21	
#define  C_uiActor_RemoveDataFromWatch			  22	
#define	 C_uiActor_UpdateTreeView				  23
#define  C_uiActor_LoadFamilyModels				  24
#define	 C_uiActor_GetAnActorInstance			  25
#define	 C_uiActor_DeleteTempActorInstance		  26

// AI
// ===
#define	C_uiAI_GetNewDesignerVariableList						01	
#define	C_uiAI_DeleteDesignerVariableList						02	
#define	C_uiAI_DesignerVariableView_UpdateDisplayWithValues		10
#define	C_uiAI_DesignerVariableView_UpdateDisplay				11
#define C_uiAI_DesignerVariableView_UpdateControls				12
#define C_uiAI_DesignerVariableView_GetOldHeight				13
#define C_uiAI_DesignerVariableView_SetOldHeight				14
#define C_uiAI_DesignerVariableView_GetRuntimeClass				15
#define C_uiAI_GetNewIA											20
#define C_uiAI_GetNewCopyOfIA									21
#define C_uiAI_DeleteIA											22
#define C_uiAI_ShowIA											23
#define C_uiAI_LoadIA											24
#define C_uiAI_ProcessIA										25
#define C_uiAI_SaveIA											26
#define C_uiAI_UpdateIA											27
#define C_uiAI_SaveInitValuesInBrainMS							28
#define C_uiAI_MustSaveAIEntryInModel							29
#define C_uiAI_GetDsgVarName									30
#define C_uiAI_ShowBehaviour									31
#define C_uiAI_ShowEditor										40
#define C_uiAI_HideEditor										41
#define C_uiAI_HasLostFocus										42
#define C_uiAI_MustBuildDebugInfo								50
#define C_uiAI_GetBehaviourName									51
#define C_uiAI_ClearExecutedNodes								52
#define C_uiAI_SetOneExecutedNode								53
#define C_uiAI_ShowBehaviourByEngineNode						54
#define C_uiAI_ShowBehaviourByName								55
#define C_uiAI_ShowFlags										60
#define C_uiAI_ViewVariable										61
#define	C_uiAI_DesignerVariableView_HideVariables				62
#define	C_uiAI_DesignerVariableView_ShowVariables				63
// BEGIN ROMTEAM Cristi Petrescu 98-08-
#define C_uiAI_GetVariableValue									64
#define C_uiAI_GetVariableIndex									65
// END ROMTEAM Cristi Petrescu 98-08-
#define C_uiAI_AddVariableInWatch								70
// Shaitan => state list in the level
#define C_uiAI_ProcessModifiedIA								71
// End Shaitan => state list in the level
// Shaitan => optimisation lists in the level
#define C_uiAI_UpdateAndProcessIA								72
// End Shaitan => optimisation lists in the level

// Zone
// ====

// OnQueryAction
#define  C_uiQueryEditAnObject            1
#define  C_uiQueryEditAnObjectList        2
#define  C_uiQueryAnObjectHasBeenChanged  3
#define  C_uiQueryCreateZDxObject         4
#define  C_uiQueryCreateZDxTestPoints     5
// OnQueryInfos
#define  C_uiQueryInfoT3DStateChange      1
#define  C_uiQueryGetZDxType              2
// Answer to the OnQueryInfos
#define  C_lNotAZone                      0
#define  C_lZddOfActor                    1
#define  C_lZdeOfActor                    2
#define  C_lZdmOfActor                    3
#define  C_lZdrOfActor                    4
#define  C_lZddOfModule                   5
#define  C_lZdeOfModule                   6
#define  C_lZdmOfModule                   7
#define  C_lZdrOfModule                   8
//ROMTEAM WorldEditor (Cristi Petrescu 15/12/97)
#define  C_uiQueryTypeOfZoneByGeometricObject 6
//ENDROMTEAM WorldEditor (Cristi Petrescu)


// Way
// ===
//  C_uiQueryEditAnObject            1
//  C_uiQueryEditAnObjectList        2
//  C_uiQueryAnObjectHasBeenChanged  3   -> shared with Zdx
#define C_uiQueryCreateWayObject	4
#define C_uiQueryInsertWayObject	5
#define C_uiQueryDeleteWayObject	6


// Family
// ======

#define C_uiSaveFamilies                1
#define C_uiLoadAFamily                 2
#define C_uiGetUnLoadedFamiliesList     3
#define C_uiGetChannel                  4
#define C_uiCreateTPList                5
#define C_uiGetTestPoint                6
#define C_uiUpdateFamilies				7
#define C_uiSetCompleteLoadModeTFA		8
#define C_uiGetCompleteLoadModeTFA		10

// Action
// ======

#define C_uiLoadAllActions      1
#define C_uiSaveAction          2
#define C_uiSaveStates          3
#define C_uiRemoveZone          4
#define C_uiLoadZA				5
#define C_uiLoadZAList			6
#define C_uiInsertZone          7
#define C_uiUpdateFamiliesList  8
#define C_uiOpenWithNone        10
#define C_uiOpenWithFamily      11
#define C_uiOpenWithAction      12
#define C_uiOpenWithState       13
#define C_uiOpenWithNameList    14
#define C_uiOpenWithZAList      15
#define C_uiOpenWithZA          16
#define C_uiUpdateZAList        17
#define C_uiUpdateAnimList		18

// Material
// ========
#define C_cCreateNewGameMaterial    1
#define C_cGetDefaultGameMaterial   2

// 3DGeom
// ======
#define C_uiCreateGeometricObject   1
#define C_uiDeleteGeometricObject   2
#define C_uiComputeOGDType          3
#define C_uiGetOGDTypePath          4
#define C_uiGetOwnerByFileName      5

// Object Table
// ============
#define C_uiCreateObjectTable		1
#define C_uiDeleteObjectTable		2
#define C_uiLoadFamilyObjectTables	3

// Light
// =====
#define C_uiCreateDynamicLight      1
#define C_uiDeleteDynamicLight      2

// Sound 
// =====
#define C_uiEngineLoadEvent			1

// TME
//=====
#define Cw_TME_Query_updateAfterLoading	0

// Light
//=======
#define C_uiQueryComputeRli			1

// ============================================================================
#endif // __EDITID_H__
