(16 Kb)
Updated: 08-29-17 04:51 AM
File Info
Shadows of Argus (7.3.0)
Updated:08-29-17 04:51 AM
Categories:Graphic UI Mods, Unit Mods

Adapt - Almost-Default Animated Portraits  Popular! (More than 5000 hits)

Version: 2.2.5
by: Gello [More]

This small addon animates the static portraits of (nearly) any UI.

When the UI goes to draw a static portrait, this addon instead draws an animated model to the dimensions of the intended portrait.

Adapt is meant to be configuration-free (especially if you use the default unit frames), but there are some options you can change in the Interface Options Panel.

__ FAQ __

Q: Will it work with my custom unit frames?
A: If your existing unit frames are static portraits and not models already, yes it should. The universal approach this addon takes will attempt to convert any 2d portrait texture into a 3d model (if it's bigger than 30 pixels). However, if Adapt already came with the unit frame addon or UI compilation you use, you may need to get an updated version of that addon/compilation if it made any tweaks to portraits/Adapt.

Q: It's not working or there's a bug.
A: I'd love to hear about it in the comments. Please mention what Unit Frame addon or UI compilation you use.

Q: I use circular unit frames (like default), but when I look closely the model cut off as a square! Can the model be fit into a true circle?
A: Sadly, it can't. Addons have no genuine way to mask models. For circular unit frames the model is shrunk to fit within the circle.

Q: What's an "anonymous portrait"?
A: When this addon was first written in 2006, practically everyone named all their textures(portraits). Nowadays it's more common for textures to go unnamed as a courtesy to the UI ecosystem. For anonymous portraits you can only turn them all on or off, unlike named portraits which you can selectively disable.

Q: I want to disable my default focus frame from animating, but I don't see it in the options list.
A: The list in options is only of portraits it's encountered in that session (and those already disabled). Adapt has no awareness of what frames it will be asked to draw until it encounters them. So in this case you can /focus yourself and then when you go back into options the focus frame should be listed so you can disable it.

08/29/2017 version 2.2.5
- toc update for 7.3 patch

03/28/2016 version 2.2.4
- toc update for 7.2 patch

10/24/2016 version 2.2.3
- toc update for 7.1 patch

07/03/2016 version 2.2.2
- Also workaround for UNIT_MODEL_CHANGED not firing when a player unghosts, causing their model to remain in ghostly form.

07/03/2016 version 2.2.1
- Workaround for UNIT_MODEL_CHANGED not firing when a warrior finishes "leap" out of Skyhold, causing fiery/explody model to continue.

05/14/2016 version 2.2.0
- toc update for 7.0 Legion Beta
- Fix for first render not working on a new model

01/21/2016 version 2.1.0
- Rewrote options panel.
- Restructured settings (some with non-standard settings may need to set them back).
- Added new option "With Overlay Mask" to add a circular texture over models to soften the corners and make them more round.
- Added new option "Smaller Portrait" to bring round portraits in even further.
- "Torso Portrait" mode reworked: model turned to "default rotation" and zoomed in just a bit for a more natural view.
- "Full Model" mode zoomed in a bit.
- All animations now (theoretically) use a standing animation without idle animations (such as undead going off camera).
- Fixed camera issue when changing the UI scale or display size.

2.0.17 01/15/16 brought corners in slightly for "circle" portraits
2.0.16 06/23/15 toc update for 6.2 patch
2.0.15 02/24/15 toc update for 6.1 patch
2.0.14 10/30/14 fix for frames being removed from blacklist staying on blacklist
2.0.13 10/29/14 fix for achievement comparison portrait
2.0.12 10/14/14 toc update for 6.0 patch
2.0.11 4/9/14 torso portrait option
2.0.10 10/27/13 fix for blacklisted portraits belonging to an addon that later gets disabled
2.0.9 09/11/13 toc update for 5.4 patch
2.0.8 05/21/13 toc update for 5.3 patch
2.0.7 04/04/13 added blacklist cache, removed debug code
2.0.6 03/30/13 rewrite
- portraits indexed by the texture itself, not the texture name
- instead of a frame with back and model drawn off it, back and model drawn straight to parent of original texture.
- useParentLevel inherited by models
- setCamera replaced with SetPortraitZoom
- instead of reacting to every SetPortraitTexture, a SetUnit done only if the GUID changed. At the same time, if a UNIT_MODEL_CHANGED happens, every portrait of that unit will be updated at a lower priority update.
- rebuilt options frame
1.92 08/28/12 fixed _ tainting
1.91 08/27/12 5.0 (Mists of Pandaria) update
1.9 09/02/10 4.0 (Cataclysm) support, TargetFrameToTPortrait defaulted DontUse
1.82 10/08/08 scroll fix, /adapt goes to options panel
1.81 08/08/08 updated for WotLK (toc, this->self)
1.8 04/12/08 moved options to new interface options, added full model option
1.71 01/12/07 fixed initialization
1.7 01/11/07 fixed taint issue with default ToT
1.6 10/04/06 edits for lua 5.1
1.5 08/21/06 changed DressUpModel to PlayerModel, moved SetCamera OnUpdate to OnShow
1.4 06/22/06 disabled mouse on portraits, added known frames to /adapt list
1.3 06/11/06 /adapt animate/unanimate options, visibility fix by Lafiell, attempt at more flexibility with frameStrata
1.2 04/01/06 slash options added for circle/square portraits and background
1.0 03/19/06 initial release
Optional Files (0)

Archived Files (20)
File Name
03-28-17 09:29 AM
10-25-16 06:12 AM
07-19-16 08:29 AM
01-21-16 09:16 PM
01-15-16 12:12 PM
06-23-15 07:51 AM
02-24-15 06:17 AM
10-29-14 11:04 PM
10-29-14 09:53 AM
10-14-14 06:28 AM
04-09-14 07:31 PM
10-27-13 03:21 PM
09-11-13 10:12 AM
05-21-13 11:18 AM
04-04-13 11:32 AM
03-29-13 11:24 PM
08-28-12 04:36 PM
08-27-12 08:34 PM
01-30-12 06:53 AM
10-14-08 04:43 AM

Post A Reply Comment Options
Unread 07-05-09, 09:00 AM  
A Kobold Labourer

Forum posts: 0
File comments: 2
Uploads: 0
flip target portrait


Is there any possibility to flip the target portrait so that they look at each other if I target myself?

Report comment to moderator  
Reply With Quote
Unread 07-01-09, 06:04 AM  
A Molten Giant
Slakah's Avatar
AddOn Author - Click to view AddOns

Forum posts: 863
File comments: 146
Uploads: 26
For anyone who wants to fix the stuttery Target of Target model, just go into the Adapt.lua file with a text editor and replace.


local guid = UnitGUID(unit)
if dummymodel:GetModel() ~= m:GetModel() or self.oldguid ~= guid then
        m.oldguid = guid
and add
local dummymodel = CreateFrame("PlayerModel")
somewhere at the top of the file.
Last edited by Slakah : 07-02-09 at 09:55 AM.
Report comment to moderator  
Reply With Quote
Unread 02-23-09, 08:27 AM  
A Defias Bandit
AddOn Author - Click to view AddOns

Forum posts: 2
File comments: 52
Uploads: 4
Hei Gello,

this Addon is really cute.
Thumps up ^^
Report comment to moderator  
Reply With Quote
Unread 01-25-09, 08:46 AM  
A Deviate Faerie Dragon
Sitanel's Avatar

Forum posts: 19
File comments: 6
Uploads: 0
Male Undead

"I have an undead male mage as my main and I love this mod, except when he slouches halfway offscreen."

To my knowledge this isn't an issue with Adapt, rather an issue with Blizzards default viewpoint for all models (as far as I'm aware all unit frames that use 3D models have this problem) the same goes for (for example) all NPCs facing to the right and all players facing to the left.

