We're porting Retail add-ons to Beta, Come Get 'Em

If people don’t like raid frame replacement addons I wonder what they’ll think when they realize Classic is using retail raid frames instead of the horrendous garbage that was the original!

Does it work with the classic API?

Awww, buddy. :frowning:

No, it sure as Hell does not.

The Classic API changes are available here, including widgets, events, CVars and enums.
https://github.com/Ketho/BlizzardInterfaceResources/commit/dfe14662c6aeef9a968daf1609b8b8327e610622

2 Likes

pfUI only works with 1.12 clients and the author of the addon, Shagu, has said multiple times he doesn’t intend on making a Classic version of pfUI.

Dude, this is tremendous! Thanks so much for providing this resource for the add-on authors.

By the way, how does that process work?

Ketho knows the dark arts :eyes: :grinning:

What I would love to know how to do is start in code with a path to the WoW client executable and get to what the interface version is. For example, with the Classic Beta, start with “…\WowB.exe” and get to “11302”. It just so happens that you can do that just formatting the file version in a {major}{minor:00}{build:00} sort of way with the beta, but I’m pretty sure that while retail’s file version is currently 8.1.5.something, the current interface version is “80100”. I suppose I could just maintain some exceptions list somewhere, but it would be nice not to have to that if there’s some other way.

WoWInterface.com has a community of highly knowledgeable and helpful authors plus a great repository of official addons.

There is an addon I use to dump the API which is also located in the repo

I believe in you!

Alright, bud, I took a shot. :wink:
https://www.wowinterface.com/forums/showthread.php?t=57155

is what I’ve been using. A specific diff that compares 8.1.5 to classic, so it’s very easy to find needed changes to fix things.

retail OmniCC and tullaRange do work on classic beta with zero problems.

i second this - please?

i love hearing my peon!

i prefer adibags, but i can deal with bagnon. oh, and dominos - i’ve been using it since before it was dominos. never quite got the hang of bartender.

postal works on the classic beta currently with no errors.

You should be able to paste the following into the website addon.bool.no to create/download a peon addon (it’s what I use so may not be as good or comprehensive as your current but might help fill the void. Not beta so no guarantee, delete if it doesn’t work)

local objectiveComplete = "Sound/Creature/Peon/PeonWhat4.ogg"
local questComplete = "sound/creature/peon/peonbuildingcomplete1.ogg"
local function QuestComplete(index)
	local count = 0
	for i = 1, GetNumQuestLeaderBoards(index) do
		local _, _, finished = GetQuestLogLeaderBoard(i, index)
		if finished then
			count = count + 1
		end
	end
	return count
end

local function QuestGet(self, index)
	self.questIndex = index
	if index > 0 then
		local _, _, _, _, _, _, _, id = GetQuestLogTitle(index)
		self.questId = id
		if id and id > 0 then
			self.completeCount = QuestComplete(index)
		end
	end
end

local function QuestCheck(self, unit)
	if not unit == "player" then return end
	if self.questIndex > 0 then
		local index = self.questIndex
		self.questIndex = 0
		local title, level, _, _, _, complete, daily, id = GetQuestLogTitle(index)
		if id == self.questId then
			if id and id > 0 then
				local objectivesComplete = QuestComplete(index)
				if complete then
					PlaySoundFile(questComplete)
				elseif objectivesComplete > self.completeCount then
					PlaySoundFile(objectiveComplete)
				end
			end
		end
	end
end
local f = CreateFrame("Frame")
f.questIndex = 0
f:SetScript("OnEvent", function(self, event, ...)
	if event == "UNIT_QUEST_LOG_CHANGED" then
		QuestCheck(self, ...)
	elseif event == "QUEST_WATCH_UPDATE" then
		QuestGet(self, ...)
	end
end)

f:RegisterEvent("QUEST_WATCH_UPDATE")
f:RegisterEvent("UNIT_QUEST_LOG_CHANGED")
3 Likes

Any addons that you flat out refuse to port over?

oh wow thanks, I am almost positive neither author is still around.

no joy :O( Well thanks for the effort!