• 0

    posted a message on Grid2 - What it is, and what it's not
    Quote from jokeyrhyme
    Will suitable handling of vehicles (as the Blizzard raid frames do) be eventually looked at? Or is this the purview of an additional module?

    I was using Grid2 with pets enabled during the Malygos encounter recently, and 25 pet frames appeared as we entered phase 3. It would be wonderful if Grid2 behaved exactly like the otherwise awful Blizzard raid frames at least in this situation. The player health levels displayed in Grid2 ought to be that of their vehicles, and on-click and mouse-over targetting should be directed to their vehicles.

    I am fully aware that you don't advise we use Grid2 just now. I was just wondering if this is something we can look forward to or not. I suppose the SecureHandlers issues may also prevent this from ever being perfect, too.


    I'm trying to get Blizzard to make it possible for unitframe addons to be able to behave like the default interface with regards to vehicles. You're not going to see any unitframe addon do that until Blizzard makes it possible.
    Posted in: Grid & Grid2
  • 0

    posted a message on Vehicle support
    I've posted over in the UI Suggestions thread on the official forums.

    http://forums.worldofwarcraft.com/thread.html?topicId=5784275032&postId=132744383911&sid=1#168
    Posted in: Lua Code Discussion
  • 0

    posted a message on Vehicle support
    I'm not quite sure how to get a VehicleWatch and the SecureGroupHeaders to play nicely since both would want to set the unit of the frame. Any suggestions would be welcome.
    Posted in: Lua Code Discussion
  • 0

    posted a message on GridLayoutPlus
    That file was marked as 'beta' so people shouldn't have been grabbing it!
    Posted in: Unit Frames
  • 0

    posted a message on Grid
    Due to the increased number of situations where players encounter multiple party/raid members (pets really) with the same name (The Occulus, Malygos, Wintergrasp), I've started work on converting Grid from storing data based on unit name to unit guid.

    I'm also taking this opportunity to make a few more changes to Grid, namely saving layout settings for each party type (solo, group, bg, arena, raid) and rewriting the aggro status to use the new threat functions.

    What does this mean for you?
    • Units with the same name can be differentiated but not all statuses will be able to do so (notably the incoming heals).
    • Any existing status modules you have (GridStatusHots, GridStatusRaidDebuff, etc.) will not work until they are updated.
    • Any existing dynamic layout modules you have will probably not work.

    I need people to test these changes in Occulus and Malygos. If you can live without any extra status modules and you can provide quality bug reports with screenshots and stack traces, you are invited to track the new branch at svn://svn.wowace.com/wow/grid/mainline/branches/unitguid

    If you decide to test the unitguid branch, please remember:
    • This is a development branch and that it may break in strange and exciting ways, so keep a copy of the stable Grid around.
    • All bug reports must be submitted via the wowace project page: http://www.wowace.com/projects/grid/tickets/
    Posted in: Grid & Grid2
  • 0

    posted a message on Grid
    Quote from niennasill
    All auto-layout plugins stop working. any ideas ? im currently use GridLayoutPlus but after Grid update :

    [2008/12/08 12:58:36-164-x1]: GridLayoutPlus-74887\GridLayoutPlus.lua:56: attempt to index field 'layout' (a nil value)
    AceAddon-2.0-91091 (Ace2):983: in function <Interface\AddOns\Ace2\AceAddon-2.0\AceAddon-2.0.lua:976>
    <in C code>: ?
    AceEvent-2.0-91091 (Ace2):260: in function `TriggerEvent'
    AceEvent-2.0-91091 (Ace2):910: in function <Interface\AddOns\Ace2\AceEvent-2.0\AceEvent-2.0.lua:903>


    I guess I haven't updated my signature since the forums changed.

    The reason GridLayoutPlus broke is because you're using the unitguid branch which has changed how layouts are stored. Stick with zip files that don't have 'unitguid' in the name if you want GridLayoutPlus to work.
    Posted in: Grid & Grid2
  • 0

    posted a message on Vehicle support
    Quote from Pastamancer
    From what I understand, you can make a restricted wrapper around OnEvent and from within the restricted environment you actually can SetAttribute on a secure frame because the restricted environment is secure.


    Nevermind, you can't wrap OnEvent so even if UnitHasVehicleUI is available in the restricted environment, you wouldn't be able to swap the units without using a timer.
    Posted in: Lua Code Discussion
  • 0

    posted a message on Vehicle support
    Quote from Arrowmaster
    You can't change the unit attribute of the frame incombat though can you? And theres still the issue of not getting events in the sandbox so I don't think just adding UnitHasVehicleUI() to the sandbox is going to help.


    From what I understand, you can make a restricted wrapper around OnEvent and from within the restricted environment you actually can SetAttribute on a secure frame because the restricted environment is secure.
    Posted in: Lua Code Discussion
  • 0

    posted a message on Vehicle support
    Quote from Xinhuan
    I believe adding UnitHasVehicleUI() to the restricted namespace will allow authors to have far more freedom in how they want their unitframes to be shown/hidden/swapped.

    And is far more simpler for Blizzard to implement.


    Let's hope Blizzard is willing to do that.
    Posted in: Lua Code Discussion
  • 0

    posted a message on Vehicle support
    I'm thinking that implementing a VehicleWatch is the right way to do this.

    I see two major use-cases for VehicleWatch:

    • A player frame needs to swap the player unit ('party1', 'raid1', 'player') with the associated pet unit ('partypet1', 'raidpet1', 'pet') when the player unit enters a vehicle. The player frame also needs to swap the unit back when the player unit leaves a vehicle.
    • A pet frame needs to swap the pet unit ('partypet1', 'raidpet1', 'pet') with the associated player unit ('party1', 'raid1', 'player') when the player unit enters a vehicle. The pet frame also needs to swap the unit back to the pet unit when the player unit leaves a vehicle.

    In both cases, the unit to be checked is the same but the unit to be set on entering/exiting a vehicle is different.

    While we could teach VehicleWatch how to find the player unit from the pet unit and the pet from the player, we'd still have to tell it whether the pet should be the unit when the player is not in a vehicle or the player should be the unit.

    An easier solution would be to specify three units when setting up a frame for VehicleWatch: the unit to watch, the unit to set if the watched unit is in a vehicle, and the unit to set if the watched unit is not in a vehicle.

    This is what I've thrown together after looking at the UnitWatch code in SecureStateDrivers.lua:

    Assume that SecureStateDriverManager_UpdateVehicleWatch gets called in a manner similar to SecureStateDriverManager_UpdateUnitWatch and that vehicleUICache is similar to unitExistsCache except that it stores/returns the result of UnitHasVehicleUI instead of UnitExists.

    local function SecureStateDriverManager_UpdateVehicleWatch(frame, doState)
        local unit = frame:GetAttribute("vehiclewatchunit")
        local vehicleUI = (unit and vehicleUICache[unit]);
        if ( doState ) then
            local attr = vehicleUI or false;
            if ( frame:GetAttribute("state-vehicleexists") ~= attr ) then
                frame:SetAttribute("state-vehicleexists", attr);
            end
        else
            if ( vehicleUI ) then
                frame:SetAttribute("unit", frame:GetAttribute("vehicleunit"));
            else
                frame:SetAttribute("unit", frame:GetAttribute("novehicleunit"));
            end
        end
    end

    • Would this let a frame do something that's against the spirit of the secure frames?
    • Is there a better way to implement this?
    Posted in: Lua Code Discussion
  • 0

    posted a message on Vehicle support
    The Blizzard player party and raid frames switch the player and the pet units when someone enters a vehicle that gives them vehicle action buttons. This is determined by checking UnitHasVehicleUI when the events UNIT_ENTERED_VEHICLE and UNIT_EXITED_VEHICLE are fired.

    As of 3.0.3.9183, neither the SecureStateDriver nor the RestrictedFrames provide the functionality necessary to do something similar in a unitframe addon.

    I'm not sure what the best way to implement the functionality would be, but I have a few ideas.

    • Make UnitHasVehicleUI available within the Restricted Namespace. Then a pre snippet wrapped around the frame's OnEvent handler could check UnitHasVehicleUI and call SetAttribute on the frame to switch the unit to/from the pet unit.

    • Implement a VehicleWatch similar to the existing UnitWatch code. The VehicleWatch would either modify the frame's unit attribute itself or set state attributes similar to what UnitWatch(frame, true) does currently.

    I've spoken with Zeksie, Arrowmaster, Xinhuan, and Pneumatus on IRC, but I'd like more feedback before proposing something to Blizzard.
    Posted in: Lua Code Discussion
  • 0

    posted a message on Grid
    Quote from VQKatsuko
    Hmm there must be a way since the default blizzard frames work like this on malygos. though i am no lau coder so i have no clue how they do it but it probably has to do with making the vehicle frame register as the player frame not a pet frame. So i would not know how hard that would be to make/update/change.


    The blizzard frames don't have the same restrictions that addons have.

    After looking at what's available for addons, I'm fairly certain this isn't possible without blizzard making UnitHasVehicleUI available to the secure state driver or restricted environment.
    Posted in: Grid & Grid2
  • 0

    posted a message on AceBucket-3.0 without losing event args?
    I'm not sure what you're doing, but you probably don't need to bucket UNIT_AURA.
    Posted in: Ace3
  • 0

    posted a message on Grid
    Quote from Fulnir
    [FONT=Arial]Great news!

    Would it be possible to replace the player unit frames with the pet unit frames if the player is in a vehicle? I’m thinking of malygos especially, since right now it shows pets as extra units, separated from player units. I don’t have this feature enabled because of the naming problem, but if you fix it this layout needs to be changed as well. Else it would mean 50 unit frames where 25 of them would be pointless.[/FONT]


    I don't think there's a way for the pet to replace the player, but I'd love to be proven wrong.
    Posted in: Grid & Grid2
  • 0

    posted a message on Grid
    Due to the increased number of situations where players encounter multiple party/raid members (pets really) with the same name (The Occulus, Malygos, Wintergrasp), I've started work on converting Grid from storing data based on unit name to unit guid.

    This means that units with the same name can be differentiated but not all statuses will be able to do so (notably the incoming heals).

    Status module developers are invited to track the new branch at svn://svn.wowace.com/wow/grid/mainline/branches/unitguid
    Posted in: Grid & Grid2
  • To post a comment, please or register a new account.