On a side note I've noticed a problem with Adapt, when you target one of the Vrykul (like the "Ymirjar" in Icecrown) the FPS plummets down so low the game is virtually unplayable :S I've tried it with other 3D unit frame mods (Pitbull and GUF) and the problem doesn't occur. Is that just me? :S

Anyways, thanks for the great mod It's excellent for those using an "Almost-Default-UI :P
Report comment to moderator  
Reply With Quote
Unread 01-23-09, 03:34 AM  
A Defias Bandit

Forum posts: 1
File comments: 1
Uploads: 0
Same question as Sok down there. I have an undead male mage as my main and I love this mod, except when he slouches halfway offscreen.

Is there anyway to compensate for the slouching the undead men do? (Not sure if the undead women suffer from the same spinal issues as the men.)
Report comment to moderator  
Reply With Quote
Unread 01-11-09, 10:48 PM  
A Deviate Faerie Dragon
Hevanus's Avatar

Forum posts: 15
File comments: 204
Uploads: 0

- I get errors when I open and try to use the Adapt options menu. Edit: Deleting my Adapt savedvariables fixed this for me.

- Portraits appear behind whatever frame they're anchored to. May be related to Skinner, but the problem went away when I commented out the SetFrameLevel(1) call in Adapt (not sure why it's doing that anyways).
Last edited by Hevanus : 01-11-09 at 11:04 PM.
Report comment to moderator  
Reply With Quote
Unread 11-14-08, 08:32 AM  
An Aku'mai Servant
Aesir's Avatar
AddOn Author - Click to view AddOns

