WoWInterface

WoWInterface (https://www.wowinterface.com/forums/index.php)
-   OpenRDX: Community Chat (https://www.wowinterface.com/forums/forumdisplay.php?f=107)
-   -   Big changes in SVN (https://www.wowinterface.com/forums/showthread.php?t=27901)

derickso 10-15-09 12:55 PM

Big changes in SVN
 
I checked out the current build of SVN today and found some fairly fundamental changes, ie instead of the usual draggable RDX menu window I now found that it was an immobile bar plastered across the top of my screen. Is there any plan to allow a choice between the old and new format? Will there be more customizability? I also realize this was a beta, but I was having major errors with aura icons relating to cooldowns..

It would also be great to understand where the mod is heading from here long term. A few things I've had on my wishlist for awhile:

-Package relative naming: Just like in a file system, it would be great to reference ./object_name, rather than have to give an absolute package name, so when you copy and paste objects between packages they are not all referring to the old package.

-Package copy and paste, or the ability to select multiple things at a time (ie shift click or ctl click) in the explorer so you can copy and paste a bunch of things at a time

-Package script hooks that run when you change specs. For example I generally as a Priest have a Holy and a Discipline spec, I use the same windows, but when I switch specs I would like to switch the bindings used on all my windows, as well as add/remove Weakened Soul from one of my AuraFilters.

-The ability to disable Blizzard Party frames. I know we now have a Disable ALL Blizzard frames, however I only want to selectively disable the party frames so I can use my own raid frames all the time.

Brainn 10-15-09 01:25 PM

Quote:

Originally Posted by derickso (Post 162259)
-Package script hooks that run when you change specs. For example I generally as a Priest have a Holy and a Discipline spec, I use the same windows, but when I switch specs I would like to switch the bindings used on all my windows, as well as add/remove Weakened Soul from one of my AuraFilters.


this would be rather complex to implement autmaticaly, but can be done with a simple script.

create a symlink and use it as the bindings object (or aurafilter, should work the same)
then add this code to an autoexec script
Code:

function SetTalentedBindings()
  if ( GetActiveTalentGroup() == 2 ) then
      RDXDB.SetSymLinkTarget("folder:yoursymlink", "folder:yourbindings_secondary")
  else
      RDXDB.SetSymLinkTarget("folder:yoursymlink", "folder:yourbindings_main")
  end
end


WoWEvents:Bind("PLAYER_ENTERING_WORLD", nil, SetTalentedBindings, "RDX_TALENTBINDINGS");
WoWEvents:Bind("PLAYER_TALENT_UPDATE", nil, SetTalentedBindings, "RDX_TALENTBINDINGS");


sigg 10-15-09 03:41 PM

Hello,

yes, they are many modifications. I am introducing the concept of DUI, Dynamic User Interface. On the top left, you can select any DUI. (the automatic switch is coming. The DUI replace the old autoswitch manager.

The new picker cooldown is used to be better flexible than the old stuff.

Still under heavy change.

Sigg:)

Dgrimes 10-15-09 07:03 PM

Quote:

Originally Posted by Brainn (Post 162264)
this would be rather complex to implement autmaticaly, but can be done with a simple script.

create a symlink and use it as the bindings object (or aurafilter, should work the same)
then add this code to an autoexec script
Code:

function SetTalentedBindings()
  if ( GetActiveTalentGroup() == 2 ) then
      RDXDB.SetSymLinkTarget("folder:yoursymlink", "folder:yourbindings_secondary")
  else
      RDXDB.SetSymLinkTarget("folder:yoursymlink", "folder:yourbindings_main")
  end
end


WoWEvents:Bind("PLAYER_ENTERING_WORLD", nil, SetTalentedBindings, "RDX_TALENTBINDINGS");
WoWEvents:Bind("PLAYER_TALENT_UPDATE", nil, SetTalentedBindings, "RDX_TALENTBINDINGS");


Actually there is an easier way to do so. You just need to make a keybinding and actionbinding object for each spec. Note these objects are not editable and copy ALL keybinds/action binds when you create them.

Then all you would need to do is copy said desktop object you are using and rename it so say *_holy or *_disc and insert those into the desktop object and make sure that is the desktop RDX points to when you switch specs. The only thing that would require a script would be to change the weakened soul from your aura list.

Edit:

Here is a small piece of code that will add or remove the "Weakened Soul" from your aurafilter when you change specs.
Code:

local function UpdateAuraFilter()
    local talent = GetActiveTalentGroup();
    local od = RDXDB.GetObjectData("Package:Object");
    --This is code here will REMOVE "Weakened Soul" from the aurafilter object in question.
    --If you require the "Weakened Soul" to be removed after you changed to your second spec, change the "1" to a "2".
    if talent == 1 then
        for i=1, #(od.data) do if string.find(od.data[i], "6788") then table.remove(od.data, i); end end
    --This part of code here will ADD the "Weakened Soul" spellid to your aurafilter of choice when you change specs.
    --Again if you wish it to be added to your first spec and not your second, replace the "2" with a "1".
    elseif talent == 2 then
        for i=1, #(od.data) do if not string.find(od.data[i], "6788") then table.insert(od.data, "6788"); end end
    end
end

WoWEvents:Bind("PLAYER_ENTERING_WORLD", nil, UpdateAuraFilter, "aurafilter");
WoWEvents:Bind("PLAYER_TALENT_UPDATE", nil, UpdateAuraFilter, "aurafilter");

Replace the Package:Object with the package name where your filter is stored and the object name of your filter object itself. Keep the " : " between them.

Edit2: Forgot to mention, throw that into an autoexec.

zigmund555 10-16-09 11:57 AM

Quote:

Originally Posted by sigg (Post 162292)
yes, they are many modifications. I am introducing the concept of DUI, Dynamic User Interface. On the top left, you can select any DUI. (the automatic switch is coming. The DUI replace the old autoswitch manager.

The new picker cooldown is used to be better flexible than the old stuff.

If you have a chance, could you explain these new things, or how are they different from what they replaced?

sigg 10-18-09 03:43 PM

In the previous version you were selecting one desktop for solo mode, one desktop group, raid, pvp and arena. With th concept of DUI, you can define a set of desktops and let you choose witch DUI you want to use.

From the new main panel, the first menu let you select the DUI you want to use. right click and you can manage the DUI. DUI = Dynamic User Interface.

I just added a lot of smooth effect when you switch your desktop.

I created a new frame name Idesktop. You can hide/show the title bar and close it. I will create a bar where a Idesktop can be move in, like an addon (docking.. don't remember the name).

I have added the VFL Profiler, available right click on the button of FPS.
I have merged omnipresence and omniscience.

About cooldown picker :
This is a new way to edit your cooldowns settings. more easy for me to maitain it in the future.

Sigg

derickso 10-24-09 01:22 PM

Great info all thank you very much, I combined features of both since I do not use the desktops feature at all, so my function uses a bindings symlink and adds/removes weakened soul from my debuff list. Here is the code:

Code:

function SetTalentedBindings()
  local od = RDXDB.GetObjectData("shakar_Heal2:badAuras");

  if ( GetActiveTalentGroup() == 2 ) then
      RDXDB.SetSymLinkTarget("shakar_Heal2:bindings_sym", "shakar_Heal2:current_bindings_disc")
      local found = false;
      for i=1, #(od.data) do if (od.data[i] == 6788) then found = true; end; end;
      if (found == false) then table.insert(od.data, 6788); end;
  else
      RDXDB.SetSymLinkTarget("shakar_Heal2:bindings_sym", "shakar_Heal2:current_bindings")
      for i=1, #(od.data) do if (od.data[i] == 6788) then table.remove(od.data, i); end; end;
  end
end

WoWEvents:Bind("PLAYER_ENTERING_WORLD", nil, SetTalentedBindings, "RDX_TALENTBINDINGS");
WoWEvents:Bind("PLAYER_TALENT_UPDATE", nil, SetTalentedBindings, "RDX_TALENTBINDINGS");


Dgrimes 10-25-09 07:37 PM

Sigg do you plan to keep the option to minimize the main RDX panel?

sigg 10-26-09 03:22 AM

Yes, I will think about a way to hide the main panel.

New features :

There are two new buttons in the title of each window:
- The button "x" is used to close the window
- The button "-" is used to reduce the window as an icon button in the new main panel bar.

You can choose the icon of your window in the frame feature of the window editor.

There is an option to show/hide the title of each window.

Layout, strata option : There was a bug so it never worked. Now I fixed it. It is possible to change the strata for all windows, BACKGROUND to HIGH strata.

Smooth change desktop : All windows use smooth show / hide features.

Just let me know what you think about this new panel bar.

Thanks

Best regards
Sigg

Dgrimes 10-26-09 11:55 AM

I like it. It just seems to me that the "Auto" setting for my DUI is not switching my desktops for me.

sigg 10-27-09 01:35 AM

Yes, it is nor ready.

zigmund555 10-27-09 10:36 AM

Thanks for the explanation Sigg.

I had some major problems with my action bars disappearing, refusing to open & close and being rendered very oddly on an earlier SVN version. I thought I'd wait until it is more developed before trying it out again.

derickso 10-28-09 12:29 AM

Quote:

Originally Posted by derickso (Post 163408)
Great info all thank you very much, I combined features of both since I do not use the desktops feature at all, so my function uses a bindings symlink and adds/removes weakened soul from my debuff list. Here is the code:

Code:

function SetTalentedBindings()
  local od = RDXDB.GetObjectData("shakar_Heal2:badAuras");

  if ( GetActiveTalentGroup() == 2 ) then
      RDXDB.SetSymLinkTarget("shakar_Heal2:bindings_sym", "shakar_Heal2:current_bindings_disc")
      local found = false;
      for i=1, #(od.data) do if (od.data[i] == 6788) then found = true; end; end;
      if (found == false) then table.insert(od.data, 6788); end;
  else
      RDXDB.SetSymLinkTarget("shakar_Heal2:bindings_sym", "shakar_Heal2:current_bindings")
      for i=1, #(od.data) do if (od.data[i] == 6788) then table.remove(od.data, i); end; end;
  end
end

WoWEvents:Bind("PLAYER_ENTERING_WORLD", nil, SetTalentedBindings, "RDX_TALENTBINDINGS");
WoWEvents:Bind("PLAYER_TALENT_UPDATE", nil, SetTalentedBindings, "RDX_TALENTBINDINGS");


So as a follow up I've had a number of problems with this script:
1) My autoexec scripts do not appear to be running any longer in 7.3.3, any reason why this is? I have a Script object just named autoexec in the folder with my window that loads
2) For some reason the events don't seem to get bound properly or at least are not always being triggered even when I manually run the autoexec script.. if I manually run the function it is fine, but it seems to have triggering/binding issues...

Any ideas?

Dgrimes 10-28-09 03:08 PM

Right click the package with the autoexec in it an make sure the "Run autoexec" is checked.

sigg 10-28-09 03:34 PM

This give me an idea.
Create a symlink object base on talent switcher and class.

Dgrimes 10-28-09 05:38 PM

I was going to look at changing the mouse bind feature to allow two binds based on which spec the player has activated.

derickso 10-28-09 09:36 PM

Quote:

Originally Posted by Dgrimes (Post 163904)
Right click the package with the autoexec in it an make sure the "Run autoexec" is checked.

Great tip, I had no idea this info existed. Problem solved.

derickso 11-04-09 01:20 AM

Follow up question here, I've noticed that while I can add/remove from the AuraFilter list via the code above, the window does not pick up the changes and start drawing appropriately until I open the filter editor window and hit ok to close it. Is there an update/refresh/redraw/reload function I should be calling after updating the list?

Thanks

Brainn 11-04-09 06:55 AM

you need to rebuild the window:
RDXDK.RebuildWindow(path)

sigg 11-05-09 04:23 PM

There is a big change.

The roster type concept.
You have to select the roster type for your windows in the datasource feature :
RAID
RAIDPET
RAID&RAIDPET
ARENA
ARENAPET
ARENA&ARENAPET
BOSS (available only with 3.3 upcoming)

New layouts is coming soon.

I am really happy with this change, it will be really better.

Sigg


All times are GMT -6. The time now is 07:32 PM.

vBulletin © 2024, Jelsoft Enterprises Ltd
© 2004 - 2022 MMOUI