/******************************************\
	Doom Builder Actions Configuration
\******************************************/

// This just defines which actions there are, what description they have and
// some behaviour options. The Doom Builder core will bind to these actions
// with delegates (function pointers) where you use the BeginAction and
// EndAction attributes.

// Behaviour options:
//
// allowkeys: Allows the user to bind standard keys to this action.
// allowmouse: Allows the user to bind mouse buttons to this action.
// allowscroll: Allows the user to bind the scrollwheel to this action.
// disregardshift: This action will be triggered regardless if Shift or Control are used.
// repeat: BeginAction will be called for automatic key repetition.
//
// allowkeys and allowmouse are true by default, the others are false by default.
//

verticesmode
{
	title = "Edit: Vertices Mode";
	description = "Switches to vertices editing mode.";
	allowkeys = true;
	allowmouse = true;
	allowscroll = true;
}

linedefsmode
{
	title = "Edit: Linedefs Mode";
	description = "Switches to linedefs editing mode.";
	allowkeys = true;
	allowmouse = true;
	allowscroll = true;
}

sectorsmode
{
	title = "Edit: Sectors Mode";
	description = "Switches to sectors editing mode.";
	allowkeys = true;
	allowmouse = true;
	allowscroll = true;
}

brightnessmode
{
	title = "Edit: Sectors Brightness Mode";
	description = "Switches to sectors brightness editing mode.";
	allowkeys = true;
	allowmouse = true;
	allowscroll = true;
}

thingsmode
{
	title = "Edit: Things Mode";
	description = "Switches to things editing mode.";
	allowkeys = true;
	allowmouse = true;
	allowscroll = true;
}

drawlinesmode
{
	title = "2D: Draw Lines";
	description = "Starts drawing lines. See the Drawing category for actions available during drawing mode.";
	allowkeys = true;
	allowmouse = true;
	allowscroll = true;
}

drawpoint
{
	title = "Drawing: Draws Vertex";
	description = "Draws a vertex at the mousecursor position.";
	allowkeys = true;
	allowmouse = true;
	allowscroll = true;
	disregardshift = true;
}

removepoint
{
	title = "Drawing: Remove Previous Vertex";
	description = "Removes the previously drawn vertex from the drawing session.";
	allowkeys = true;
	allowmouse = true;
	allowscroll = true;
}

finishdraw
{
	title = "Drawing: Finish Drawing";
	description = "Finishes the drawing and creates the geometry.";
	allowkeys = true;
	allowmouse = true;
	allowscroll = true;
}

visualmode
{
	title = "Edit: Visual Mode";
	description = "Switches to visual editing mode.";
	allowkeys = true;
	allowmouse = true;
	allowscroll = true;
}

wauthormode
{
	title = "Edit: WadAuthor Mode";
	description = "Switches to Wad Author editing mode.";
	allowkeys = true;
	allowmouse = true;
	allowscroll = true;
}

triangulatormode
{
	title = "Edit: Triangulator Mode";
	description = "Switches to Triangulator testing mode.";
	allowkeys = true;
	allowmouse = true;
	allowscroll = true;
	debugonly = true;
}

fliplinedefs
{
	title = "Lines: Flip Linedefs";
	description = "This flips the selected linedefs around and keeps sidedefs on the correct side.";
	allowkeys = true;
	allowmouse = true;
	allowscroll = true;
}

flipsidedefs
{
	title = "Lines: Flip Sidedefs";
	description = "This flips the sidedefs on the selected linedefs around, keeping the line in the same direction.";
	allowkeys = true;
	allowmouse = true;
	allowscroll = true;
}

curvelinesmode
{
	title = "Lines: Curve Linedefs";
	description = "Curves the selected linedefs with a given number of vertices and distance from the line.";
	allowkeys = true;
	allowmouse = true;
	allowscroll = true;
}

splitlinedefs
{
	title = "Lines: Split Linedefs";
	description = "Splits the selected linedefs in the middle, or splits the highlighted linedef at the mouse position.";
	allowkeys = true;
	allowmouse = true;
	allowscroll = true;
}

joinsectors
{
	title = "Sectors: Join";
	description = "Joins two or more selected sectors together and keeps all linedefs.";
	allowkeys = true;
	allowmouse = true;
	allowscroll = true;
}

mergesectors
{
	title = "Sectors: Merge";
	description = "Joins two or more selected sectors together and removes the shared linedefs.";
	allowkeys = true;
	allowmouse = true;
	allowscroll = true;
}

makesectormode
{
	title = "Edit: Make Sector Mode";
	description = "Switches to the Make Sector editing mode. This mode allows creating and fixing and/or splitten sectors by clicking within a closed region.";
	allowkeys = true;
	allowmouse = true;
	allowscroll = true;
}

findmode
{
	title = "Edit: Find and Replace Mode";
	description = "Finds vertices, linedefs, sectors or things with a specific property, selects them and optionally replaces them with a given setting.";
	allowkeys = true;
	allowmouse = true;
	allowscroll = true;
}

editselectionmode
{
	title = "Edit: Edit Selection Mode";
	description = "Allows rotating, resizing and moving a selection.";
	allowkeys = true;
	allowmouse = true;
	allowscroll = true;
}