@@ -573,6 +573,88 @@ function InterfaceOptionsDisplayPanelPre
 	end
 end
 
+function InterfaceOptionsDisplayPanelOutlineDropDown_OnEvent (self, event, ...)
+	if ( event == "VARIABLES_LOADED" ) then
+		self.cvar = "Outline";
+
+		local value = GetCVar(self.cvar);
+		self.defaultValue = GetCVarDefault(self.cvar);
+		self.value = value;
+		self.oldValue = value;
+		self.tooltip = OPTION_TOOLTIP_OBJECT_NPC_OUTLINE;
+
+		UIDropDownMenu_SetWidth(self, 140);
+		UIDropDownMenu_Initialize(self, InterfaceOptionsDisplayPanelOutline_Initialize);
+		UIDropDownMenu_SetSelectedValue(self, value);
+
+		self.SetValue = 
+			function (self, value)
+				self.value = value;
+				SetCVar(self.cvar, self.value);
+				UIDropDownMenu_SetSelectedValue(self, self.value);
+			end
+		self.GetValue =
+			function (self)
+				return UIDropDownMenu_GetSelectedValue(self);
+			end
+		self.RefreshValue =
+			function (self)
+				UIDropDownMenu_Initialize(self, InterfaceOptionsDisplayPanelOutline_Initialize);
+				UIDropDownMenu_SetSelectedValue(self, self.value);
+			end
+			
+		self:UnregisterEvent(event);
+	end
+end
+
+function InterfaceOptionsDisplayPanelOutlineDropDown_OnClick(self)
+	InterfaceOptionsDisplayPanelOutlineDropDown:SetValue(self.value);
+end
+
+function InterfaceOptionsDisplayPanelOutline_Initialize()
+	local selectedValue = UIDropDownMenu_GetSelectedValue(InterfaceOptionsDisplayPanelOutlineDropDown);
+	local info = UIDropDownMenu_CreateInfo();
+--[[
+	info.text = OBJECT_NPC_OUTLINE_DISABLED;
+	info.func = InterfaceOptionsDisplayPanelOutlineDropDown_OnClick;
+	info.value = "0";
+	if ( info.value == selectedValue ) then
+		info.checked = 1;
+	else
+		info.checked = nil;
+	end
+	UIDropDownMenu_AddButton(info);
+]]--
+	info.text = OBJECT_NPC_OUTLINE_MODE_ONE;
+	info.func = InterfaceOptionsDisplayPanelOutlineDropDown_OnClick;
+	info.value = "1";
+	if ( info.value == selectedValue ) then
+		info.checked = 1;
+	else
+		info.checked = nil;
+	end
+	UIDropDownMenu_AddButton(info);
+
+	info.text = OBJECT_NPC_OUTLINE_MODE_TWO;
+	info.func = InterfaceOptionsDisplayPanelOutlineDropDown_OnClick;
+	info.value = "2";
+	if ( info.value == selectedValue ) then
+		info.checked = 1;
+	else
+		info.checked = nil;
+	end
+	UIDropDownMenu_AddButton(info);
+
+	info.text = OBJECT_NPC_OUTLINE_MODE_THREE;
+	info.func = InterfaceOptionsDisplayPanelOutlineDropDown_OnClick;
+	info.value = "3";
+	if ( info.value == selectedValue ) then
+		info.checked = 1;
+	else
+		info.checked = nil;
+	end
+	UIDropDownMenu_AddButton(info);
+end
 
 -- [[ Objectives Options Panel ]] --
 
@@ -581,7 +663,7 @@ ObjectivesPanelOptions = {
 	autoQuestProgress = { text = "AUTO_QUEST_PROGRESS_TEXT" },
 	mapQuestDifficulty = { text = "MAP_QUEST_DIFFICULTY_TEXT" },
 	advancedWorldMap = { text = "ADVANCED_WORLD_MAP_TEXT" },
-	watchFrameWidth = { text = "WATCH_FRAME_WIDTH_TEXT" },
+	mapFade = { text = "MAP_FADE_TEXT" },
 }
 
 function InterfaceOptionsObjectivesPanel_OnLoad (self)