Forum posts: 30
File comments: 143
Uploads: 1
UPDATE: I traced this issue to SpartanUI.

It runs this code:
    if (Adapt) then
        Adapt_Settings.Shape = "SQUARE"
        Adapt_Settings.Back = Adapt_Settings.Back=="OFF"
Commenting out that block results in the value being saved correctly.

Original post follows:

Avatar background "transparent" setting does not save session-to-session

I found that Adapt doesn't save the setting for background transparency on the avatar portrait in the unit frame. Since reporting that bug, I checked my Adapt SV:

Saved Variables - Adapt.lua:
Adapt_Settings = {
    ["DontUse"] = {
    ["Shape"] = "SQUARE",
    ["Back"] = false,
Back is set false, but the code appears to be looking for ON or OFF. Need to trace through and find out all the places where "Back" is defined and assigned values. Then determine if you want the function return or value to be ON/OFF or TRUE/FALSE.

Likely places to check to confirm you're getting or setting the desired value include:
Adapt.lua        45    Back = "ON",        -- "ON" or "OFF" whether background shows
Adapt.lua        130    frame.backLayer = frame:CreateTexture(modelName.."Back","BACKGROUND")
Adapt.lua        135    if Adapt_Settings.Back=="OFF" then
Adapt.lua        166    local back = Adapt.Textures[textureName].backLayer
Adapt.lua        173    if Adapt_Settings.Back=="OFF" then
Adapt.lua        194    if Adapt_Settings.Back=="ON" then
Adapt.lua        200    AdaptOptionsCheckButtonTransparent:SetChecked((Adapt_Settings.Back=="OFF") and 1 or nil)
Adapt.lua        296    Adapt_Settings.Back = AdaptOptionsCheckButtonTransparent:GetChecked() and "OFF" or "ON"
Adapt.lua        352    Adapt.OldSettings.Back = Adapt_Settings.Back
Adapt.lua        373    Adapt_Settings.Back = Adapt.OldSettings.Back
HTH (P.S.: My money is on line 200.)

As a temporary work-around, I'm going to modify the SV value by hand and then avoid entering the Adapt configuration panel (so it doesn't reset the incorrect value).
-- ęsir
Last edited by Aesir : 11-20-08 at 06:59 PM.
Report comment to moderator  
Reply With Quote
Unread 10-23-08, 02:32 AM  
A Defias Bandit

Forum posts: 3
File comments: 5
Uploads: 0
If you use a non default UI Scale it seems to mess things up a bit, is there any way i can move the 3d models back a bit? They seem to be clipping with the frame a bit, ie http://i35.tinypic.com/10yl5rm.jpg

Seems to work ok with "Full model" ticked though. But id rather have the default 3d portrait
Report comment to moderator  
Reply With Quote
Unread 10-17-08, 03:10 AM  
A Defias Bandit
AddOn Author - Click to view AddOns

Forum posts: 2
File comments: 104
Uploads: 1
class icons

an option to put the class icons in the frame instead of the 3d,2d option would be nifty
Report comment to moderator  
Reply With Quote
Unread 05-27-08, 06:45 PM  
A Molten Giant
Lombra's Avatar
AddOn Author - Click to view AddOns

Forum posts: 554
File comments: 271
Uploads: 26
Could you add an option to make the background black when not using the transparent option? (instead of class coloured)

Forgive me if this is in the latest version already, can't test it for a while.
Grab your sword and fight the Horde!
Report comment to moderator  
Reply With Quote
Unread 04-13-08, 05:11 AM  
A Murloc Raider
chimorra's Avatar

Forum posts: 6
File comments: 18
Uploads: 0
Thanks alot

Thanks alot for this i think this is the best unit frame addon ever simple and easy keep it up
Report comment to moderator  
Reply With Quote
Unread 04-13-08, 02:25 AM  
A Deviate Faerie Dragon
IRID1UM's Avatar

Forum posts: 12
File comments: 92
Uploads: 0
thanks for updating!
Report comment to moderator  
Reply With Quote
Unread 09-04-07, 02:39 AM  
A Fallenroot Satyr

Forum posts: 25
File comments: 7
Uploads: 0
For some reason the model animations skip around when using the Target of Target in CT Unitframes.
Report comment to moderator  
Reply With Quote
Unread 04-24-07, 05:31 AM  
A Molten Giant
Lombra's Avatar
AddOn Author - Click to view AddOns

Forum posts: 554
File comments: 271
Uploads: 26

However, there is apparently this new function
* NEW - Frame:HookScript("name", function) - Exactly equivalent to hooksecurefunc(), but usable with frame script handlers. (Note that like hooksecurefunc(), this is not intended as a general hooking replacement, but to allow hooking of secure frame handlers.)
dunno if it can solve this anyhow, I tried replacing that hooksecurefunc() line with this

AdaptFrame:HookScript("SetPortraitTexture", Adapt.newSetPortraitTexture)

but is just said AdaptFrame has no SetPortraitTexture function. If anyone with some more knowledge would look into it
Grab your sword and fight the Horde!
Report comment to moderator  
Reply With Quote
Unread 04-18-07, 08:13 AM  
A Pyroguard Emberseer
Dridzt's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1251
File comments: 781
Uploads: 82
Adapt 1.7.1 crashes the PTR 2.1.0 client (on loading).

Only happens after the 1st ptr patch: client build 6592 (and onward?)
PTR = Adapt works fine.
PTR = client crashes.
Tested with Adapt loaded only (no other addons).
And adding Adapt to other addons.
WoW client crashes with a "fatal exception" error at the end of the loading progress bar.

Edit: Followup.
1. comment out hooksecurefunc("SetPortraitTexture",Adapt.newSetPortraitTexture)
2. enter world normally.
3. alt-tab, edit the hook back in.
4. ReloadUI.
Adapt works ok... (?)
Edit: Followup #2.
Changing this:RegisterEvent("PLAYER_LOGIN") to
and moving hooksecurefunc("SetPortraitTexture",Adapt.newSetPortraitTexture)
from .OnLoad() to .OnEvent() stops the client crashing and Adapt seems to be working but still occasionally causes "fatal exception" type errors to the client.

This is obviously not a bug report, Adapt works great on the current Live Realms.
Just a little advance notice for the future
Last edited by Dridzt : 04-21-07 at 06:01 AM.
Report comment to moderator  
Reply With Quote
Post A Reply

Category Jump: