
AddOptionMenu "OptionsMenu"
{
	StaticText " "
	Submenu "UCMinimap Options", "UCMOptions"
}


OptionMenu "UCMOptions"
{
   Title "UCMinimap HUD Options"
   SubMenu "Controls", "UCMControls"
   SubMenu "Switch Options", "UCMOptions_Switches"
   StaticText " "
   StaticText "General", "Gold"
   Option "Enabled", "ucm_hide", "NoOrYes"
   Option "Draw Compass", "ucm_drawcompass", "YesOrNo"
   Option "Draw Player", "ucm_drawplayer", "YesOrNo"
   StaticText " "
   Slider "X Position",	"ucm_xoffset", -30, 9999, 1, 0
   Slider "X Position",	"ucm_yoffset", -30, 9999, 1, 0
   SubMenu "Map Alignment", "UCMOptions_Alignment"
   StaticText " "
   Slider "Size", "ucm_mapsize", 32, 512, 1, 0
   Option "Fullscreen",	"ucm_drawfullscreen", "YesOrNo"
   StaticText " "
   StaticText "Radar", "Gold"
   Option "Press to Disable", "ucm_radardist", "RadarDisable"
   Slider "Radar Zoom",	"ucm_radarzoom", 1, 100, 1, 0
   Slider "Radar range", "ucm_radardist", 0, 500, 1, 0
   StaticText "Maximum distance to display actors, 0 disables.","Black"
   Option "Draw Items", "ucm_drawitems", "DrawItems"
   Option "Draw Projectiles", "ucm_drawmissiles", "YesOrNo"
   Option "Draw Enemy Healthbars", "ucm_drawhealthbars", "YesOrNo"
   Option "Draw Keys", "ucm_drawkeys", "YesOrNo"
   Option "Hide Enemy Types", "ucm_hidemonsters", "YesOrNo"
   StaticText " "
   StaticText "Minimap", "Gold"
   Option "Enabled", "ucm_drawmap", "YesOrNo"
   Option "Rotate with Player", "ucm_drawrotation", "YesOrNo"
   Slider "Minimap Render Distance", "ucm_maprenderdist", 128, 8192, 1, 0 
   SubMenu "Map Colors", "UCMOptions_Colors"
   StaticText " "
   StaticText "Waypoint Options", "Gold"
   Option "Mark Map \"Start\" and \"Exit\"", "ucm_markstartexit", "YesOrNo"
   StaticText " "
}

OptionMenu "UCMOptions_Alignment"
{
	 Title "UCMinimap HUD Options -> Map Positioning"
	 StaticText " "
	 Command "Top Left", "netevent \"align.upperleft\""
	 Command "Top Right", "netevent \"align.upperright\""
	 Command "Bottom Left", "netevent \"align.lowerleft\""
	 Command "Bottom Right", "netevent \"align.lowerright\""
}

OptionMenu "UCMOptions_Colors"
{
   Title "UCMinimap HUD Options -> Map Colors"
   StaticText " "
   ColorPicker "Normal Line", "ucm_color_normal"
   ColorPicker "Solid Line", "ucm_color_solid"
   ColorPicker "Actionable Line", "ucm_color_action"
   ColorPicker "Map Border", "ucm_color_border"
   ColorPicker "Background", "ucm_color_backg"
   ColorPicker "Compass", "ucm_color_compas"
   ColorPicker "Level Stats", "ucm_color_stats"
   StaticText " "
   Slider "Map Opacity",	"ucm_color_alpha", 0, 1.0, 0.01, 2
   Slider "Background Opacity",	"ucm_color_backgalpha", 0, 1.0, 0.01, 2
   StaticText " "
   Command "Reset Colors", "netevent ucm.resetcolors"
}

