Thread Tools Display Modes
12-09-22, 10:51 AM   #1
AeroMaxxD
An Aku'mai Servant
Join Date: Dec 2022
Posts: 33
Couldn't find frame parent: WorldMapFrameAreaFrame

Does anyone know if these frames "WorldMapFrameAreaFrame" and "WorldMapFrameAreaLabel" existed around game version 9.0.1 appreciate this was a long time ago.

Couldn't find frame parent: WorldMapFrameAreaFrame
Couldn't find relative frame: WorldMapFrameAreaLabel

But updating an addon to work with game version 10.0.0.2 and this seems to be the last stumbling block.

If I just ignore it, the addon appears to work ok despite the error, but would still like to fix it if I can.

Last edited by AeroMaxxD : 12-09-22 at 10:53 AM.
  Reply With Quote
12-09-22, 11:47 AM   #2
Xrystal
nUI Maintainer
 
Xrystal's Avatar
Premium Member
AddOn Author - Click to view addons
Join Date: Feb 2006
Posts: 5,892
Try running the game without the addon to identify the area of the default frame is what you want. Use /fstack and hover over that frame to find the name of the frames underneath the mouse.

I've taken a look at the WorldMapFrame xml layout and nothing remotely similar to those names exist now.

https://www.townlong-yak.com/framexm...d_WorldMap.xml

But doing a compare to 9.0.1 and that file hasn't changed. And very little has changed in the lua file for it.

My suggestion above may be the only way you can identify what you are looking for. Unless someone knows exactly what you are talking about and can help you
__________________
  Reply With Quote
12-09-22, 12:18 PM   #3
AeroMaxxD
An Aku'mai Servant
Join Date: Dec 2022
Posts: 33
Thanks, for the response I didn't know about the /fstack command, my LUA 5.1 reference book is in the post somewhere, but postage strikes here so it's not arrived yet!

Maybe this picture would help?
https://www.curseforge.com/wow/addon...ne/screenshots

The code below appears to be the issue. The LUA code is below that. I believe it's trying to write zone information when you hover over an area on the world map. Adding the name of the instances and their levels in that zone.

Code:
<!-- Map Text -->
<Frame name="TRZ_WorldMap_Frame" parent="WorldMapFrameAreaFrame">
<Scripts>
<OnUpdate>
TRZ_WorldMapButton_OnUpdate(arg1);
</OnUpdate>
</Scripts>
<Layers>
<Layer level="OVERLAY">
<FontString name="TRZ_WorldMap_Text" inherits="GameFontNormalLargeOutline" outline="THICK" virtual="true">
<Anchors>
<Anchor point="TOP" relativeTo="WorldMapFrameAreaLabel" relativePoint="BOTTOM">
<Offset>
<AbsDimension x="0" y="-5"/>
</Offset>
</Anchor>
</Anchors>
</FontString>
</Layer>
</Layers>
</Frame>
The function below is referenced in the XML file

Code:
function TRZ_WorldMapButton_OnUpdate(arg1)
	local player_level = UnitLevel("player");
	local zoneColor;
	local wZone;
	local wZone2;
	local zoneText="";
	if (WorldMapFrame.areaName ~= nil) then
		wZone=LT:GetMapNameByIDAlt(WorldMapFrame:GetMapID());
		-- Instance display
		if (WorldMapFrameAreaPetLevels:GetText()) then
			TRZ_WorldMap_Text:SetPoint("TOP", WorldMapFrameAreaPetLevels, "BOTTOM");
		elseif (WorldMapFrameAreaDescription:GetText()) then
			TRZ_WorldMap_Text:SetPoint("TOP", WorldMapFrameAreaDescription, "BOTTOM");
		else
			TRZ_WorldMap_Text:SetPoint("TOP", WorldMapFrameAreaLabel, "BOTTOM");
		end
		if ( LT:DoesZoneHaveInstances(wZone) == true ) then
			local instance;
			zoneText = TRZ_NORMAL .. TRZ_TOOLTIP_CINSTANCES .. "\n" .. TRZ_FONT_OFF;
			for instance in LT:IterateZoneInstances(wZone) do
				zoneText = zoneText .. TRZ_GetInstanceText(instance, true) .. "\n";
			end
		end
		if (zoneText ~= nil) then
			TRZ_WorldMap_Text:SetText(zoneText);
		else
			TRZ_WorldMap_Text:SetText("");
		end
	else
		TRZ_WorldMap_Text:SetText("");
	end

	if (WorldMapFrame.poiHighlight) then
	    wZone2=WorldMapFrameAreaLabel:GetText();
		if (not LT:IsZone(wZone2)) then
			wZone2=WorldMapFrame.areaName;
		end
		wZone2=LT:GetUniqueZoneNameForLookup(wZone2, WorldMapFrame:GetMapID());	-- Fixes issue retrieving instances from newer zones that share a name with older zones.
		if (wZone ~= wZone2) then
			if (LT:IsZone(wZone2)) then
				if (LT:GetType(wZone2) == "Zone") then
					if ( LT:DoesZoneHaveInstances(wZone2) == true ) then
						if (zoneText ~= nil) then
							zoneText = zoneText .. TRZ_NORMAL .. TRZ_TOOLTIP_RINSTANCES .. "\n" .. TRZ_FONT_OFF;
						else
							zoneText = TRZ_NORMAL .. TRZ_TOOLTIP_RINSTANCES .. "\n" .. TRZ_FONT_OFF;
						end
						local instance;
						for instance in LT:IterateZoneInstances(wZone2) do
							zoneText = zoneText .. TRZ_GetInstanceText(instance, true) .. "\n";
						end
					end
					if (zoneText ~= nil) then
						TRZ_WorldMap_Text:SetText(zoneText);
					else
						TRZ_WorldMap_Text:SetText("");
					end
				end
			end
		end
	end
end

Last edited by AeroMaxxD : 12-09-22 at 12:21 PM.
  Reply With Quote
12-10-22, 01:23 PM   #4
Xrystal
nUI Maintainer
 
Xrystal's Avatar
Premium Member
AddOn Author - Click to view addons
Join Date: Feb 2006
Posts: 5,892
It looks like this frame name never existed in Blizzard. I went back to 8.0.1 and the world map xml hasn't changed. Maybe it is something in Titan Panel. A quick google for the frame name came up with only Titan Panel related comments.

Correction:
It looks like the world map has been changed enough that the name and functionality is different from what it was in 9.0.1 ..

The actual xml with those frames in is https://www.townlong-yak.com/framexm...taProvider.xml

And this template is used in the lua file... and the reason it can't find the frame ? The frame that uses it isn't named.
https://www.townlong-yak.com/framexm...Provider.lua#8

And this appears to be where the World Map adds the data provider for the labels.
https://www.townlong-yak.com/framexm...rldMap.lua#162

First guess ( as I haven't played with map stuff ) is that you need to see if WorldMapFrame.Label returns the same info as the old WorldMapFrameAreaLabel did. The rest of the information is in the first xml file I linked as keys .. so Label.Name and Label.Description. The question is whether self is referencing the WorldMapFrame or not.
__________________

Last edited by Xrystal : 12-10-22 at 01:41 PM.
  Reply With Quote

WoWInterface » AddOns, Compilations, Macros » AddOn Help/Support » Couldn't find frame parent: WorldMapFrameAreaFrame

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off