Brues 2b72ad963b Load pfUI through ClassicAPI's flavor TOCs
ClassicAPI redirects the read of pfUI\pfUI.toc to a flavored file whenever
the DLL is installed, so which TOC the client opens already answers whether
ClassicAPI is there. Split the manifest three ways and let that do the work:

  pfUI.toc             fallback, reached only when ClassicAPI is missing;
                       loads API_Check.lua and nothing else
  pfUI_ClassicAPI.toc  full addon, every non-Turtle client
  pfUI_Turtle.toc      full addon plus init\turtle.xml, on Turtle

The fallback TOC declares no SavedVariables. It used to, while API_Check.lua
reset pfUI_profiles to an empty table on the disabled path -- which truncated
the player's profiles on logout.

With the missing-DLL case handled by TOC selection, API_Check.lua drops the
null object stub that kept the other ~140 files quiet, along with
pfUI_disabled and the now unreachable early return in pfUI.lua. It keeps the
version gate, which still matters: the flavor redirect landed in ClassicAPI
v1.11.0, below the v1.13.1 pfUI needs, so an old DLL still gets served a
flavor TOC. pfUI.lua also loses a verbatim duplicate of the whole check.

Turtle-only files move to init\turtle.xml: modules\turtle-wow.lua (its
TURTLE_WOW_VERSION guard is now redundant) and the lft, turtle_shop,
barbershop, transmog and ebc skins. turtle-wow registers last instead of
75th of 84; the only ordering it relies on is pfUI.chat, registered 8th.

pfSellData moves to env\selldata.lua, listed only in pfUI_ClassicAPI.toc,
since turtle-wow.lua replaces the table wholesale on Turtle. env\tables.lua
keeps an empty declaration so sellvalue.lua has something to index when the
turtle-wow module is disabled.

The release workflow pinned PFUI_CLASSIC_API_LATEST in pfUI.lua, which has
not held that constant since it moved to API_Check.lua, so the pin was
silently doing nothing. It also switches to brues-code/packager@vCAPI, which
recognizes the _ClassicAPI and _Turtle suffixes and applies the TOC build
type filters to them.
2026-09-03 13:52:16 -05:00
2026-09-03 11:51:07 -05:00
2026-05-31 12:56:30 -05:00
2026-08-24 11:07:37 -05:00
2026-03-24 02:37:08 +01:00
2026-09-02 10:26:28 -05:00
2021-01-01 14:36:27 +01:00

pfUI - ClassicAPI Edition

Octo WoW ClassicAPI Nampower SuperWoW UnitXP

A pfUI fork specifically optimized for ClassicAPI on Octo WoW

This version includes significant performance improvements and DLL-enhanced features.

Installation

  1. Download Latest Version
  2. Unpack the Zip file
  3. Copy "pfUI" into Wow-Directory\Interface\AddOns
  4. Restart Wow

DLL Enhancements

Since pfUI 6.0.0 includes integrations with client-side DLLs for enhanced functionality. These DLLs are permitted on Octo WoW:

ClassicAPI

Provides:

  • C_NamePlate - Event-driven nameplates (no more per-frame WorldFrame scanning) with real per-plate unit tokens and GUIDs
  • C_UnitAuras - Replaces over 3k lines of hand-rolled aura tracking
  • C_Spell - Replaces thousands of hardcoded spell names for each locale and powers castbar
  • Real cast bars - Actual cast/channel timing, spellID and interrupt state for any unit (C_Spell.UnitCastingInfo)
  • Focus - A genuine focus unit plus /focus and /clearfocus (FocusUnit / ClearFocus)
  • C_EquipmentSet - Full Equipment Manager with GUID-tracked gear sets (tells apart duplicate/enchanted items)
  • Instant Bag Sorting - C_Container.MoveItem / SwapItems instead of cursor pickup/drop
  • Sell junk in one call - C_MerchantFrame.GetNumJunkItems / SellAllJunkItems
  • Real item data - C_Item counts, quality, sell price and item info by ID
  • GUID-based targeting - Nameplates, mouseover and focus resolve by GUID, not by name text
  • Faster, safer profile sharing - Engine-side serialize/compress/base64 via C_EncodingUtil
  • C_Timer - After / NewTicker replacing hand-rolled OnUpdate throttles
  • Feign death, shapeshift and quest-item detection via real API calls
  • Mouseover Unit Frames
  • Click-casting
  • Loot Roll History (/loothistory)
  • New item highlighting
  • Plenty other functions