OptionMenu "UCMOptions_Switches"
{
   Title "UCMinimap HUD Options -> Switches"
   StaticText " "
   Slider "Switch range", "ucm_maxswitchdist", 0, 500, 1, 0
   StaticText "Maximum distance to display switches, 0 disables.","Black"
   StaticText " "
   Option "Only show switches with", "ucm_specific", "SpecialAction"
   Slider  "Only show switches with", "ucm_specific", 0, 280, 1, 0
   StaticText " "
   Option "Switch must be useable", "ucm_mustuse", "YesOrNo"
   Option "Draw repeatable switches", "ucm_showrepeatable", "YesOrNo"
   Option "Draw distance to switches", "ucm_showdistance", "YesOrNo"
   StaticText " "
   Command "Apply", "netevent \"ucm.switches.apply\""
}

OptionMenu "UCMWaypoints"
{
	Title "Customize Waypoint"
	StaticText " "
	TextField "Name", "waypoint_name"
	ColorPicker "Color", "waypoint_color"
	Command "Create", "netevent \"ucm.waypointmenu.apply\""
	StaticText " "
	Command "Delete Closest", "netevent \"ucm.waypointmenu.delete.closest\""
	Command "Delete (By Name)", "netevent \"ucm.waypointmenu.delete.byname\""
	StaticText " "
	Command "Cancel", "closemenu UCMWaypoints"
}

OptionMenu "UCMControls"
{
	Title "UCMinimap Controls"
	StaticText "General"
	Control "Toggle", "UCM_TOGGLEALL"
	StaticText " "
	StaticText "Radar controls"
	Control "Zoom In", "+UCM_ZOOMIN"
	Control "Zoom Out", "+UCM_ZOOMOUT"
	StaticText " "
	StaticText "Map controls"
	Control "Waypoints", "UCM_WAYPOINTS"
	Control "Toggle", "UCM_TOGGLEMAP"
	Control "Toggle Fullscreen", "UCM_TOGGLEFULLSCREEN"
	Control "Toggle Fullsize", "UCM_TOGGLEFULLSIZE"
	Control "Toggle Following", "UCM_TOGGLEFOLLOW"
	StaticText " "
	Control "Pan Up"   , "+UCM_PANUP"
	Control "Pan Down" , "+UCM_PANDOWN"
	Control "Pan Left" , "+UCM_PANLEFT"
	Control "Pan Right", "+UCM_PANRIGHT"
	StaticText " "
	SubMenu "Back", "UCMOptions"
}


AddOptionMenu "CustomizeControls"
{
	// Man this is a gross solution, i really wish there were a way to
	// setup ini sections in MenuDef...
	Submenu    "UCMinimap Controls"      , "UCMOptions"
	StaticText " "
	StaticText " "
	StaticText " "
	StaticText " "
	StaticText " "
	StaticText " "
	StaticText " "
	StaticText " "
	StaticText " "
	StaticText " "
	StaticText " "
	StaticText " "
	StaticText " "
	StaticText " "
	StaticText " "
	StaticText " "
	StaticText " "
	StaticText " "
	StaticText " "
	StaticText " "
	StaticText " "
	StaticText " "
	StaticText " "
	StaticText "↓ More Controls ↓"
}

OptionValue "YesOrNo"
{
	0, "No"
	1, "Yes"
}

OptionValue "NoOrYes"
{
	0, "Yes"
	1, "No"
}

OptionValue "RadarDisable"
{
	0, "Disabled"
}

OptionValue "DrawItems"
{
	0, "No"
	1, "Yes, only counted items."
	2, "Yes, all items."
}

OptionValue "Set"
{
	0, " "
	1, "*"
}

OptionValue "SpecialAction"
{
	0, "Disabled"
	1, "Polyobj_StartLine"
	2, "Polyobj_RotateLeft"
	3, "Polyobj_RotateRight"
	4, "Polyobj_Move"	
	5, "Polyobj_ExplicitLine"
	6, "Polyobj_MoveTimes8"
	7, "Polyobj_DoorSwing"
	8, "Polyobj_DoorSlide"
	10,	"Door_Close"
	11,	"Door_Open"			
	12,	"Door_Raise"				
	13,	"Door_LockedRaise"
	14,	"Door_Animated"
	17,	"Thing_Raise"
	19,	"Thing_Stop"
	20,	"Floor_LowerByValue"	
	21,	"Floor_LowerToLowest"	
	22,	"Floor_LowerToNearest"
	23, "Floor_RaiseByValue"	
	24,	"Floor_RaiseToHighest"
	25,	"Floor_RaiseToNearest"
	26,	"Stairs_BuildDown"
	27,	"Stairs_BuildUp"	
	28,	"Floor_RaiseAndCrush"
	29,	"Pillar_Build"
	30,	"Pillar_Open"
	31,	"Stairs_BuildDownSync"
	32,	"Stairs_BuildUpSync"			
	34,	"ClearForceField"
	35,	"Floor_RaiseByValueTimes8"	
	36,	"Floor_LowerByValueTimes8"		
	37,	"Floor_MoveToValue"	
	38,	"Ceiling_Waggle"		
	39,	"Teleport_ZombieChanger"		
	40,	"Ceiling_LowerByValue"				
	41,	"Ceiling_RaiseByValue"				
	42,	"Ceiling_CrushAndRaise"			
	43,	"Ceiling_LowerAndCrush"			
	45,	"Ceiling_CrushRaiseAndStay"					
	47,	"Ceiling_MoveToValue"									
	55,	"Line_SetBlocking"
	59,	"Polyobj_OR_MoveToSpot"
	60,	"Plat_PerpetualRaise"	
	61,	"Plat_Stop"	
	62,	"Plat_DownWaitUpStay"
	63,	"Plat_DownByValue"	
	64,	"Plat_UpWaitDownStay"	
	65,	"Plat_UpByValu"		
	66,	"Floor_LowerInstant"				
	67,	"Floor_RaiseInstant"				
	68,	"Floor_MoveToValueTimes8"		
	69,	"Ceiling_MoveToValueTimes8"			
	70,	"Teleport"		
	71,	"Teleport_NoFog"			
	74,	"Teleport_NewMap"			
	75,	"Teleport_EndGame"		
	76,	"TeleportOther"	
	77,	"TeleportGroup"	
	78,	"TeleportInSector"			
	80,	"ACS_Execute"				
	81,	"ACS_Suspend"			
	82,	"ACS_Terminate"			
	83,	"ACS_LockedExecute"			
	84,	"ACS_ExecuteWithResult"			
	85,	"ACS_LockedExecuteDoor"			
	86,	"Polyobj_MoveToSpot"
	87,	"Polyobj_Stop"	
	88,	"Polyobj_MoveTo"	
	89,	"Polyobj_OR_MoveTo"
	90,	"Polyobj_OR_RotateLeft"
	91,	"Polyobj_OR_RotateRight"
	92,	"Polyobj_OR_Move"	
	93,	"Polyobj_OR_MoveTimes8"
	94,	"Pillar_BuildAndCrush"
	95,	"FloorAndCeiling_LowerByValue"
	96,	"FloorAndCeiling_RaiseByValue"
	99,	"Floor_RaiseAndCrushDoom"	
	104, "Ceiling_CrushAndRaiseSilentDist"
	105, "Door_WaitRaise"
	106, "Door_WaitClose"					
	125, "Thing_Move"
	127, "Thing_SetSpecial"	
	129, "UsePuzzleItem"	
	130, "Thing_Activate"
	131, "Thing_Deactivate"
	132, "Thing_Remove"
	133, "Thing_Destroy"
	134, "Thing_Projectile"
	135, "Thing_Spawn"
	136, "Thing_ProjectileGravity"
	137, "Thing_SpawnNoFog"
	138, "Floor_Waggle"
	139, "Thing_SpawnFacing"
	154, "Teleport_NoStop"	
	158, "FS_Execute"			
	168, "Ceiling_CrushAndRaiseDist"
	169, "Generic_Crusher2"
	170, "Sector_SetCeilingScale2"
	171, "Sector_SetFloorScale2"
	172, "Plat_UpNearestWaitDownStay"
	176, "Thing_ChangeTID"	
	177, "Thing_Hate"
	181, "Plane_Align"
	183, "Line_AlignCeiling"
	184, "Line_AlignFloor"
	185, "Sector_SetRotation"
	186, "Sector_SetCeilingPanning"
	187, "Sector_SetFloorPanning"
	188, "Sector_SetCeilingScale"
	189, "Sector_SetFloorScale"	
	191, "SetPlayerProperty"
	192, "Ceiling_LowerToHighestFloor"		
	193, "Ceiling_LowerInstant"	
	194, "Ceiling_RaiseInstant"		
	195, "Ceiling_CrushRaiseAndStayA"			
	196, "Ceiling_CrushAndRaiseA"			
	197, "Ceiling_CrushAndRaiseSilentA"			
	198, "Ceiling_RaiseByValueTimes8"				
	199, "Ceiling_LowerByValueTimes8"			
	200, "Generic_Floor"			
	201, "Generic_Ceiling"			
	202, "Generic_Doo"			
	203, "Generic_Lif"
	204, "Generic_Stairs"			
	205, "Generic_Crusher"			
	206, "Plat_DownWaitUpStayLip"		
	207, "Plat_PerpetualRaiseLip"				
	214, "Sector_SetDamage"
	215, "Teleport_Line"
	216, "Sector_SetGravity"
	217, "Stairs_BuildUpDoom"
	218, "Sector_SetWind"
	219, "Sector_SetFriction"
	220, "Sector_SetCurrent"
	223, "Scroll_Floor"
	224, "Scroll_Ceiling"
	225, "Scroll_Texture_Offsets"		
	226, "ACS_ExecuteAlways"
	227, "PointPush_SetForce"
	228, "Plat_RaiseAndStayTx0"
	229, "Thing_SetGoal"
	230, "Plat_UpByValueStayTx"
	231, "Plat_ToggleCeiling"
	235, "Floor_TransferTrigger"
	236, "Floor_TransferNumeric"
	237, "ChangeCamera"
	238, "Floor_RaiseToLowestCeiling"
	239, "Floor_RaiseByValueTxTy"
	241, "Floor_LowerToLowestTxTy"
	242, "Floor_LowerToHighest"
	243, "Exit_Normal"	
	244, "Exit_Secret"	
	245, "Elevator_RaiseToNearest"
	246, "Elevator_MoveToFloor"		
	247, "Elevator_LowerToNearest"				
	249, "Door_CloseWaitOpen"			
	250, "Floor_Donut"			
	251, "FloorAndCeiling_LowerRaise"		
	252, "Ceiling_RaiseToNearest"		
	253, "Ceiling_LowerToLowest"			
	254, "Ceiling_LowerToFloor"				
	255, "Ceiling_CrushRaiseAndStaySilA"				
	256, "Floor_LowerToHighestEE"			
	257, "Floor_RaiseToLowest"			
	258, "Floor_LowerToLowestCeiling"			
	259, "Floor_RaiseToCeiling"				
	260, "Floor_ToCeilingInstant"			
	261, "Floor_LowerByTexture"				
	262, "Ceiling_RaiseToHighest"				
	263, "Ceiling_ToHighestInstant"				
	264, "Ceiling_LowerToNearest"				
	265, "Ceiling_RaiseToLowest"				
	266, "Ceiling_RaiseToHighestFloor"				
	267, "Ceiling_ToFloorInstant"				
	268, "Ceiling_RaiseByTexture"				
	269, "Ceiling_LowerByTexture"				
	270, "Stairs_BuildDownDoom"				
	271, "Stairs_BuildUpDoomSync"				
	272, "Stairs_BuildDownDoomSync"				
	273, "Stairs_BuildUpDoomCrush"				
	274, "Door_AnimatedClose"				
	275, "Floor_Stop"				
	276, "Ceiling_Stop"					
	279, "Floor_MoveToValueAndCrush"			
	280, "Ceiling_MoveToValueAndCrush"
}


