// Preset() - section to place most often used classes
!Preset()
// PresetSingle( s ) - class names in section Present
!PresetSingle( s )

Preset()
{
  PresetSingle("StartPoint")
  PresetSingle("Checkpoint")
  PresetSingle("TrackPoint")
  PresetSingle("OrientationPoint")
}

// --------------------------------------------------------

// EdClassSelections() - section to store content od EdClassSelections.ini file
!EdClassSelections()
//ClassSelection( nazwa selekcji klas, jaka pojawi sie w combo )
!ClassSelection( s )
//Class( nazwa klasy, czy brac klasy pochodne: 1 -tak, inne - nie )
!Class( s , n )

EdClassSelections()
{

	ClassSelection("SoundEmitters")
	{
		Class("SoundEmitter", 1)
	}

	ClassSelection("Computers")
	{
		Class("ComputerTerminalNew", 1)
	}

	ClassSelection("Level")
	{
		Class("Module", 1)
	}

	ClassSelection("Lifts")
	{
		Class("LiftPlatform", 1)
		Class("LiftPlatformFloor", 1)
		Class("LiftPlatformButton", 1)
	}

	ClassSelection("Player")
	{
		Class("PlayerSingle", 1)
	}

	ClassSelection("Cameras")
	{
		Class("CameraEditorObject",0)
		Class("CameraTargetEditorObject",0)
	}

	ClassSelection("Lights")
	{
		Class("LightEditorObject",0)
	}

	ClassSelection("Dialogs")
	{
		Class("Dialog",1)
	}

	ClassSelection("Triggers")
	{
		Class("Trigger",1)
		Class("TriggerCyclic",1)
	}

	ClassSelection("Sensors")
	{
	   Class("Sensor",1)
	}

	ClassSelection("Simple meshes")
	{
		Class("MeshObject",0)
	}

	ClassSelection("Objectives")
	{
		Class("Objective", 1)
		Class("SubObjective", 1)
		Class("Location", 1)
	}

	ClassSelection("Alarms")
	{
		Class("Alarm", 1)
		Class("LightSignal", 1)
		Class("AlarmTerminal", 1)
	}

	ClassSelection("Security systems")
	{
		Class("SecuritySystem", 1)
		Class("SecurityCannon", 1)
	}

	ClassSelection("ForceField")
	{
		Class("ForceField", 1)
		Class("ForceFieldFence", 1)
	}

	ClassSelection("AI")
	{
		Class("AIGroup", 1)
		Class("NewAI", 1)
		Class("Waypoint",0)
	}

	ClassSelection("Other")
	{
		Class("FXEmitter", 1)
	}

	ClassSelection("Movies")
	{
		Class("Movie", 1)
	}

	ClassSelection("Music")
	{
		Class("Music", 1)
	}

	ClassSelection("ActionChain")
	{
		Class("ActionChain", 1)
	}

	ClassSelection("Race")
	{
		Class("RaceTrackBoundaryPoint", 1)
		Class("RaceTrackMainPoint", 1)
	}
}

// --------------------------------------------------------

// EditorMeshes() - section to store content of EditorMeshes.ini file
!EditorMeshes()
// MeshDefinition - section to store meshes values
!MeshDefinition(i,s)

EditorMeshes()
{
	MeshDefinition(1,"\\data\\interface\\dot.3da")
	MeshDefinition(2,"\\data\\interface\\2Face.3da")
	MeshDefinition(3,"\\data\\interface\\Nutka.3da")
	MeshDefinition(4,"\\data\\interface\\zarowka.3da")
	MeshDefinition(5,"\\data\\interface\\kameratarget.3da")
}

// --------------------------------------------------------

// Helpers() - section to store content of helpers.ini file
!Helpers()
!HelperDef(s,s,s,n,s)
!HelperDefEditorRenderable(s,s)
!HelperDefGSObject(s,s)

//
//HelperDefinition( "Nazwa w edytorze", "klasa helpera", "sciezka do mesha", 1 - widoczne w pluginie control, "Browser klas zaczyna od podanej klasy")
//HelperDefEditorRenderable("Nazwa na liscie", "klasa bazowa abstrakcyjna w javie")

//HelperDefGSObject("Nazwa na liscie", "klasa obiektu w Javie; korzen drzewa do wyboru klasy") - dotyczy obiektow, ktore nie pochodza od ControlObject'a

// klasa helpera - HelperCwOEditorObject - odnosi sie do obiektow, ktore w Javie dziedzicza po EditorRenderableObject