@@ -596,6 +678,80 @@ function InterfaceOptionsObjectivesPanel
 	BlizzardOptionsPanel_OnEvent(self, event, ...);
 end
 
+function InterfaceOptionsObjectivesPanelQuestSorting_OnClick(self)
+	InterfaceOptionsObjectivesPanelQuestSorting:SetValue(self.value);
+end
+
+function InterfaceOptionsObjectivesPanelQuestSorting_Initialize()
+	local selectedValue = UIDropDownMenu_GetSelectedValue(InterfaceOptionsObjectivesPanelQuestSorting);
+	local info = UIDropDownMenu_CreateInfo();
+
+	info.text = TRACK_QUEST_PROXIMITY_SORTING;
+	info.func = InterfaceOptionsObjectivesPanelQuestSorting_OnClick;
+	info.value = "proximity";
+	if ( info.value == selectedValue ) then
+		info.checked = 1;
+	else
+		info.checked = nil;
+	end
+	
+	info.tooltipTitle = TRACK_QUEST_PROXIMITY_SORTING;
+	info.tooltipText = OPTION_TOOLTIP_TRACK_QUEST_PROXIMITY_SORTING;
+	UIDropDownMenu_AddButton(info);
+
+	info.text = TRACK_QUEST_TOP_SORTING;
+	info.func = InterfaceOptionsObjectivesPanelQuestSorting_OnClick;
+	info.value = "top";
+	if ( info.value == selectedValue ) then
+		info.checked = 1;
+	else
+		info.checked = nil;
+	end
+	info.tooltipTitle = TRACK_QUEST_TOP_SORTING;
+	info.tooltipText = OPTION_TOOLTIP_TRACK_QUEST_TOP_SORTING;
+	UIDropDownMenu_AddButton(info);
+end
+
+function InterfaceOptionsObjectivesPanelQuestSorting_SetQuestSorting(sortMethod)
+	SetCVar(InterfaceOptionsObjectivesPanelQuestSorting.cvar, sortMethod);
+	UIDropDownMenu_SetSelectedValue(InterfaceOptionsObjectivesPanelQuestSorting, sortMethod);
+end
+
+function InterfaceOptionsObjectivesPanelQuestSorting_OnEvent (self, event, ...)
+	if ( event == "PLAYER_ENTERING_WORLD" ) then
+		self.cvar = "trackQuestSorting";
+
+		local value = GetCVar(self.cvar);
+		self.defaultValue = GetCVarDefault(self.cvar);
+		self.value = value;
+		self.oldValue = value;
+		self.tooltip = _G["OPTION_TOOLTIP_TRACK_QUEST_"..strupper(value)];
+
+		UIDropDownMenu_SetWidth(self, 130);
+		UIDropDownMenu_Initialize(self, InterfaceOptionsObjectivesPanelQuestSorting_Initialize);
+		UIDropDownMenu_SetSelectedValue(self, value);
+		InterfaceOptionsObjectivesPanelQuestSorting_SetQuestSorting(value);
+
+		self.SetValue = 
+			function (self, value)
+				self.value = value;
+				InterfaceOptionsObjectivesPanelQuestSorting_SetQuestSorting(value);
+				self.tooltip = _G["OPTION_TOOLTIP_TRACK_QUEST_"..strupper(value)];
+			end
+		self.GetValue =
+			function (self)
+				return UIDropDownMenu_GetSelectedValue(self);
+			end
+		self.RefreshValue =
+			function (self)
+				UIDropDownMenu_Initialize(self, InterfaceOptionsObjectivesPanelQuestSorting_Initialize);
+				UIDropDownMenu_SetSelectedValue(self, self.value);
+			end
+			
+		self:UnregisterEvent(event);
+	end
+end
+
 -- [[ Social Options Panel ]] --
 
 SocialPanelOptions = {
@@ -1025,6 +1181,7 @@ ActionBarsPanelOptions = {
 	lockActionBars = { text = "LOCK_ACTIONBAR_TEXT" },
 	alwaysShowActionBars = { text = "ALWAYS_SHOW_MULTIBARS_TEXT" },
 	secureAbilityToggle = { text = "SECURE_ABILITY_TOGGLE" },
+	countdownForCooldowns = { text = "COUNTDOWN_FOR_COOLDOWNS_TEXT" },
 }
 
 function InterfaceOptionsActionBarsPanel_OnLoad (self)
@@ -1073,7 +1230,7 @@ function InterfaceOptions_UpdateMultiAct
 		LOCK_ACTIONBAR = nil;
 	end
 
-	SetActionBarToggles(SHOW_MULTI_ACTIONBAR_1, SHOW_MULTI_ACTIONBAR_2, SHOW_MULTI_ACTIONBAR_3, SHOW_MULTI_ACTIONBAR_4, ALWAYS_SHOW_MULTIBARS);
+	SetActionBarToggles(not not SHOW_MULTI_ACTIONBAR_1, not not SHOW_MULTI_ACTIONBAR_2, not not SHOW_MULTI_ACTIONBAR_3, not not SHOW_MULTI_ACTIONBAR_4, not not ALWAYS_SHOW_MULTIBARS);
 	MultiActionBar_Update();
 	UIParent_ManageFramePositions();
 end
@@ -1187,6 +1344,7 @@ NamePanelOptions = {
 	UnitNameEnemyPetName = { text = "UNIT_NAME_ENEMY_PETS" },
 	UnitNameEnemyGuardianName = { text = "UNIT_NAME_ENEMY_GUARDIANS" },
 	UnitNameEnemyTotemName = { text = "UNIT_NAME_ENEMY_TOTEMS" },
+	UnitNameForceHideMinus = { text = "UNIT_NAME_HIDE_MINUS" },
 	
 	nameplateShowFriends = { text = "UNIT_NAMEPLATES_SHOW_FRIENDS" },
 	nameplateShowFriendlyPets = { text = "UNIT_NAMEPLATES_SHOW_FRIENDLY_PETS" },
@@ -1196,20 +1354,24 @@ NamePanelOptions = {
 	nameplateShowEnemyPets = { text = "UNIT_NAMEPLATES_SHOW_ENEMY_PETS" },
 	nameplateShowEnemyGuardians = { text = "UNIT_NAMEPLATES_SHOW_ENEMY_GUARDIANS" },
 	nameplateShowEnemyTotems = { text = "UNIT_NAMEPLATES_SHOW_ENEMY_TOTEMS" },
+	nameplateShowEnemyMinus = { text = "UNIT_NAMEPLATES_SHOW_ENEMY_MINUS" },
 	ShowClassColorInNameplate = { text = "SHOW_CLASS_COLOR_IN_V_KEY" },
 }
 
 function InterfaceOptionsNPCNamesDropDown_OnEvent (self, event, ...)
 	if ( event == "PLAYER_ENTERING_WORLD" ) then
 		local value = "2";
-		if ( GetCVar("UnitNameNPC") == "1" ) then
-			value = "2";
+		if ( GetCVarBool("UnitNameNPC") ) then
+			value = "3";
 			self.tooltip = NPC_NAMES_DROPDOWN_ALL_TOOLTIP;
-		elseif ( GetCVar("UnitNameFriendlySpecialNPCName") == "1" ) then
+		elseif ( GetCVarBool("UnitNameFriendlySpecialNPCName") and GetCVarBool("UnitNameHostleNPC") ) then
+			value = "2";
+			self.tooltip = NPC_NAMES_DROPDOWN_HOSTILE_TOOLTIP;
+		elseif ( GetCVarBool("UnitNameFriendlySpecialNPCName") ) then
 			value = "1";
 			self.tooltip = NPC_NAMES_DROPDOWN_TRACKED_TOOLTIP;
 		else
-			value = "3";
+			value = "4";
 			self.tooltip = NPC_NAMES_DROPDOWN_NONE_TOOLTIP;
 		end
 		self.defaultValue = "1";
@@ -1232,6 +1394,7 @@ function InterfaceOptionsNPCNamesDropDow
 				elseif ( value == "2" ) then
 					SetCVar("UnitNameFriendlySpecialNPCName", "1");
 					SetCVar("UnitNameHostleNPC", "1");
+					SetCVar("UnitNameNPC", "0");
 					self.tooltip = NPC_NAMES_DROPDOWN_HOSTILE_TOOLTIP;
 				elseif ( value == "3" ) then
 					SetCVar("UnitNameFriendlySpecialNPCName", "0");
@@ -1396,6 +1559,7 @@ FCTPanelOptions = {
 	CombatHealingAbsorbSelf = { text = "SHOW_COMBAT_HEALING_ABSORB_SELF" },
 	fctSpellMechanics = { text = "SHOW_TARGET_EFFECTS" },
 	fctSpellMechanicsOther = { text = "SHOW_OTHER_TARGET_EFFECTS" },
+	enablePetBattleCombatText = { text = "SHOW_PETBATTLE_COMBAT_TEXT" },
 }
 
 function BlizzardOptionsPanel_UpdateCombatText ()
@@ -1540,6 +1704,73 @@ function InterfaceOptionsCombatTextPanel
 	UIDropDownMenu_AddButton(info);
 end
 
+function InterfaceOptionsCombatTextPanelTargetModeDropDown_OnEvent (self, event, ...)
+	if ( event == "PLAYER_ENTERING_WORLD" ) then
+		self.cvar = "CombatDamageStyle";
+
+		local value = GetCVar(self.cvar);
+		self.defaultValue = GetCVarDefault(self.cvar);
+		self.oldValue = value;
+		self.value = value;
+		self.tooltip = OPTION_TOOLTIP_COMBAT_TARGET_MODE;
+
+		UIDropDownMenu_SetWidth(self, 110);
+		UIDropDownMenu_Initialize(self, InterfaceOptionsCombatTextPanelTargetModeDropDown_Initialize);
+		UIDropDownMenu_SetSelectedValue(self, value);
+
+		self.SetValue = 
+			function (self, value) 
+				self.value = value;
+				SetCVar(self.cvar, value, self.event);
+				UIDropDownMenu_SetSelectedValue(self, value);
+			end;	
+		self.GetValue =
+			function (self)
+				return UIDropDownMenu_GetSelectedValue(self);
+			end
+		self.RefreshValue =
+			function (self)
+				UIDropDownMenu_Initialize(self, InterfaceOptionsCombatTextPanelTargetModeDropDown_Initialize);
+				UIDropDownMenu_SetSelectedValue(self, self.value);
+			end
+	end
+end
+
+function InterfaceOptionsCombatTextPanelTargetModeDropDown_OnClick(self)
+	InterfaceOptionsCombatTextPanelTargetModeDropDown:SetValue(self.value);
+end
+
+function InterfaceOptionsCombatTextPanelTargetModeDropDown_Initialize(self)
+	local selectedValue = UIDropDownMenu_GetSelectedValue(self);
+	local info = UIDropDownMenu_CreateInfo();
+
+	info.text = COMBAT_TARGET_MODE_NEW;
+	info.func = InterfaceOptionsCombatTextPanelTargetModeDropDown_OnClick;
+	info.value = "1";
+	if ( info.value == selectedValue ) then
+		info.checked = 1;
+	else
+		info.checked = nil;
+	end
+	info.tooltipTitle = COMBAT_TARGET_MODE_NEW;
+	info.tooltipText = OPTION_TOOLTIP_COMBAT_TARGET_MODE_NEW;
+	info.tooltipOnButton = true;
+	UIDropDownMenu_AddButton(info);
+
+	info.text = COMBAT_TARGET_MODE_OLD;
+	info.func = InterfaceOptionsCombatTextPanelTargetModeDropDown_OnClick;
+	info.value = "2";
+	if ( info.value == selectedValue ) then
+		info.checked = 1;
+	else
+		info.checked = nil;
+	end
+	info.tooltipTitle = COMBAT_TARGET_MODE_OLD;
+	info.tooltipText = OPTION_TOOLTIP_COMBAT_TARGET_MODE_OLD;
+	info.tooltipOnButton = true;
+	UIDropDownMenu_AddButton(info);
+end
+
 -- [[ Status Text Options Panel ]] --
 
 StatusTextPanelOptions = {