Seems I misinterpreted his post then, sorry.
If luadoc just wasn't such a pain... :-/
PM the previous author. It's just being nice.
Abandoned projects are marked as abandoned by the system automatically after a few months or patches (don't know the logic behind it), it will then show an option for you to take over.
There is also an issue with projects that are "All rights reserved", they technically can not be taken over, because Curse/Wowace does not have the rights to do so, unless I missed something in the EULA.
The top changed repository in the pending commits list (I assume its a FIFO list?) is Skada which had the last repository change from August 31 -- and the list does not change.
The "Status" says it's running, but that does not seem to be the case - Is the documenter taking a summer break? :)
PS: (forum feedback) the preview button is broken in the create-threads view, it redirects to an error page, links are orange in the editor, but dark-grey in the actual post, which makes them very hard to discern from normal text
local tz, tzdiff; function time_utc() if tz ~= date("%z") then --print("Updating tzdiff"); local utc, here = date("!*t"), date("*t"); here.isdst = false; tzdiff = difftime(time(here), time(utc)); tz = date("%z"); end return time()-tzdiff end print(date("%c", time_utc()))I did a quick test that actually led me to change the isdst flag as this would otherwise generate wrong output (you should consider that in your code too, even if you don't use mine)
Quote from tinystomperbtw, it seems UnitReaction takes a UnitID.. and 'bossN' doesn't seem to work.
i'm in stockades with Randolph Moloch swinging at me.. and UnitGUID("boss".. n ) returns nil for n (1..5). UnitReaction("boss".. n ) also returns nil. "npc" also returns nil. only 'target' seems to get any valid returns.
Lua still has to generate them, create hashes, test the string table for existing hashes and call the callback function. String operations are known to be expensive operations in Lua (compared to other simple operations), not in memory but in CPU time. In comparison even four chained gsubs are more efficient.
print(str:gsub("|([|cr])(%x?%x?%x?%x?%x?%x?%x?%x?)",function(c, arg) if c == "r" then return arg; elseif c == "c" and #arg == 8 then return ""; end end));I had already thought about such a solution while answering Iroared, but expected a lot worse performance -- Or rather for gsub to perform better. Pretty sure it handles all border cases although I have not tested it thoroughly since, as it is, it takes 15-30% longer to parse input than my current 4 gsubs (yeah, I've profiled it). It works because the "|" are consumed and you don't call gsub a 2nd time.
Quote from tinystomperugh.. that's what i was afraid of. seems like i'd be constantly checking (i try to keep that to a minimum)
another odd thing, on one test in scarlett halls (mop) armsmaster harlan came up as a vehicle and not an npc
i'm pretty sure i'm parsing the guid correctly. seemed very odd.
You mean in a gsub replacement-callback function?
Yes I figured that out too afterwards, I was a bit fixed thinking in Lua patterns.Quote from IroaredIdeally, strings should be parsed sequentially (as they probably are in the client) to avoid all corner cases, but the code for that would be longer.
Lookbehinds won't really help, either, because "|||r" should become "||". Replacing "||" with "|!" seems like it should work, if you want to stick with patterns.
The topic of why this is faster can be quite a long one, suffice to say thatQuote from b0slocal bor,band = bit.bor, bit.band -- get a local reference to some bitlib functions for faster lookupsAhh that's why they write? To functions to work faster? And what a performance gain here?
local band = bit.band band(foo)can be more than 50 times faster for any successive calls of band(x) than just
bit.band(foo)While in relation this sounds a lot, often you don't have to care as we are talking about nanoseconds here, but the event COMBAT_LOG_EVENT_UNFILTERED is called VERY often in combat (essentially it is what gets written into the /combatlog file) and so every nanosecond counts
It is not offensive, I just don't see the sense in it seeing as your solution does not return the expected output for a given input.Quote from PhanxSorry if my desire to find the most optimal solution -- in this case, the one with the fewest function calls and string creations -- is so offensive to you.