Helpers()
{
	HelperDef("Normal","MeshObject","",1,"")
	HelperDef("Light","LightEditorObject","data\\interface\\zarowka.3da",1,"")
	HelperDefEditorRenderable("Dynamic light", "LightObject")

	HelperDef("Checkpoint","CheckpointEditorObject","data\\interface\\Choragiewka.3da",0,"")
	HelperDef("CheckpointBound","CheckpointBoundEditorObject","data\\interface\\Choragiewka.3da",0,"")
	HelperDef("Camera Position","CameraPositionEditorObject","data\\interface\\Kamera.3da",0,"")
	HelperDef("Camera Target","CameraTargetEditorObject","data\\interface\\KameraTarget.3da",0,"")
        HelperDef("Bezier Control Point", "CameraControlPointEditorObject", "data\\interface\\KameraTarget.3da", 0, "")
	HelperDef("Virtual Object","VirtualObjEditorObject","data\\interface\\KameraTarget.3da",0,"")
	HelperDef("Films GL light", "GLLightEditorObject", "data\\interface\\Zarowka.3da",0,"")
	HelperDef("Films Dyn light", "FilmsDynLightEditorObject", "data\\interface\\Zarowka.3da",0,"")

        //obiekty gizma
	HelperDef("Gizmo", "GizmoEditorObject", "data\\interface\\gizmo.3da", 0, "")
	HelperDef("Gizmo_scale_xp", "GizmoEditorObject", "data\\interface\\gizmo\\gizmo_scale_+x.3da", 0, "")
	HelperDef("Gizmo_scale_xm", "GizmoEditorObject", "data\\interface\\gizmo\\gizmo_scale_-x.3da", 0, "")
	HelperDef("Gizmo_scale_yp", "GizmoEditorObject", "data\\interface\\gizmo\\gizmo_scale_+y.3da", 0, "")
	HelperDef("Gizmo_scale_ym", "GizmoEditorObject", "data\\interface\\gizmo\\gizmo_scale_-y.3da", 0, "")
	HelperDef("Gizmo_scale_zp", "GizmoEditorObject", "data\\interface\\gizmo\\gizmo_scale_+z.3da", 0, "")
	HelperDef("Gizmo_scale_zm", "GizmoEditorObject", "data\\interface\\gizmo\\gizmo_scale_-z.3da", 0, "")
	HelperDef("Gizmo_scale_xpyp", "GizmoEditorObject", "data\\interface\\gizmo\\gizmo_scale_+x+y.3da", 0, "")
	HelperDef("Gizmo_scale_xmyp", "GizmoEditorObject", "data\\interface\\gizmo\\gizmo_scale_-x+y.3da", 0, "")
	HelperDef("Gizmo_scale_xpym", "GizmoEditorObject", "data\\interface\\gizmo\\gizmo_scale_+x-y.3da", 0, "")
	HelperDef("Gizmo_scale_xmym", "GizmoEditorObject", "data\\interface\\gizmo\\gizmo_scale_-x-y.3da", 0, "")
	HelperDef("Gizmo_scale_xpzp", "GizmoEditorObject", "data\\interface\\gizmo\\gizmo_scale_+x+z.3da", 0, "")
	HelperDef("Gizmo_scale_xmzp", "GizmoEditorObject", "data\\interface\\gizmo\\gizmo_scale_-x+z.3da", 0, "")
	HelperDef("Gizmo_scale_xpzm", "GizmoEditorObject", "data\\interface\\gizmo\\gizmo_scale_+x-z.3da", 0, "")
	HelperDef("Gizmo_scale_xmzm", "GizmoEditorObject", "data\\interface\\gizmo\\gizmo_scale_-x-z.3da", 0, "")
	HelperDef("Gizmo_scale_ypzp", "GizmoEditorObject", "data\\interface\\gizmo\\gizmo_scale_+y+z.3da", 0, "")
	HelperDef("Gizmo_scale_ymzp", "GizmoEditorObject", "data\\interface\\gizmo\\gizmo_scale_-y+z.3da", 0, "")
	HelperDef("Gizmo_scale_ypzm", "GizmoEditorObject", "data\\interface\\gizmo\\gizmo_scale_+y-z.3da", 0, "")
	HelperDef("Gizmo_scale_ymzm", "GizmoEditorObject", "data\\interface\\gizmo\\gizmo_scale_-y-z.3da", 0, "")
	HelperDef("Gizmo_scale_xmymzm", "GizmoEditorObject", "data\\interface\\gizmo\\gizmo_scale_-x-y-z.3da", 0, "")
	HelperDef("Gizmo_scale_xpymzm", "GizmoEditorObject", "data\\interface\\gizmo\\gizmo_scale_+x-y-z.3da", 0, "")
	HelperDef("Gizmo_scale_xmypzm", "GizmoEditorObject", "data\\interface\\gizmo\\gizmo_scale_-x+y-z.3da", 0, "")
	HelperDef("Gizmo_scale_xpypzm", "GizmoEditorObject", "data\\interface\\gizmo\\gizmo_scale_+x+y-z.3da", 0, "")
	HelperDef("Gizmo_scale_xmymzp", "GizmoEditorObject", "data\\interface\\gizmo\\gizmo_scale_-x-y+z.3da", 0, "")
	HelperDef("Gizmo_scale_xpymzp", "GizmoEditorObject", "data\\interface\\gizmo\\gizmo_scale_+x-y+z.3da", 0, "")
	HelperDef("Gizmo_scale_xmypzp", "GizmoEditorObject", "data\\interface\\gizmo\\gizmo_scale_-x+y+z.3da", 0, "")
	HelperDef("Gizmo_scale_xpypzp", "GizmoEditorObject", "data\\interface\\gizmo\\gizmo_scale_+x+y+z.3da", 0, "")

	HelperDefEditorRenderable("SoundEmitter", "SoundEmitter")

	// obiekty zwiazane z misja
	HelperDefEditorRenderable("Sensor", "Sensor")
	HelperDefEditorRenderable("Waypoint", "Waypoint")
	HelperDefEditorRenderable("Location","Location")
	HelperDefEditorRenderable("AIGroup","AIGroup")
	HelperDefEditorRenderable("FightPoint", "FightPoint")
	HelperDefEditorRenderable("FXEmitter", "FXEmitter")
	HelperDefEditorRenderable("Marker", "Marker")
        HelperDefEditorRenderable("StationaryCameraTag", "StationaryCameraTag")
        HelperDefEditorRenderable("ReplayRangeTag", "ReplayRangeTag")

	HelperDefEditorRenderable("OrientationPoint","OrientationPoint")
	HelperDefEditorRenderable("SpawnPoint","SpawnPoint")
	HelperDefEditorRenderable("TrackPoint","TrackPoint")

	HelperDefGSObject("Movie","Movie")
	HelperDefGSObject("Music","Music")
	HelperDefGSObject("Trigger","Trigger")
	HelperDefGSObject("TriggerCyclic","TriggerCyclic")
	HelperDefGSObject("Dialog","Dialog")
	HelperDefGSObject("Alarm","Alarm")
	HelperDefGSObject("SecuritySystem","SecuritySystem")
	HelperDefGSObject("Objective","Objective")
	HelperDefGSObject("SubObjective","SubObjective")
	HelperDefGSObject("ForceField","ForceField")
	HelperDefGSObject("ActionChain", "ActionChain")
	HelperDefGSObject("MovieActorHidder","MovieActorHidder")
}