Nampower

Provides:

  • Spell queue indicator
  • GCD indicator

SuperWoW

Provides:

  • Tracks party/raid units on the minimap

UnitXP_SP3

Provides:

  • Line of Sight detection
  • Behind detection
  • Accurate distance calculations
  • OS notifications

Use /pfdll in-game to check which DLLs are detected.

Commands

/pfui         Open the configuration GUI
/pfdll        Show DLL detection status (SuperWoW, Nampower, UnitXP)
/pfbehind     Test Behind/LOS detection on current target
/clickthrough Toggle clickthrough mode (or /ct)
/share        Open the configuration import/export dialog
/gm           Open the ticket Dialog
/rl           Reload the whole UI
/farm         Toggles the Farm-Mode
/pfcast       Same as /cast but for mouseover units
/focus        Creates a Focus-Frame for the current target
/castfocus    Same as /cast but for focus frame
/clearfocus   Clears the Focus-Frame
/swapfocus    Toggle Focus and Target-Frame
/pftest       Toggle pfUI Unitframe Test Mode
/abp          Addon Button Panel
/loothistory  Show Loot Roll History

Languages

pfUI supports and contains language specific code for the following gameclients.

  • English (enUS)
  • Korean (koKR)
  • French (frFR)
  • German (deDE)
  • Chinese (zhCN)
  • Spanish (esES)
  • Russian (ruRU)

Plugins

FAQ

What does "pfUI" stand for?
The term "pfui!" is german and simply stands for "pooh!", because I'm not a big fan of creating configuration UI's, especially not via the Wow-API (you might have noticed that in ShaguUI).

How can I donate?
You can buy me a coffee if you'd like

How do I report a Bug?
Please provide as much information as possible in the Bugtracker. If there is an error message, provide the full content of it. Just telling that "there is an error" won't help any of us. Please consider adding additional information such as: since when did you got the error, does it still happen using a clean configuration, what other addons are loaded and which version you're running. When playing with a non-english client, the language might be relevant too. If possible, explain how people can reproduce the issue.

Where is the happiness indicator for pets?
The pet happiness is shown as the color of your pet's frame. Depending on your skin, this can either be the text or the background color of your pet's healthbar:

  • Green = Happy
  • Yellow = Content
  • Red = Unhappy

Since version 4.0.7 there is also an additional icon that can be enabled from the pet unit frame options.

Can I use Clique with pfUI?
This addon already includes support for clickcasting. If you still want to make use of clique, all pfUI's unitframes are already compatible to Clique-TBC. For Vanilla, a pfUI compatible version can be found Here. If you want to keep your current version of Clique, you'll have to apply this Patch.

Where is the Experience Bar?
The experience bar shows up on mouseover and whenever you gain experience, next to left chatframe by default. There's also an option to make it stay visible all the time.

How do I show the Damage- and Threatmeter Dock?
If you enabled the "dock"-feature for your external (third-party) meters such as DPSMate or KTM, then you'll be able to toggle between them and the Right Chat by clicking on the ">" symbol on the bottom-right panel.

Why is my chat always resetting to only 3 lines of text?
This happens if "Simple Chat" is enabled in blizzards interface settings (Advanced Options). Paste the following command into your chat to disable that option: /run SIMPLE_CHAT="0"; pfUI.chat.SetupPositions(); ReloadUI()

How can I enable mouseover cast?
On Vanilla, create a macro with "/pfcast SPELLNAME". If you also want to see the cooldown, You might want to add "/run if nil then CastSpellByName("SPELLNAME") end" on top of the macro.

Everything from scratch?! Are you insane?
Most probably, yes.


🤝 Credits & Acknowledgments

  • Shagu - Original pfUI creator (https://github.com/shagu/pfUI)
  • me0wg4ming - pfUI fork maintainer and Turtle WoW enhancements
  • jrc13245 - Nampower, UnitXP, and BGScore module integration (https://github.com/jrc13245/)
  • SuperWoW Team - SuperWoW framework development
  • avitasia - Nampower DLL development
  • konaka - UnitXP_SP3 DLL development
  • Turtle WoW Team - For the amazing Vanilla+ experience
  • Community - Bug reports, feature suggestions, and testing

📄 License

Same as original pfUI - free to use and modify.


S
Description
Requires ClassicAPI
Readme MIT
17 MiB
Languages
Lua 100%