• 0

    posted a message on Git Questions
    Quote from Phanx
    This sounds miserable, as no GUI client for Git I've ever seen has this functionality -- they all just "push tags". If I wanted to type crap on the command line all the time, I'd use Linux. My first several computers ran DOS, and I don't see why anyone would voluntarily go back to that for basic everyday functionality. :p


    I will say that TortoiseGit (which is what everyone uses on our Windows dev boxes at work) has a 3-state checkbox for tags on pushes, as well.

    As far as the command line goes, when I got a new job a bit over a year and a half ago, I went from putting C# into TFS to putting JavaScript into Git. At that point, I had to choose whether I wanted to learn Git from the command line or just use the GUI. I chose command line because: (1) learning it on the command line applies (by and large) to the GUI whereas the reverse is not generally true; (2) if I didn't learn the commands and I had to use Git on a remote server or any other situation where I only had one way to interact with it, only one of those choices would have prepared me for that.

    Git for Windows installs MINGW (which is like Cygwin lite) as part of its install (it calls it "Git Bash"). I use ConEmu to run MINGW and do all my gitty stuff from there (Git for Windows also installs a lighter terminal replacement which is functional). I do have Tortoise installed at work, though, because an interactive Git log viewer is a million times better than anything you can do on the command line.
    Posted in: General Chat
  • 0

    posted a message on My Work on a Lua IDE
    I ended up finding this back at the beginning of WoD (via a search in the application UI) when I was making a small fork of EPGP for my guild. It works in WebStorm minus the features that are configured from the Project Structure dialog; it is supposed to be a Javascript IDE, after all. What appears to be the JS-specific version of those settings is under Languages & Frameworks > JavaScript > Libraries.

    Your inspections actually uncovered some unused variables and leaked globals in the code, which I was able to fix in our fork.

    Anyway, just wanted to let you know that it's appreciated and that I was happy to see your name in the info/details pane :).
    Posted in: Lua Code Discussion
  • 0

    posted a message on Explaining this SetScript to an idiot.
    Not only was it a nice analogy, but then you used "data" as the plural of "datum". Be still, my beating heart.
    Posted in: Lua Code Discussion
  • 0

    posted a message on Recount
    Quote from Lombra
    As far as I understood, unit GUIDs are always strings because WoW can't handle 64-bit yada yada, and so you wouldn't be to apply a mask?


    The bit library does the work, internally, to handle type conversions, if I was reading correctly. Also, LUA recognizes hexadecimal numeric literals (and even allows decimal and, I think, exponents).
    Posted in: General AddOns
  • 0

    posted a message on Recount
    As far as I can tell, the only Blizzard bit-value and bit-mask constants are for decoding a UnitFlag.

    https://github.com/tekkub/wow-ui-source/blob/live/FrameXML/Constants.lua#L338

    I also can't find any instance of Blizzard decoding a unit GUID in the code, so I guess that's why they didn't make any constants for it.
    Posted in: General AddOns
  • 0

    posted a message on 5.4.2 GetGuildRosterInfo now includes realm name even locally
    So what about "all" and the "mail" case?
    Posted in: Lua Code Discussion
  • 0

    posted a message on 5.4.2 GetGuildRosterInfo now includes realm name even locally
    For Ambiguate, there's also the case where the auto-complete code passes the value of the "autoCompleteContext" key on the EditBox from which the auto-complete is being performed. The only place I can see that being set in FrameXML is in MailFrame.xml on line 630 where it is set to "mail". So, maybe that's a possibility, too.

    It doesn't look like that function is defined in FrameXML or in any of the Blizzard addons, so I guess it's a C function? What avenue do we, as players (or even as addon authors), have to get any information on API functionality we can't see the source for? I know that some of the more prominent members of some WoW online communities seem to have ways to talk to people at Blizzard, but I've never heard any addon author say anything like that.

    Additionally, is there a reason why Blizzard has never really done technical changelogs? (...at least, I don't remember them*)

    -------------
    * Except maybe for one of the early expansions where I vaguely remember a nice thread in the UI & Macros forum with function signature changes and some discussion. It's possible that was a user thread, though. I don't remember.
    Posted in: Lua Code Discussion
  • 0

    posted a message on LibPrism-1.0
    Yeah, I guess the point of my questions was to feel out the issues that arise with convenience functions like this. Desaturate/saturate are just English words for either side of an increase/decrease of a value called "saturation". Lighten/Darken are a little bit less clear, but if you're using HSV (rather than HSL or HSI) then "value" ... it's an increase/decrease of value (the meaning of which Wikipedia defines as*).

    That is to say, the purest way to implement them would be something bland like SetSaturation and SetValue. But then, at that point, you might as well just provide RGB<->HSV and let the users do the math :).

    The most odd stuff was with the multiplicative functions. If the multiplicative Saturate function basically does:

    v = v * (1 + m)

    Then, passing -0.3 ends up multiplying v by 0.7 which is ... not that it doesn't make sense, but it is interesting.

    So anyway, rambling ... but it's an interesting side effect of trying to make things nicer. I see you're considering this stuff, already.

    * "[...] value is defined as the largest component of a color, our M above [...]. This places all three primaries, and also all of the "secondary colors" – cyan, yellow, and magenta – into a plane with white, forming a hexagonal pyramid out of the RGB cube." (yikes)
    Posted in: Libraries
  • 0

    posted a message on LibPrism-1.0
    Quote from Phanx
    Presumably, yes to the first question, and no to the second; in the Lua color lib I linked earlier, the desaturate function just negates the supplied value and then calls the saturate function with it.


    What would be the behavior of passing negative values to a multiplicative Desaturate? What about to a multiplicative Saturate?
    Posted in: Libraries
  • 0

    posted a message on LibPrism-1.0
    What would you call them, though? SaturateByPercent & SaturateByValue? SaturateMultiplicatively & SaturateAdditively? The attractive cleanliness of Prism:Saturate is lost when you have to explain the method of action in the function name.

    You could take a feather from the string flags in the game API and use tintShadeMethod as the final parameter. It would expect either nil, "ADD" or "MULTIPLY"; nil would pick the default method. (I almost always prefer something clearly declarative when a boolean value would be deciding between two things that are not opposites.) You could even make some convenience constants on the library table: Prism.ADD and Prism.MULTIPLY. Though, to that, it seems a little odd to have "ADD" and "MULTIPLY" just sitting there with no metadata. (Yeah, I'm adding more when I was trying to take away...)

    Maybe:
    Prism.TintShadeMethod = {
        ["ADD"] = "ADD",
        ["MULTIPLY"] = "MULTIPLY"
    }


    (I miss enumerated types.)

    Then, the call would look like:
    Prism:Saturate(0.5, 0, 0, 0.5, Prism.TintShadeMethod.ADD)
    Prism:Saturate(0.5, 0, 0, 0.5) -- if ADD is the default
    Prism:Saturate(0.5, 0, 0, 0.5, "ADD") -- if the "constant" isn't used


    Also, would an additive Saturate with a negative value be the same as an additive Desaturate? Are those functions going to reject or math.abs negative values?
    Posted in: Libraries
  • 0

    posted a message on Looking for assistance in research on addon development
    Quote from Pelf »
    One of the questions made me curious [...]

    One of the questions in the survey that the OP posted dealt with copyright which made me curious.

    Quote from Phanx
    Adding a license file yourself is trivial and does not have these downsides, so you're probably better off just doing that.

    Yeah that definitely makes the most sense.
    Posted in: General Chat
  • 0

    posted a message on Can't compare profile tables correctly
    EPGP has a popup that happens when the tier changes. It's set up in popups.lua; looks like it's using LibDialog which has the following description:
    LibDialog-1.0 provides methods for creating dialogs similar to Blizzard's default StaticPopup dialogs, with additions (such as multiple CheckButtons) and improvements (such as multiple EditBoxes, frame and widget recycling, and not tainting default UI elements).


    Looks like the answer might be "yes".
    Posted in: Ace3
  • 0

    posted a message on Looking for assistance in research on addon development
    One of the questions made me curious: if a license is selected for an addon, does the packager automatically add a customized license file to the addon package?
    Posted in: General Chat
  • 0

    posted a message on AceGUI-3.0 child anchoring confusion
    Maybe you can register for the OnAcquire callback and do more initialization there? However, if you're using Flow for that panel, if it's resized, whatever you do will be undone, then.

    The problem is just one of how the callbacks are executed and where, in that order, inline code runs. You could say that doing any initialization in a callback (in their OnAcquire) is wrongheaded because of exactly the example you've given. I'm not sure what the rationale behind that was.
    Posted in: Ace3
  • 0

    posted a message on AceGUI-3.0 child anchoring confusion
    Yeah, I saw that, but in this case, the issue is with it doing the following, which causes the Icon to appear to be sitting lower than it should be:
    image:SetPoint("TOP", 0, -5)

    That's part of the internal structure of the ACE Icon widget and isn't something that a layout is going to fix. I assume, maybe, the offset is ... no, the offset isn't for the label. That sits on the bottom. I'm not sure what the -5 is for.
    Posted in: Ace3
  • To post a comment, please or register a new account.