// materials used by gizmo

!GizmoMaterials()
!GizmoMaterial( s )
!GizmoHighLightMaterial( s )
!GizmoScaleMaterial( s )
!GizmoScaleHighLightMaterial( s )

GizmoMaterials()
{
    GizmoMaterial( "Gizmo II SI.mat" )
    GizmoHighLightMaterial( "Gizmo SI.mat" )
    GizmoScaleMaterial( "GizmoScale.mat" )
    GizmoScaleHighLightMaterial( "GizmoScaleSelected.mat" )
}

// maps protected from save operation

!ProtectedMapWarning( s )
!ProtectedMap( s )

ProtectedMapWarning( "This is one of original XPand Rally maps.\nOverwriting it may have unexpected consequences and even stop the game from working correctly.\nDo You really want to overwrite it?" )

ProtectedMap( "data/maps/nevada/nevada.map" )
ProtectedMap( "data/maps/poland/poland.map" )
ProtectedMap( "data/maps/kenya/kenya.map" )
ProtectedMap( "data/maps/ireland/ireland.map" )
ProtectedMap( "data/maps/finland/finland.map" )
ProtectedMap( "data/maps/germany/germany.map" )

// height maps protected from save operation
!ProtectedHeightmapWarning( s )
!ProtectedHeightmap( s )

ProtectedHeightmapWarning( "This is one of original XPand Rally heightmaps.\nDo You really want to overwrite it?" )

ProtectedHeightmap( "data/maps/nevada/nevada.height" )
ProtectedHeightmap( "data/maps/poland/poland.height" )
ProtectedHeightmap( "data/maps/kenya/kenya.height" )
ProtectedHeightmap( "data/maps/ireland/ireland.height" )
ProtectedHeightmap( "data/maps/finland/finland.height" )
ProtectedHeightmap( "data/maps/germany/germany.height" )

!CommonClasses()
!CommonClass( s, s ) //name, description

CommonClasses()
{
  CommonClass("StartPoint", "The starting point of a standard race. This object should be placed next to a TrackPoint with bFirstPoint attribute set tu TRUE. For looped tracks StartPoint is also their finish.")
  CommonClass("CheckPoint", "A control point of a standard race. These points are used for measuring competitors' times. The last CheckPoint is automatically treated as the race finish.")
  CommonClass("TrackPoint", "Objects of the TrackPoint class determine the track shape. The points are joined with the cNext attribute pointing to a next TrackPoint. The first point on the track should have tieh bFirstPoint attribute set to TRUE. Tracks can be looped.")
  CommonClass("OrientationPoint", "An orientation point used for Free Style races where it's represented by a post. The points are joined with the use of the cNext attribute. The first point should be marked by setting the bFirstPoint attribute to TRUE.")
  CommonClass("SpawnPoint", "The spawning points of the cars in the Free Style mode. The cars will be placed around this object pointing towards the first post.")
  CommonClass("StartMachine", "The starting machine of the race. It's used for countdown before the start and must be placed on the track or the race won't start. It should be placed near (in front of) the starting point and above the ground.")
}
