diff data.lua @ 82:cf1da2654dc6 v1.0beta3

Expand headers when needed. Not heavily tested, could fail on a slow computer...
author contrebasse
date Sun, 15 May 2011 09:23:15 +0200
parents e837f5681fbb
children 10a6078e132f
line wrap: on
line diff
--- a/data.lua	Sun May 15 01:35:38 2011 +0200
+++ b/data.lua	Sun May 15 09:23:15 2011 +0200
@@ -28,6 +28,10 @@
 
 	-- the function who scans the tradeskill
 	function A:ScanSimpleRecipes()
+		-- Do not scan while we modify the tradeskill display
+		if A.blockScan then return end
+
+
 		-- Check if the tradeskill is loaded
 		-- Has to have recipes and begin with a header
 		local NRecipes = GetNumTradeSkills()
@@ -54,11 +58,15 @@
 			end
 		end
 
-		for i = 2,NRecipes do -- The first one is a header
+		local lastHeader
+		for i = 1,NRecipes do
 			-- skillName, skillType, numAvailable, isExpanded, serviceType, numSkillUps = GetTradeSkillInfo(index)
 			-- serviceType is nil if the recipe creates an item
-			local _, skillType, _, _, serviceType = GetTradeSkillInfo(i)
-			if skillType and skillType ~= "header" and serviceType==nil then
+			local skillName, skillType, _, _, serviceType = GetTradeSkillInfo(i)
+			if skillType and skillType == "header" then
+				lastHeader = skillName
+
+			elseif skillType and skillType ~= "header" and serviceType==nil then
 				-- item ID
 				local itemID = A.link2ID(GetTradeSkillItemLink(i))
 
@@ -102,6 +110,7 @@
 						local spell = {reagentID,reagentCount,minMade,maxMade}
 						spell.spellID = tradeskillID
 						spell.spellLink = recipeLink
+						spell.header = lastHeader
 						spell.manyReagents = GetTradeSkillNumReagents(i)>1
 						tinsert(A.data[itemID],spell)
 					end