irclog2html for #wowi-lounge on 20060330

00:00.19iriel|WorkingHm, I wonder if your DB server has a hardware issue.
00:00.25Cairennwe're back
00:01.02Guillotine./cheer for WoWI
00:02.14Guillotineits back down :(
00:03.06Cairennnope, still up here ...
00:03.12Cairennjust refreshed
00:03.55Cairenniriel|Working: I don't know, it's possible, the last one did =/
00:04.32Guillotineinteresting. I'm getting the database error page
00:04.50Cairennyup
00:04.52Cairenndown
00:04.57Cairennpoor dolby
00:05.14KirovDoes he get paid for this?
00:05.32Cairennno one gets paid enough to go 2 days without sleep
00:05.58Kiroveek
00:06.16Cairennand it's coming up on the 48 hr mark where he hasn't had more than 1/2 hr at a time
00:06.28Kirovis the server still getting attacked?
00:06.43Cairenndon't believe so
00:07.35KtronAuthentication... GO!
00:08.24*** join/#wowi-lounge Parak (n=profi@user-0cev737.cable.mindspring.com)
00:09.23Cairennand back
00:10.09*** part/#wowi-lounge Ratbert_CP (n=KCummins@proxy-ce4.disney.com)
00:10.29GuillotineI feel dirty
00:10.34GuillotineI'm using worldofwar.net
00:11.11Ktronanyone on Draka at the moment?
00:11.25Cairennnot I
00:11.31*** join/#wowi-lounge Kolth (n=amoeba@c-24-22-42-31.hsd1.or.comcast.net)
00:11.36Cairenndo I need to be?
00:11.41KtronNope
00:11.46Cairennk
00:11.59Ktronjust figured if people were, I'd go there to test, otherwise I'll just test on my normal server
00:15.30Cairenn*nod*
00:16.31KolthNon-UI question... Anyone here use a custom firmware on a Linksys router?
00:16.58*** join/#wowi-lounge cladhaire (n=jnwhiteh@cpe-24-59-191-241.twcny.res.rr.com)
00:17.06cladhaireEvening
00:17.30Cairennhey cladhaire
00:17.37iriel|WorkingKolth : No, but someone I work with says it was 'cool' 8-)
00:18.01KolthIriel :) Thanks
00:22.06*** join/#wowi-lounge zeeg2 (n=wguru@67.63.84.143)
00:24.39*** join/#wowi-lounge Guillotine_ (n=Guilloti@ns.motek-services.com)
00:26.28*** join/#wowi-lounge Guillotine__ (n=Guilloti@ns.motek-services.com)
00:26.57Miravlix1: I lost all macros on Action Buttons.
00:27.14Miravlix2: Errors is reported without function/file information
00:28.03Miravlix3: The UI uses significantly more memory on my system
00:29.45KtronIf I wanted to define a function that users could use by doing a /script MyFuncName(), how would I do that _correctly_
00:29.54Ktronor what should I look up heh
00:36.00KtronAh shucks names are gone in Gyspy buffmod Reborn... I might have to figure out what change got rid of buffnames
00:44.31*** join/#wowi-lounge Kolth` (n=amoeba@c-24-22-42-31.hsd1.or.comcast.net)
00:46.39Eraphinehrm I think IsMounted is broken
00:47.04Ktronis GetText broken?
00:47.20EraphineSomething about tooltips changed in 1.10 which is breaking tooltip scanning addons
00:48.26KtronIck
00:49.05Ktronthat makes me sad
00:49.06cladhaireyeah, see http://svn.brokendreams.net/files/AceHeal.xml for how tooltips need to be fedined.
00:49.11cladhairedefined
00:50.23Endyou NEED to set an owner now is all it looks like
00:50.29cladhairenot true.
00:50.40cladhaireif its parented, and the parent is hidden it causes issues.
00:50.42cladhaireso no parent.
00:50.49Endah
00:51.26Endwell, my fix was just to set owner to UIParent
00:51.34Endbut I guess that works because UIParent isn't hidden
00:51.40cladhaireNot true
00:51.44cladhaireUIParent is hidden when you alt-Z
00:51.45duke|ibi can't believe people were still using registerforsave
00:51.49cladhaireand _can_ cause issues.
00:51.55Endwell yeah. I was about to say that
00:51.59cladhaire=)
00:52.09cladhairethe above is Legorol's magical mystical answer to all
00:52.55KtronBooyah! thank you End, got Gypsy Buffmod back up and running:)
00:53.43Endwell, I pretty much said what cladhaire's link was doing apparently :P
00:54.17iriel|WorkingY'know, one of the cool things about the WoW launcher is that when I accidently double click on it out of habit, instead of launching a work-related application near it, I dont have to wait for ALL of WoW to load before killing it.
00:54.35Legorolhehe
00:54.48EndI usually accidently click on other games
00:54.51iriel|WorkingMiravlix : I'm curious as to your claim the UI is using "significantly more memory" than it did before
00:54.56Legoroli think it was your subconcious mind that made you click the wrong icon
00:55.45*** join/#wowi-lounge Warol (n=Warol@adsl-75-4-152-182.dsl.emhril.sbcglobal.net)
00:55.59iriel|WorkingLegorol : Absolutely! I do it more often than i'd like to admit, actually
00:56.46Legorolbesides, why exactly is your WoW icon next to a work related app ;-)
00:56.50Ktronyeah, cladhaire, your link wins
00:56.57Legorolshouldn't games icons be in a further location? :p
00:57.38Legorolcladhaire: it's even better if the tooltip is Ownered to WorldFrame or itself
00:58.04Legoroli haven't seen any difference between ownering it to UIParent and those 2, but just to be on the safe side, you know
01:00.28KtronNow time to get back to trying to figure out how to define functions that the 'user' can use, say, in /script 's
01:00.47iriel|WorkingLegorol : My games machine happens to have the best monitor in here (I'm working at home today) and runs windows, so I use it to keep work email and stuff open while I do actual work on my other machines
01:00.57iriel|WorkingLegorol : However, MOST of the desktop icons are not work related
01:01.44Legoroliriel|Working: thanks for the indepth explanation, without that i wouldn't have been able to sleep easy tonight
01:01.57Legorolnow i feel reassured that your icon arrangement is sane
01:02.27*** join/#wowi-lounge ToastTheif (i=ToastThe@24-177-162-9.dhcp.mrqt.mi.charter.com)
01:02.32iriel|WorkingLegorol : C'mon, I know you love a thorough answer 8-)
01:04.10duke|ibi miss autotravel :(
01:05.18Legoroliriel|Working: true
01:05.55Ktronhm... I'll try here again, because I'm fairly stumped... Let's say I wanted to make an addon that let players use a function HelloWorld() (for example) in /script commands, etc. I had the lua for the function written, but I think there's something I need to do besides what I have... here, I'll pastebin some of it
01:06.09Legoroliriel|Working: btw, were you around when i was explaining how one can simulate hooking TurnOrActionStart/Stop?
01:06.35Legoroli came up with a very ugly hack to get TackleBox (one of those right-click to cast the fishing rod AddOns) working with it
01:07.41*** part/#wowi-lounge Warol (n=Warol@adsl-75-4-152-182.dsl.emhril.sbcglobal.net)
01:07.58Ktronhttp://wow.pastebin.com/630033 , please be gentle
01:08.07Legorolgrrrrr
01:08.10iriel|WorkingLegorol : I was, yes, recall our discussion on key binds 8-)
01:08.21Legoroloops, true
01:08.27Legorolmy memory is failing me
01:08.37Legoroli need to get at least 1 more gig of RAM
01:08.45Legorolok that was a horrible pun..
01:09.13kremonteyeah
01:09.16kremontei didn't get it at first
01:09.16kremonte=p
01:09.35LegorolKtron: are you trying to make a slash command?
01:09.51KtronLegorol, no, I want to make a function that can be called using /script
01:09.56iriel|WorkingOk, G15 gripe #1 -- The ESC key is offset to the right
01:10.04kremonteSlashCmdList["foo"] = function bar() DEFAULT_CHAT_FRAME:AddMessage
01:10.08Ktronie, in the pastebin, /script WSL("text");
01:10.15kremonte("foobar") end SLASH_foo1 = "/bar"
01:10.15kremontekeke
01:10.18LegorolKtron: ok that works
01:10.25kremonteKtron: that xml is borked
01:10.26Ktronhm... it doesn't seem to
01:10.27LegorolKtron: you can simplify it further though, you don't have to define it OnLoad
01:10.29Ktronoh?
01:10.30Ktronheh
01:10.35kremonteyeah, lego is right
01:10.40Legoroloh yeah kremonte is right
01:10.41kremonteyou don't even need an xml, or a frame at all
01:10.45Legorolyou have an extra </Frames>
01:10.49kremontejust have the toc load the .lua directly
01:10.56kremonteand in the lua just have
01:11.00Ktronfor some reason I thought you couldn't that
01:11.04kremontefunction HelloWorld() sdfdf end
01:11.12kremonteit'll load, then you can /script HelloWorld =P
01:11.21kremontethat's how getlink works, entire addon sans xml :D
01:11.28kremonteje deteste xml.
01:11.33LegorolKtron: http://wow.pastebin.com/630038
01:11.54KtronLegorol, yeah, I did that before you got to posting it, but thanks
01:12.13Legorolhaving said that, you are better off getting into the habit of having an XML, and including your .lua from there
01:12.35KtronLegorol, why?
01:12.45kremonteLegorol: no!
01:12.47kremonteXML is evil
01:12.49kremonteand it does evil things
01:12.50kremontefor evil people
01:12.53kremontewho have evil intents
01:12.55kremontelike Shouryuu.
01:13.06Legorolpersonal opinion, but because having a .lua in the TOC only really works for simple and small applications
01:13.22kremonteworks for anything that doesn't need a GUI or events
01:13.26Legorolfor this case, where you just want a bunch of functions to use in macros/scripts, it's fine
01:13.36Legorolkremonte: true
01:13.37Ktronah
01:13.39KtronI can see that
01:13.39kremontewhich may be a minority, but for things like getlink it's unneeded
01:13.43iriel|WorkingI doint believe you should EVER include .lua from an XML
01:13.48Legorolkremonte: as i said, for simple and small applications :p
01:13.53kremonte.lua from an .xml? ._.
01:13.54iriel|WorkingI think that's an out-dated approach
01:14.08kremonteLegorol: hehe, you should see my current getlink that i'm working on, 600 lines or so, sans xml :P
01:14.13kremonteiriel|Working: ?
01:14.18kremonteiriel|Working: you lost me
01:14.19Legoroliriel|Working: interesting
01:14.31iriel|Workingkremonte : Lego recommended it as a matter of 'habit'
01:14.36kremonteare you talking about dynamic frames? :b
01:14.43kremontei'm not sure how else one would have frames
01:14.46iriel|WorkingI have entirely the opposite feeling, use XML when necessary, if you use both, then list both files in the .toc
01:14.50Legorolno i think iriel|Working doesn't like <Script file=".."/>
01:14.54kremonteiriel|Working: aha.
01:15.01kremonteinteresting :-)
01:15.02iriel|Workingkremonte : I'm not saying "dont use xml", i'm saying "dont use <script file="...">"
01:15.09kremonteyupyup
01:15.32Legoroliriel|Working: i think you do have a point
01:15.46Legoroli can see potential issues with copy/pasting the XML that causes the file to be included multiple times
01:15.51kremontethat's pretty interesting, i never thought of that =^)
01:16.00iriel|WorkingThe only case where it might be acceptable would be in a file with only XML templates, and even then **ONLY** if the lua code is guarded against multiple execution
01:16.20Legoroliriel|Working: what about embedded addons?
01:16.30iriel|WorkingLegorol : they wouldn't have xml 8-)(
01:16.33Legorole.g. I have a dir called AddOnA and inside it AddOnB
01:16.39Legorolthey can have XML
01:16.55iriel|WorkingLegorol : Ah I see what you mean
01:16.56Legorolalthough if you reference their XML, you can just as well reference their lua
01:17.03iriel|WorkingLegorol : Then list AddonB's files in AddonA's toc
01:17.09Legorolyeah
01:17.10iriel|WorkingLegorol : You already have to bind them that tightly
01:17.24iriel|WorkingLegorol : And generally i dont think that's a very good structure anyhow
01:17.27Legoroli was thinking it looks slightly cleaner if i just list the sub-addons XML in the toc
01:17.34Legoroli agree it's not a good structure
01:17.54Legorolok  you convinced me, list Lua in TOC is better
01:18.07iriel|WorkingBut I agree that for cleanliness it might work out better the way you describe , but ONLY in those kinds of cases.
01:18.27Legorolbtw, don't mind me today..
01:18.38iriel|WorkingHeh, this was just my personal preference, but I do at least have a reason for it 8-)
01:18.40Legoroli'd been bugfixing Cosmos straight for the past 3 days, and got very little sleep in the process
01:19.08kremonte"LFM BRD 60 ONLY FULL ON ROGUE" /who => level 58 guildless rogue
01:19.16kremontei lol'd
01:19.49Legoroli think the time has come when i shall up my interface memory limit from 96 Mb to 0
01:20.13iriel|WorkingYou trust yourself not to allocate your client into oblivion?
01:20.23kremontelol
01:20.27kremonte0MB interesting
01:20.30kremontewhat would happen? D:
01:20.58EndI don't trust myself to set it to 0 :P
01:21.34kremontehm, for nested loops, would i use j instead of the already used i? :p
01:21.45kremontefor i = 1,100 do for j = 1,100 do end end
01:21.47iriel|Workingkremonte : 0 means 'no limit' in case you didn't know
01:21.51iriel|Workingkremonte : That's what I usually do
01:21.59iriel|Workingkremonte : I did go through an i, ii, iii phase, but I got over iut
01:22.00iriel|Workingit
01:22.03kremonteso what happens if you do uhh
01:22.05kremonte1 ? :P
01:22.16MiravlixI'm breaking 140 MB addon memory used
01:22.19kremonte...
01:22.20iriel|Workingchances are you dont get very far with 1
01:22.22MiravlixThis new patch is horrible
01:22.24kremonte140MB?
01:22.25kremonte...
01:22.30kremontei have never gone over 30..
01:22.34iriel|WorkingMiravlix : You keep saying that, I dont think that's the general consensus
01:22.44iriel|WorkingMiravlix : I think you have some brokenness going on in your world
01:22.50kremontei don't see how 1.10 would bump up memory usage 100mb
01:22.53MiravlixGaining 50 MB memory usage is freaking stupid
01:23.02kremontethe fact that you had 90 is um
01:23.07kremontedon't use lootlink : - )
01:23.13iriel|WorkingGiven NOBODY ELSE has this problem, are you sure it's the patch?
01:23.14kremontesorry, shameless advertising ._.
01:23.26Miravlixkrem: I don't use lootlink
01:23.28iriel|WorkingMy _limit_ is lower than 50MB
01:23.34Miravlixand wtf difference does it make between a patch if I did
01:23.43kremontehow in the world would you have 90mb normally then?
01:23.48MiravlixIt shouldn't jump 50 MB memory usage
01:23.54kremonteeither way, patch or not that is insane
01:24.34MiravlixQuestHistory, ItemSync, Karma and a few other data addons
01:24.38MiravlixIt runs up quick
01:24.42iriel|WorkingStop blaming the patch though, unless you can PROVE it's the patch
01:24.53iriel|WorkingMy money's on a broken or mis-updated addon
01:24.58MiravlixIt is the patch
01:25.02iriel|WorkingHow?
01:25.03MiravlixIt didn't use that much memory before
01:25.05kremontei want to learn how to make memory leakes in addons
01:25.05Miravlixit does now
01:25.10iriel|WorkingBy what mechanism is the patch causing the problem?
01:25.24kremonteoh! that's where table.join is, it's concat!
01:25.25kremontedevtools ftw
01:25.36Endhave you updated any addons since the patch?
01:25.49MiravlixInitial memory went up from 82 MB to 115 MB
01:26.04kremontedisable all your addons.
01:26.08kremonteis your memory still 100mb?
01:26.33MiravlixAnyone have something more inteligent to suggest
01:26.37kremonte...
01:26.46kremontei'm trying to help you debug it
01:26.51kremonteand i'm not "inteligent"?
01:26.55Kemayo|WorkI do: try disabling all your addons.
01:26.57kremontesorry for trying.
01:27.00MiravlixEach addons memory usage got upped with the new patch
01:27.18kremontethen it's not the patch's fault? if it's your addons using more memory, they need to be updated. that's all i can say.
01:27.26MiravlixBullshit
01:27.33Endit's possible there might be a little overhead added, I suppose, but I have a lot of addons and see no difference
01:27.42MiravlixThe addons doesn't use more variables
01:27.54Miravlixit's the same frames and variables that suddently use more memory
01:28.04kremontei am using 27 addons, and my UI usage went... down
01:28.07kremonteby 1mb avg
01:28.14MiravlixI can't recode an addon because local test suddently is 10 bytes bigger
01:28.15Cairennwhoa guys, remember, we're all stressed with the usual patch week insanity, it's time to allow each other *more* leeway, not less ....
01:28.17Endwe'd have to ask AnduinLothar if he sees any difference, he has like twenty billion addons installed ;p
01:28.28Cairenntake a deep breath and count to 10
01:28.35kremonte12345678911
01:28.37kremontewhere's 10 D:
01:28.46CodayusThat doesn't take long in binary, you know.
01:29.12MiravlixNow I also have tooltip bugs up the wazoo that USES TEMP MEMORY, but that has nothing to do with barebone loading addons
01:29.21MiravlixThats just loading the FRAMES and variables
01:29.27MiravlixAnd that takes up more memory
01:29.29GenNMX|ThraeThere are 10 type of people in the word -- those that understand binary, and those that don't.
01:30.02Endthat joke is overused
01:30.03KemayoActually, one source of potential addon memory increase could be the new font setup.  Fonts.xml switched to using <font> instead of <fontstring>, so it's plausible that there's a bit more overhead somewhere on fontstring now...
01:30.24kremonteby 50mb?
01:30.26Endbut 50 meg?  that seems a little too big
01:30.28kremontedoesn't seem that likely
01:30.32KemayoI'm skeptical, I admit
01:30.35cladhairewho has 50 meg changes?
01:30.38kremonteunless you have a loooooooooooot of <fontstrings> lol
01:30.48Codayusunless some addon is badly abusing something font related.
01:30.51EndI mean, I can believe an increase in memory usage, but 50 meg sounds a little big :O
01:30.51GenNMX|ThraeEnd: It makes 400-level assembly class a little more bearable ;)
01:30.57Endhehe
01:31.33iriel|WorkingThe other possibility is code signing, though slouken implied it didn't have that big a footprint. He could have been lying 8-)
01:31.34MiravlixIt was from 82 to 115 BASE memory
01:31.46kremonte115 base memory? sans addons?
01:31.53kremontei thought that's what base meant =/
01:32.02MiravlixBase memory is initial gc size
01:32.28*** join/#wowi-lounge Syrsa (i=Syrsa@221x242x16x69.ap221.ftth.ucom.ne.jp)
01:32.38kremontemines 23mb, with 27 addons loaded
01:32.44kremonte25 active
01:32.54kremonteso...
01:33.08cladhairei dont think mine went up at al
01:33.11MiravlixI do have a ton of data gather addons, but I can't imaging that tables got a huge memory overhead in 1.10
01:33.14kremontecladhaire: mine went down
01:33.15Miravlixthat makes no sense
01:33.22cladhaireMiravlix: Depends on who wrote them
01:33.24kremontecladhaire: by a whole meeeegah byte
01:33.24cladhaire=)
01:33.29cladhairekremonte: *cheer*
01:33.37Codayuscan you tell which addon is causing the bulk of the increase?
01:34.28iriel|WorkingQuestion, do you have any addon that instantiates CRAZY numbers of anonymous frames and regions?
01:34.39iriel|WorkingI'm talking THOUSANDS of them
01:34.40*** join/#wowi-lounge Wobin_ (n=wob@221.221.29.122)
01:35.45SyrsaHello everybody (^_^)/
01:35.59Cairennhi
01:36.00MiravlixIriel: No
01:36.16MiravlixWorst frame addon I have is AllInOneInventory
01:36.27iriel|WorkingMiravlix : Ok, that would have been something that might have caused more UI memory use than 1.9
01:37.06kremonteMiravlix: /dump GetNumFrames()
01:37.09kremontehow many?
01:37.23Endwow, I have 11224
01:37.28kremonteo_O
01:37.32kremontei have 5609 ._.
01:38.02SyrsaI have a question.  With 1.10 I'd like to create buttons within my LUA script.  I believe I've created the button, but I'd like it to inherit OptionsButtonTemplate
01:38.14Enduh, heh, inherit...heh
01:38.33kremonte<frame ... inherit="Options~">
01:38.43kremonteinherits?
01:38.45kremontei'm not sure
01:38.46kremontexml is evil
01:38.52kremontejust like troll priests
01:39.01Endwell yeah, you do have to use xml to inherit, since that's the only time virtual frames really exist
01:39.19kremonteoh
01:39.23SyrsaEven with the new CreateFrames thing?
01:39.23kremontei didnt read the question huh
01:39.28kremontei have no idea ._.
01:39.30TainYou can't inherit from XML when creating frames in Lua.
01:39.43TainYou have to do all or nothing.
01:39.50kremonteCan't spell entertainment without tain.
01:40.00TainCreate your frame in XML to inherit it, or recreate the frame you're inheriting from in Lua.
01:40.39SyrsaDarn...  But thanks Tain.
01:41.06SyrsaOptionsButtonTemplate is a Blizzard thing I thought, so I'd have to inherit it in the XML I guess...
01:41.15TainYeah unfortunatly.
01:41.55kremonteif i do, say
01:42.06kremontefunction foo(bar) if not bar then bar = "foo" end end
01:42.18kremontedoes bar become global?
01:42.30kremonte(if i call simply foo())
01:42.55EndWhy would it become global?
01:43.04kremonteif not bar implying bar is nil ._.
01:43.19SyrsaAren't all variables without local in LUA global?
01:43.19kremontewell i guess it wouldn't, then =P
01:43.22Endwell, bar is still defined as a variable for that function though
01:43.27kremonteah, ok end
01:43.31kremontenot quite Syrsa
01:43.37kremontelocal foo = "bar"
01:43.41kremontefoo = "blar"
01:43.45iriel|Workingkremonte : No, args are implicitly local
01:43.47kremontefoo = "blar" but it's still local
01:44.02kremonteaye, i get it now, fanks
01:45.58Legoroliriel|Working: this is grasping at straws, but how big is the overhead with the new taint flag in every single Lua value
01:46.10kremontetaint?
01:46.11Legorolis it possible that this could've caused Miravlix's increased mem usage?
01:46.21Legorolkremonte: it's to do with the Lua protection system
01:46.33Legorolthat stops addons from calling functions only reserved for the blizzard ui
01:47.07Legorolpart of the protection system is that every Lua variable is now using a tiny bit more memory
01:47.23Legorolhowever, it should be an insignificant overhead
01:47.41iriel|WorkingLegorol : I dont know, slouken implied it wasn't much, but I haven't measured it.
01:47.48iriel|WorkingLegorol : One might end up with very data-dependent results tho
01:47.54Legorolyeah
01:47.55TainUg wait you can't do:  frame:SetPoint("CENTER") anymore
01:48.02Legorolthat's why i was thinking that it could cause Miravlix's problem
01:48.04Legorolat least in part
01:48.27LegorolTain: you can't??
01:48.37Legorolyou should be able to, if the frame has a parent
01:48.39TainI'm getting errors.
01:48.41Legoroldid you check to make sure it does?
01:49.11TainParent is UIParent, just double-checked.
01:49.35LegorolTain, you are right
01:49.37TainSetPoint is kicking an error to me listing out the full args
01:49.38Legoroldarness
01:49.58TainNot a huge deal, but still a change.
01:50.21kremonte1.10 nerfed warlock drops
01:50.21kremonteD:
01:50.29Syrsa"But but but... my teacher said!" :P   ummm... I don't understand this statement from http://lua-users.org/wiki/ScopeTutorial then:  "Note: All variables declared in Lua revert to the global scope unless they specified local."  I'm new to this f(-_-;)
01:51.30kremonteguildie just got a relic X)
01:52.14iriel|WorkingSyrsa : That is indeed correct
01:52.29iriel|WorkingSyrsa : But there are various ways of specifying something as local
01:52.43iriel|Workingfor i=1,10 do -- i is implicitly declared local
01:52.51iriel|Workingfunction func(i) ... end -- i is implicitly declared local
01:53.15Syrsaoh...  Thanks  (^_^)
01:53.17iriel|WorkingYou can also re-define what 'global scope' refers to, but that's probably going too far 8-)
01:53.20Legorolso uhm this new Background Downloader thing..
01:53.47Legorolwhilst i understand it's mostly harmless, is Blizzard completely in the clear with regards to enabling a p2p application without user consent?
01:54.04Legoroli haven't checked the EULA/ToU lately...
01:54.21*** join/#wowi-lounge ForgottenLords (n=Forgotte@059.216-123-195-0.interbaun.com)
01:54.24Legorolnor do i want to go EULA-whoring and pretend to be a lawyer
01:54.43Legoroli'm just interested in people's feelings on this
01:54.55Legoroli do think the background downloader is great, i don't think the way it was enabled/communicated is great
01:55.22Legorolnow for your 0.02€
01:55.25TainI'm pretty jaded with the whole thing, too many companies are taking the stance that they can put whatever they want into their TOS and not have to explain themselves.
01:55.30*** join/#wowi-lounge Ratbert_CP (n=KCummins@c-24-130-132-88.hsd1.ca.comcast.net)
01:58.06iriel|WorkingIs the background downloader P2P?
01:58.16iriel|WorkingTheir FAQ doesn't imply that it is
01:58.36ForgottenLordswhy was SetFontHeight() removed?
01:58.46iriel|WorkingForgottenLords : Because it's part of SetFont
01:58.59ForgottenLordsOh...
01:59.00iriel|WorkingForgottenLords : And we have GetFont
01:59.25iriel|WorkingForgottenLords : It's important to note that Font Path + Font Height + Flags defines a 'font texture set'
01:59.33Legoroliriel|Working: it is
02:00.07Legorolit's the standard BT-based Blizzard Downloader, renamed as Blizzard Background Downloader, and enhanced with a new option to disable it (which ironically doesn't work in some cases, see their tech support forum)
02:01.02TainIt is p2p, it's bit torrent based.
02:02.09iriel|WorkingSo in background form it's running in standard P2P mode, not in from-blizzard mode?
02:02.17AnduinLotharsomeone call?
02:02.39*** join/#wowi-lounge Guillotine (n=Guilloti@ns.motek-services.com)
02:02.44TainYour momma.  Oh, but she was calling me.
02:03.11AnduinLotharah, it was end.. something about mem usage?
02:03.48TainYes actually, it seems some people are claiming that after 1.10 addons in general (or maybe ins pecific cases) are using more memory than in 1.9 without any other changes.
02:04.00kremonte50mb more?
02:04.06kremontethat's a lot.
02:04.15ForgottenLordswill FrameA:SetFont(FrameB:GetFont()) work?
02:04.20TainWhat's 50mb between friends?
02:04.23Legoroliriel|Working: that's correct
02:04.29grolli got the same
02:04.29ForgottenLordskk, thanks
02:04.31Legorolyou can turn off the p2p mode, and it's supposed to save that setting
02:04.35grolli use about 5 meg more
02:04.38grollit seems
02:04.38Legorol(which at the moment it doesn't due to a bug)
02:04.40EndAnduinLothar, you have a lot of addons right?  I'm just curious how your memory usage is like
02:04.43Legorolbut the default is to start in p2p
02:04.45iriel|WorkingTain: So perhaps it is the taint overhead, I can measure it at some point.
02:05.03AnduinLothardunno, i'd have to play..
02:05.09iriel|WorkingTain: If i'm lucky I can remember where I put my last set of test scripts
02:05.10Guillotinei know my adons are certainly using much more
02:05.16Legoroli also use quite a few addons, my initial mem usage is 87 Mb
02:05.19TainI personally don't ever look at memory usage anymore so I don't know if it's the case, but I do know that a number of people have claimed as such.
02:05.22Legorolthat hasn't changed appreciably with 1.10
02:05.23Guillotinewhat was before about 40mb is now over 64
02:05.27Legoroli also have questhistory, lootlink etc.
02:05.48AnduinLothari had to dissable a lot of my addons this patch
02:05.54iriel|WorkingIf it's taint overhead , it'd be related to NUMBER of objects, not SIZE of objects
02:05.57TainI do know that I'm still struggling with trying to convert ActionBarButtonTemplate to pure Lua code.
02:06.05Legoroliriel|Working: true
02:06.12Legorolbut most objects in WoW UI tend to be tables
02:06.21Legorolwith not very big entries
02:06.29AnduinLotharthere are 162 folders in my addon folder, but i think over half of them are dissabled
02:06.31Legorolso the taint overhead would roughly scale with size of tables
02:07.01GenNMX|ThraeCould the changes to XML be responsible for the increase in memory?
02:07.13iriel|WorkingGenNMX|Thrae : very unlikely unless you have a LOT of anonymous tables
02:07.46Legorolhm, my mem usage did go up somewhat
02:07.49iriel|WorkingWhich is to say, it'll have some overhead, but likely not obscene
02:07.58Legoroluntil now i had my mem threshold on 96 Mb and that was sufficient
02:08.05Legorolnow i'm passing 96 Mb dynamically every so often
02:08.08iriel|WorkingBasically, the taint change MUST have added some overhead, but:
02:08.39AnduinLotharmmm cant get through auth
02:08.41iriel|Working1) It's hard to say how much, because we dont know the implementation well enough
02:08.47iriel|WorkingAnduinLothar : Give it time, it's slow
02:09.03Legorolok, rough estimate. let's take a lootlink-type addon. as a conservative estimate, let's assume the taint flag adds 1 extra byte to every Lua value
02:09.05iriel|Working2) We dont know if the field went in BEFORE 1.10 and only just got activated
02:09.16*** join/#wowi-lounge Gryphen (n=masked@c-67-183-238-150.hsd1.wa.comcast.net)
02:09.17iriel|WorkingLegorol : You probably should assume 4 extra bytes
02:09.20Legoroliriel|Working: actually it must've been in in 0.10 PTR too
02:09.24Guillotinegryphen! rawr
02:09.31Legoroliriel|Working: i am trying to make estimate on lower bound, hence the 1 byte
02:09.33iriel|WorkingLegorol : I count that as 1.10 8-)
02:09.40Legoroloh right
02:09.44iriel|WorkingLegorol : But i can promise it's not 1 byte 8-)
02:09.45Legorolanyways, so the estimate:
02:09.47iriel|WorkingLegorol : So assume 4 8-)
02:09.50Legorolok
02:09.53Legorolso 4 bytes
02:10.08Legoroltypical table entry in lootlink is say 20-char long string
02:10.19Kirovheh
02:10.23iriel|WorkingThe string isn't important, it wont change
02:10.33iriel|Workingbut the 80 byte table entry would have expanded to 88 bytes
02:10.33Legoroliriel|Working: they have to be tainted too
02:10.37iriel|Working(Remember, table entries are HUGE)
02:10.41Kirovlootlink entries are more like 80 character strings
02:10.42iriel|Workingthe reference is tainted, not the string itself
02:10.49*** join/#wowi-lounge Guillotine (n=Guilloti@ns.motek-services.com)
02:10.49Legorolyeah
02:10.54Legorolok
02:10.55Kirovthe search fields alone are 26
02:11.01Legorolok, then lets look at it this way:
02:11.12Legorollet's count number of table entries in a typical lootlink table, multiply by 4,
02:11.18Legorolthats' how much overhead the taint field is cuasing
02:11.27Legorolat least for lootlink
02:11.55iriel|WorkingHere's my gut feeling... If the taint field is a 32 byte field, then the expansion is going to be about 10% across the board, NOT counting string data.
02:11.58Legorolmy lootlink has 140k entries or so
02:11.58Guillotinehas anything changed with the functions to get buff names? Gypsybuffs is no longer showing the names
02:12.03iriel|Working32 BIT field, sorry
02:12.20iriel|WorkingGuillotine : It'll be the tooltip SetOwner thing
02:12.22Legorolhow do you get the 10%?
02:12.30Legorol4/80 is 5%
02:12.54Legorolehm... hold on, that's not a good approach
02:13.20GuillotineIriel: its not the tooltip that isn't showing the name. its the actual frame
02:13.30Legorolwe need the typical size of a Lua value, which would be the 80 byte table entry, plus the contents that it refers to
02:13.38Legorolthis assumes that not many table entries refer to the same data
02:13.59Legorolit looks to me like lot less than 10%
02:14.16TainFeh the hell with this for tonight, maybe if I'm lucky Loz or FlexBar-writer person or someone else will finish writing the Lua action button code and I can just steal it.
02:14.27SyrsaBefore 1.9 I was hooking the UseAction function to get the spell names that were being cast.  RPHelper_Tooltip:SetAction(a1);  local spellName = RPHelper_TooltipTextLeft1:GetText()    Now this doesn't work.  Can anybody help?  Weird thing is local spellName_right = RPHelper_TooltipTextRight1:GetText() will give me "Rank 3" or "Rank 5", etc...
02:15.05MiravlixRPHelper_Tooltip:SetOwner(this, "ANCHOR_NONE") for the win!
02:15.16MiravlixRead the nice thread we made about the changes
02:15.36SyrsaWhere can I read it?
02:15.45iriel|WorkingLegorol : 80 bytes is 2 32 byte objects plus overhead
02:16.01MiravlixYou can no longer have orphaned tooltips
02:16.06Miravlixthey need to have a owner
02:16.14iriel|WorkingLegorol : Each one gathers 4 bytes of taint data (if we assume that)
02:16.18MiravlixIf they don't have an owner they don't get drawn
02:16.31SyrsaOoooh....  Thank you (^_^)
02:16.35Legoroliriel|Working: ok, i didn't know that the 80 bytes were two objects
02:16.38iriel|WorkingLegorol: Oh, actually, ignore me a minute 8-)
02:16.46Wobin_ps ANCHOR_NONE? What else can it anchor to?
02:16.47Legorolwill do :-)
02:16.49iriel|WorkingLegorol: Because the 80 is awfully large 8-)
02:16.55Wobin_Or is that like ... bottomleft etc?
02:17.12MiravlixWobin: <insert wiki link here>
02:17.30Legorolpaste warning:
02:17.33LegorolAnchor StringAppears atEquivalent point setting
02:17.34Legorol-----------------------------------------------------------------------------------------------------------------
02:17.34LegorolANCHOR_LEFTtopleftSetPoint("BOTTOMRIGHT","owner","TOPLEFT");
02:17.34LegorolANCHOR_RIGHTtoprightSetPoint("BOTTOMLEFT","owner","TOPRIGHT");
02:17.34LegorolANCHOR_TOPLEFTtop, left adjustedSetPoint("BOTTOMLEFT","owner","TOPLEFT");
02:17.35LegorolANCHOR_TOPRIGHTtop, right adjustedSetPoint("BOTTOMRIGHT","owner","TOPRIGHT");
02:17.37LegorolANCHOR_BOTTOMRIGHTbottomrightSetPoint("TOPLEFT","owner","BOTTOMRIGHT");
02:17.39LegorolANCHOR_BOTTOMLEFTbottomleftSetPoint("TOPRIGHT","owner","BOTTOMLEFT");
02:17.41LegorolANCHOR_NONEundefinedClearAllPoints();
02:17.43Legoroleeeek
02:17.45Legorolok i'll just pastebin that
02:18.01Legorolhttp://wow.pastebin.com/630116
02:18.37KirovANCHOR_CURSOR
02:18.49*** join/#wowi-lounge Guillotine (n=Guilloti@ns.motek-services.com)
02:18.52iriel|WorkingLegorol ; Okay, I forget exactly how the hashing inside those tables work, but they're kinda funky. A lua object was, back in 1.5 or so, 16 bytes. So this would be a 25% increase, per OBJECT, if that's the case. Not counting strings, so actually that could explain a fairly hefty jump.
02:19.32Wobin_aha!
02:19.33iriel|Workingiriel|Working : The 80 bytes was the number stuck in my head so I was underestimating the added bagage of signing by quite a lot
02:20.08Legoroliriel|Working: hold on a sec, i don't quite follow you there
02:20.17Legoroleach Lua object has the taint flag now, right?
02:20.25Legorolwhat are the kind of things that consume memory?
02:20.26iriel|WorkingEach lua value yes
02:20.39Legorolthe Lua values themselves (the struct or union or whatever it was)
02:20.43Legorolstrings
02:20.44iriel|Workingvalues, tables (which are basically bunches of values, plus a little bit of static data), and strings.
02:20.47Legorolfunctions
02:20.52iriel|Workingand functions, yes
02:21.03Legorolso, the taint overhead *only* affects values
02:21.03iriel|Working(well, closures and prototypes, if you want to be pedantic)
02:21.09Legorolright
02:21.13grollLegorol you had any time to check up on the buffbot? :) i guess not though :P
02:21.16Legorolit will not affect the actual string data
02:21.20iriel|Workingvalues and things that contain values (closures, tables)
02:21.22Legorolnor the function prototype/closure
02:21.38Legorolok it affects those too, right
02:21.52Legorolthe problem is, we don't know what fraction of the heap is consumed by Lua values,
02:22.05Legoroland what is consumed by strings and prototypes
02:22.18Legorolthe more you have of the latter, the less significant the taint overhead
02:22.23Legorolas far as i see it at least
02:22.32iriel|WorkingWell, the LARGER the latter, the less significant the taint
02:22.39Legorolyeah sorry true
02:22.41Legorolthat's what i meant
02:22.59Legorole.g. let's take a simple example, where all your Lua variables contain strings
02:23.12iriel|WorkingSo, Miravlix is probably right, much of that bloat IS the patch's fault 8-)
02:23.14Legorolthen you have the Lua value, which has the taint overhead, plus the actual string data it points to, which doesn't
02:23.54Legoroliriel|Working: if i have only string variables, and all of the strings are say 20 bytes long,
02:24.05Legorolthe overhead is 4/(16+20), isn't it?
02:24.16Legorol16 for the Lua value, 20 for the string
02:24.40iriel|WorkingAssuming "20 bytes long" means "require 20 bytes of storage" - yes
02:24.45Legorolright
02:25.15Legorolwhat i'm trying to say is that to get a significant effect from the taint overhead, you need
02:25.31Legorollots of Lua values that are numbers or point to different strings that are short in length
02:25.33iriel|WorkingBut the thing is, may strings are shared
02:25.43iriel|WorkingMany values are numbers or booleans
02:25.44Legorolin a lootlink database type setting, they aren't
02:25.53Legorolit's hard to estimate, i think
02:26.10Legoroli was thinking taht addons that have large number of Lua values would be the database type ones
02:26.26LegorolMiravlix was claiming around 50% increase in mem usage
02:26.39Legoroldatabase type addons would have short strings, yes, but independent ones
02:26.51iriel|WorkingCloser to 40%, but still large
02:26.54GenNMX|ThraeWhat exactly is the "taint" overhead?
02:27.01iriel|WorkingNow, this assumes 4 bytes is correct
02:27.20iriel|WorkingGenNMX|Thrae : the amount of additional memory required to implement protected functions properly
02:27.20Legoroliriel|Working: i am saying i don't agree that you can get anywhere near 40-50% with 4 byte taint
02:27.37iriel|WorkingLegorol : Agreed
02:27.46Legorolok right
02:27.47iriel|WorkingLegorol : I'll have to measure the new size
02:27.53iriel|WorkingBut not until later
02:27.56Legorolsure
02:28.28kremontewow
02:28.33kremontesome people make me cry
02:29.02kremonte"Wow Blizz sucks, fucking CTRA and Flexbar don't work now, they have to fix it"
02:30.17Codayuslol
02:31.57GuillotineI'm having problems getting DAB to work :( for some reason the fixes people are posting aren't working
02:34.00*** part/#wowi-lounge Ratbert_CP (n=KCummins@c-24-130-132-88.hsd1.ca.comcast.net)
02:42.50TemI have a fix Guillotine
02:42.54Temdon't use it
02:43.00Guillotinewow. thanks
02:43.02Guillotine:P
02:43.04Temlol sorry
02:43.05GuillotineI got it to work
02:43.07TemI couldn't resist
02:43.10Guillotinejust have to redo all my bars...
02:43.15Temthat sucks
02:51.51Temoh hell
02:52.03Temwhen I didn't want to log in, I was able to get past the loging server
02:52.07Temnow that I want to...
02:52.30Legorol*sigh* someone started a thread on test realm forum saying: 28/3/06 PTR not working
02:52.42Tem><
02:52.43Wobin_rofl
02:52.50*** join/#wowi-lounge Guillotine_ (n=Guilloti@ns.motek-services.com)
02:53.00Legorolyou gotta love'em
02:53.14Temwell in their defence, that's a EU style date
02:53.46Temso, the patch has only been live -- what? -- 12 hours? for them.
02:54.35Wobin_not really
02:54.37Wobin_Or an Aussie style date
02:54.54Wobin_Or SE asian
02:55.27kremontewtf
02:55.31kremontenested arrays arent working ;~;
02:55.55kremontelocal a = {[1] = {] [2] = {}}
02:55.59kremonteer
02:56.06kremontelocal a = {[1] = {} [2] = {}}
02:56.11kremontegives me a syntax error
02:56.14kremonte>_>
02:57.18kremonteany idea on that ^?
02:59.35kremonteboo, wake up! ><
02:59.48GenNMX|Thraekremonte: local a = { [1] = {}, [2] = {} }
02:59.54kremonte...
02:59.56kremontethat was my problem
02:59.57kremontethe entire time
03:00.00kremontea comma.
03:00.39GenNMX|Thraekremonte: Hence why I suggest using additional spaces, it makes it easier to spot such errors for me
03:00.50kremonteit's a huge table, thrae
03:00.56kremontelots of spacing
03:00.59kremontejust had a tiny example for ircness
03:01.03GenNMX|ThraeAh
03:01.34GenNMX|Thraes/] /], / <-- if you have vi or sed
03:01.47kremonteo_O?
03:01.49kremontevi is evil
03:01.51kremonteEVIL
03:01.54kremonteeVIl
03:03.23Ktron|dinnervi, vim, and elvis are my hommies
03:03.43Ktronemacs is the enemy
03:03.51Ktronpico is for wusses
03:04.14kremontei use pico :p
03:04.23Wobin_gvim =)
03:04.28Wobin_I <3 gvim
03:05.00L|Elviso? :)
03:08.06Legoroldoes anyone play WoW on a Mac? what is the equivalent of a right-click with the mouse on a Mac?
03:09.59kremontea supteenuple click!'
03:10.13kremonte17 clicks baby
03:11.44cladhairecommand-click legorol
03:12.13Legorolcladhaire: do you have a Mac?
03:12.21cladhaireNope =)
03:12.21Legorolbummer
03:12.39cladhairewhy do you ask?
03:12.40Legorolwas wondering if the right-click keybinding's key is still BUTTON2 on a Mac as well
03:13.12cladhaireHrm, good question O.o
03:13.34cladhairewell, goodnight all
03:17.03KirkburnTime for bed!
03:17.16Kirkburn5:17, not too shabby
03:17.36Kirkburn5 man scholo rocks
03:18.14KirkburnNight night
03:32.13*** join/#wowi-lounge zespri_work (n=andrews@203.184.58.251)
03:36.18L|Elvisoanyone know how to insert your target's name into a macro, other than %t?
03:37.27kremonteUnitName("target")? :p
03:37.53L|ElvisoI shall try it :b
03:38.19kremontein /script of course
03:44.08*** join/#wowi-lounge slouken (n=Sam@ip68-5-42-243.oc.oc.cox.net)
03:44.17Cairennhey slouken
03:44.22sloukenHey.
03:44.28sloukenIt's hot out there, whew!
03:44.43MiravlixIt's cold as hell. :p
03:44.46MiravlixHey slouken
03:44.55Cairennhe's referring to the flames in the forums
03:45.01Cairennand yeah, it's a tad warm
03:45.30MiravlixThis patch has been very annoying for addons.
03:46.03Gryphenthere has been worse hehe
03:46.13MiravlixSome changes we didn't figure out until after US had gone down for maintenance, making it a real headache getting code fixed
03:46.19Cairennindeed there has been Gryphen
03:46.27MiravlixNope
03:46.44MiravlixI've not since US Beta had to work for 3 days without propper sleep due to a WoW patch
03:47.00Gryphenive seen that a few times
03:47.04Gryphenand more
03:47.28Gryphenthe end of framexml days were some of the worst
03:47.41MiravlixThere was no end of FrameXMl
03:47.44MiravlixNot until 1.10
03:47.55MiravlixNow it's totally killed
03:48.09Miravlixbefore then we could gradually move on to 'better' ways
03:48.16Gryphenwell feb of last year was a big change for it
03:48.27Gryphenbut disagree as you want
03:48.49MiravlixBut new events, disabled API's, having to call function or your code silently breaks
03:48.58MiravlixThats major headaches.
03:53.21MiravlixWhats the point in breaking an addon because it calls RegisterForSave
03:53.58Miravlix99.9% of the addons already had SavedVariables for it too and if RFS didn't break the addon, no one would notice it didn't work
03:58.18sloukenSo no promises, but I'm really hoping not to make many changes in 1.11 ... no changes are planned so far. :)
03:59.28*** join/#wowi-lounge MentalPower (n=chatzill@host-70-45-84-10.onelinkpr.net)
04:00.15MiravlixThank god I'm a druid and got new /dance emotes or I would be killing people in the streets
04:00.27kremonteyou got relics -_-
04:00.32Gryphenbut no sealion emote :(
04:00.37MiravlixWell, I do tend to kill people in the streets, but you know...
04:01.01Legorolhi slouken
04:01.03Wobin_I love the catdance
04:01.20MiravlixIt's not as much dance as music listening emotes
04:01.26Legorolit's great, it looks like I can resurrect TackleBox ( a fishing helper AddOn ) despite the protected functions
04:01.33Legorolwithout exploiting a loophole
04:02.28sloukenHey Leg
04:02.37Cairenn:)
04:02.43Gryphenjust double the carpal tunnel
04:02.45sloukenLeg, how you do dat?
04:02.50Endhmm..bear dance......
04:02.51End:D
04:03.21Legorolslouken: event trigger sequence is: WorldFrame:OnMouseDown, BUTTON2 keybinding (down), WF:OnMouseUp, BUTTON2 keybinding (up)
04:03.33Legorolin WF:OnMouseUp, i redirect the BUTTON2 binding to my own function
04:03.37Legoroland cast a spell from there
04:03.48Legoroland simulate the execution of BUTTON2 (up) by calling MouselookStop()
04:03.54sloukenHmmmm
04:03.56Legorolor is this considered an exploit?
04:04.05Gryphenbug
04:04.08Gryphenhehe
04:04.11sloukenI don't think it'll work
04:04.13Gryphennever and exploit
04:04.14Legorolit does work
04:04.17Legoroli am using it :-)
04:04.38Legorolthe point of this is to be able to cast a spell with right-clicking the mouse
04:04.52Legorolwithout affecting right-clicks on NPCs
04:04.57MiravlixIt's not giving us decrusive movement bots.
04:05.12Legorolit's a replacement for hooking TurnOrActionStart/Stop
04:05.32sloukenCould you show code?
04:05.33MiravlixBut it does allow Fishing Addons, EasyBuffers and similiar harmless addons
04:05.42Legorolslouken: sure, it's already public in Cosmos
04:05.45Legoroli can email you a copy if you like
04:05.52Legorolor i can make a whittled down proof-of-concept one if you like
04:05.53sloukenI didn't think OnMouse* counted as a hardware event
04:05.58Legorolit's not
04:06.02slouken?
04:06.05Legorolthat's why i'm not actually casting from OnMouse*
04:06.12sloukenI'm confused
04:06.20LegorolI use OnMouseUp to do SetBinding to redirect the BUTTON2 binding to my own function
04:06.29LegorolOnMouseUp returns, then the BUTTON2 binding is executed
04:06.39Legoroli do the actual spellcast from the BUTTON2 binding, which is a hardware event
04:06.51Legorolit might be easier for me to make a proof-of-concept addon and mail it to you
04:07.03sloukenSure
04:07.24Legorolok i'll get right on it
04:09.45sloukenThanks!
04:12.10MiravlixWe need to make a library for this
04:12.24MiravlixUnless slouken disables it
04:14.00Wobin_omg
04:14.03Wobin_I can connect from here
04:14.06Wobin_...
04:14.12Wobin_This is like... woah
04:15.45MiravlixMake a little queue library that people can absorb into there addons, so we don't overrun the hook
04:18.44L|Elvisoanyone else have their edit arrows disabled in 1.10?
04:18.47L|Elvisoin the chat box
04:19.01MiravlixEdit arrows?
04:19.10L|Elvisoaka cursor keys
04:19.11MiravlixNever seen any arrows in chat
04:19.12Wobin_yeah
04:19.19Wobin_there's a fix
04:19.21Wobin_one sec
04:19.22MiravlixAlt-works
04:19.25Gryphenworks here
04:19.46L|Elvisoah ok, hold alt down and it works
04:20.47Wobin_replace 'SetIgnoreArrows' with 'SetAltArrowKeyMode'
04:20.50Wobin_in your addons =)
04:22.37L|Elvisoah ok
04:25.13L|Elvisoworks great Wobin_, thanks
04:31.59Temhmm that's udd
04:32.01Temodd
04:32.17Temthe world map has a black background on the sides
04:32.40Temand I can't click down to the worldframe anymore :(
04:33.11Temoh wait
04:33.15TemI can click through
04:40.32Wobin_bah.
04:40.36Wobin_Now my addon works
04:40.44Wobin_After fixing some -other- addon
04:41.25MiravlixYeah aint' shared environments great
04:41.49Wobin_If I could only work out what fix it was that fixed it, or why it didn't work in the first place...
04:42.18MiravlixIf it works, don't fix it
04:42.44Wobin_Well... so I can advise others =P
04:42.45MiravlixWho was the other druids here
04:42.51Grypheni am
04:43.05MiravlixAnyone seen the new quest (alliance) from a new druid trainer in the Stormwind park?
04:43.05Gryphencurrently a fishing moonkin
04:43.40Gryphenhavent seen it, just heard about the new one in ungoro crater
04:46.15MiravlixYeps, that one trying it at the moment
04:46.28MiravlixBut none of the items seem to drop
04:54.14EndI am a druid as well
04:55.16Wobin_actually...
04:55.30Wobin_I'm kinda glad that most of the 'problems' with my addons are the tooltip issue
04:55.35Wobin_and that it's relatively easy to fix
04:55.39Endwell, it's easy...yeah
04:55.47Wobin_(ie I don't have to wait til the author goes and fixes it)
04:56.29EndI've had tooltip issues with decursive, selfcast and enginventory so far
04:59.30CairennMore than just one person complaining about UI mem usage increases:  http://www.wowinterface.com/forums/showthread.php?t=4216
04:59.49Wobin_yeah, I'm at 30M atm
04:59.59Wobin_usually around early 20s
05:01.51L|ElvisoSlouken, any chance of getting API functions to show how much mem each addon uses? :)
05:02.07Wobin_oo
05:02.15Wobin_That would be... enlightening
05:02.25irielIt's infeasible tho
05:02.32Wobin_true
05:02.38Wobin_but enlightening all the same =)
05:03.08L|Elvisoinfeasible how? just curious
05:03.27Wobin_shared memory space?
05:03.27irielWell, objects aren't "owned" by addons
05:03.35L|Elvisoi see
05:03.56irielAnd if you call a method that allocates memory, who is reponsible for that memory? The caller? or the method that allocated it?
05:04.25irielThere ARE addons out there which try and approximate 'responsibility' based on which addons' entrypoint the allocation happened after
05:06.48Cairennwarmup? isn't that the name?
05:06.54Cairenn(of one of them)
05:10.29Wobin_I'm not sure if warmup does that...
05:10.33Wobin_It's more of a timer
05:10.45Cairennoh that's right
05:10.54Cairennsorry, my confusion
05:10.55Wobin_During my conversion to ACE mods, I started wondering how long each of my mods added to my login/reloadui time.  So I wrote this little bugger to find out.  It will dump times into your combat log on startup and reloadUI.  You can see how long each mod takes, which mod takes the longest, and each step of loadup (Loading the mods, entering the world, etc).
05:11.06Wobin_(from tekk's post)
05:15.12MiravlixYou might as well get used to it, I'm always right.
05:15.28MiravlixAnd when I'm not right it's just because slouken did it wrong
05:15.29CairennMiravlix: ><
05:17.02Miravlix( Referaring to the ongoing significant memory useage change in 1.10 conversation. :p )
05:17.29irielMiravlix  8-)
05:18.39irielThere'a always been incentive to use fewer,larger strings for storing large amounts of data, this just increases it 8-)
05:22.11MiravlixSorry, I had better thing to do, I've no idea what you guys figured out about this.
05:22.43Miravlixvar1, var2, var3, var98327474 = bad?
05:22.55MiravlixtableVar = good?
05:23.02irielNo
05:23.10Kirovboth = bad
05:23.12Kirovheh
05:23.18irielMore that if you're storing thousands of them, doing
05:23.50irielx="a=1;b=2;c=3;d=4;e=5;f=6" is going to use CONSIDERABLY less memory than {a=1,b=2,c=3,d=4,e=5,f=6}
05:23.50MiravlixtableVar.var1 tableVar.var2 has the same problem with to much overhead?
05:24.07Wobin_then loadstring(x)?
05:24.12irielInteger keyed tables have somewhat less overhead
05:24.32irielWobin_ : That's actually an interesting idea, but I was initially just thinking parsing it in code, but loadstring might be cooler
05:24.59irielWobin_ : Though that does create more overhead, I suspect, in that you have to compile and create a function adn then discard it
05:25.02Wobin_I only just noticed the functionality of loadstring in the patch notes
05:25.08Miravlixx="var,var,var,var,var" is redicolous
05:25.23irielWell, here's the deal
05:26.04irielpre 1.10, every "lua value" (That is simple value, or a string/table/function/userdata reference) was 16 bytes in size
05:26.19irielThen for those refrence types, you also had the size of the object
05:26.39irieltables being (essentially) multiples of the lua value size
05:26.46Wobin_"Too many worldmap overlays!" ?
05:27.00irielIn 1.10, that 16 byte value now appears to be 24 bytes or so
05:27.09iriel(Wobin_ - You have an outdated addon installed)
05:27.30irielWe're getting 24 bytes because when we tried the math with 20 bytes we couldn't explain how much extra data you had
05:27.51irielSlouken might perk up and let us know just how many bytes the taint flag added to the value object 8-)
05:27.57irielI haven't had time to test it experimentally yet
05:28.02Wobin_(Iriel: Ta =) Prolly ct mapsomething)
05:28.26Legoroliriel: so now the recommendation is for me to in fact dump my saved variable as a single string ;-)
05:28.37Legorolinstead of as a table
05:28.38Legorolj/k
05:28.43irielLegorol: *poke*
05:29.04Legoroli'm glad i got FastCast working in TackleBox though
05:29.04irielLegorol : Though if you're going to keep them in memory for ages, and only reference them rarely, perhaps!
05:29.19irielAnyway, back to my explaination
05:29.41irielEven before 1.10, there was considerable reason to use string packing for large amounts of data if you didn't need to read lots of it all the time
05:30.13irielBecause those 16 byte references add up, especially when using non-array tables, because you need two of them (and then some) to store each key/value pair
05:31.21MentalPowergnight folks, I'll read Iriel's explanation tommorrow when my brain gets a rest :)
05:31.50irielSo for example, in TargetCensus I use an encoding like                                 ["lvl_55"] = "am=275;ao=275;as=2.00;df=275",
05:31.52MiravlixSo basically trying to be OO and use table classes is fubared too?
05:32.07irielFor 'normal' use, absolutely not
05:32.19irielbut if you're goingt o be serializing 10,000 of them in a database, then yes
05:32.26irielThat's no different than most other languages though
05:32.47Legoroliriel, how much memory does a string take up? do you have any idea?
05:33.01irielThe tradeoff between a compact 'storage' form, and a more sizable 'active' form
05:33.02*** part/#wowi-lounge Gryphen (n=masked@c-67-183-238-150.hsd1.wa.comcast.net)
05:33.02Legoroli'm not talking about the Lua value that references it, but the actual string
05:33.16irielLegorol : I dont recall, and didn't write it down (sorry)
05:33.23Legoroloki
05:33.40Legoroli'm just trying to think about how much the taint overhead means for a simple string variable, of say 10 characters
05:33.41*** join/#wowi-lounge Gryphen (n=masked@c-67-183-238-150.hsd1.wa.comcast.net)
05:34.30Legorolseems like around 25-35% increase
05:34.34Legorolwhich is quite a bit
05:36.36irielLet's see, there's a next pointer, and then 2 marker bytes, a reserved byte, a hash (integer), and size (integer) ?
05:36.45irielPlus the size of the string itself
05:38.16irielso 20ish bytes, plus string data, which is no doubt aligned on a 4 or 8 byte boundary
05:43.27Kaelten|Workthere isn't anyway to catch a stack overflow before it happens is there?
05:43.56LegorolKaelten, hi!
05:44.05Legorolare you planning on updating EnhancedTrades for 1.10? :-
05:44.07sloukenHi Iriel, Kaelten
05:44.07Legorol:-)
05:44.08Kaeltenhey legorol
05:44.39KaeltenYep, as soon as I figure out why KCI is randomly stack overlowing
05:44.46Kaeltenhey slouken, how you been
05:44.48irielKaelten : If you know roughly where they're happening you could chedk the stack size with the debug function
05:44.51sloukenGood
05:44.59irielKaelten : But that'd be quite a lot of overhead
05:45.09Legorolslouken: i don't suppose you will confess to what set of AddOns you are using? that you alluded to in your forum post ;-)
05:45.25Legorolcuriousity's been eating me alive
05:45.38Kaeltenhmm
05:45.40Legorolyou are such a tease sometimes...
05:45.45sloukenHeheh
05:45.47Kaelteniriel, remember that explode split function?
05:46.04irielKaelten : I do
05:46.20Kaeltenfor some reason its causing a stack overflow randomly now.
05:46.47irielCan you pastebin it?
05:47.27Kaeltenhttp://ace.pastebin.com/630284
05:48.03Legoroliriel, what happened to the capital I in your name
05:48.15Legorolsomeone ate half of it and made it small?
05:48.36Iriel8-)
05:49.58*** join/#wowi-lounge malreth (n=malreth@cpe-72-177-88-84.austin.res.rr.com)
05:50.20Kaelteniriel: this is the one that has been cuasing the stack overflows
05:50.22Kaeltenif (not string or type(string) ~= "string") then error("Bad String was a " .. type(string), 2)end
05:50.24malrethpatch 1.10 is punishment for all you sinners who use addons!
05:51.07Kaeltenheh if people who use them is sinners than what does that make us who write them?
05:51.18malreththe devil!
05:51.27malrethDemons! All of you!
05:51.43LegorolKaelten: looking at the code you pasted, it seems to me that if the separator is not found in the string,
05:51.55LegorolSplit will return the original string twice
05:52.07Legorolwhich would cause infinite recursion, hence stack overflow
05:53.09IrielLegorol : Are you sure?
05:53.16Kaeltenhmm
05:53.30Legorolno, i'm not sure :D
05:53.31IrielDoes 'error' actually terminate execution?
05:53.38IrielI have a feeling that error fires, and a nil gets returned
05:53.39sloukenyep
05:53.52MiravlixGazmicks Shoppinglist gives a stack overflow every time Auctioneer finish an AH scan
05:53.55IrielMaybe someone hooked 'error', badly
05:54.12Kaeltenhooked error?
05:54.13Kaeltenhmm
05:54.22KaeltenI suppose that could be, I'm running BugSack
05:54.32Irieltry /script error("Hello") DEFAULT_CHAT_FRAME:AddMessage("Arrrgh")
05:54.42Irielif you see "Arrrrgh" then you're in trouble 8-)
05:56.14IrielI'm not sure that would explain the exact behavior tho
05:56.45IrielLet me just rearrange this code a bit so I can follow it better
05:59.20IrielThe no separator logic seems a bit iffy
05:59.30MiravlixGoodnight, going to take me a month to catch up on sleep after this patch.
06:00.18Kaeltenhow so iriel?
06:00.39IrielLego's summary is indeed correct, if there's no separator, you return the input string twice
06:00.43IrielBecause of that x-1
06:01.11Kaeltenhmm
06:01.16IrielI think you MEANT to return "", "Input"
06:01.17Irielright?
06:01.37IrielOr did you want "Input", "" ?
06:01.41Kaeltenactually "Input", "" I think
06:02.11Kaeltenso if not strfind(string, sep) then return string end
06:02.17IrielAlmost
06:03.42KolthAh, Iriel: SetIgnoreArrows(bool) got changed to SetAltArrowKeyMode(bool)
06:03.57Kaeltenhmm I have Explode returning basically string, nil
06:05.39IrielDoes anyone call Split directly?
06:05.40IrielOr only via exploed?
06:05.43Irielexplode, that is
06:05.46Kaeltenit happens very rarly
06:05.51Kaeltenmostly through explode
06:05.55IrielOk, let em rejigger this to be more efficient for you
06:09.59Irielhttp://ace.pastebin.com/630294
06:10.02IrielI THINK that should work
06:11.20IrielOops, typo
06:11.33Irielhttp://ace.pastebin.com/630296
06:12.37IrielYou MIGHT want to change line 21 to be if (not b or b==
06:12.41Irielack
06:12.45IrielYou MIGHT want to change line 21 to be if (not b or b=="") then
06:12.57IrielIf you want to preserve your strip-last-element-if-blank logic
06:14.01IrielAnyway, that version removes a bunch of redundant error checking, getting the length of the same string again-and-again-and-again, and using sep as a regexp in some places, and a plain value in others
06:16.11*** join/#wowi-lounge s|loup^away (n=loup@213.221.117.211)
06:16.17s|louphi
06:17.38Cairennhey loup
06:19.21Kaeltenhmm well so far so good, we'll see how it works out.
06:19.27s|louphm as i want to build a dynamic system i didnt found a way to destroy a dynamic generated frame at runtime is there any way?
06:19.39Kaeltenthanks much, I'm off to bed.
06:19.46Kaeltennope loup
06:20.18IrielNo, you can save it for re-use later, but you cannot destroy it
06:21.20s|louphm so can we get a function to destroy a frame in next time?
06:22.22s|loupfor me it does make no sense to have a dynamic system but can't create and destroy. just create is only the half of dynamic
06:23.35s|loupif i didnt need it i want to destroy it so i don't use the memory
06:24.02IrielThis debate has been had
06:24.09IrielThe simple answer is "no"
06:24.18IrielIt's too hard to know whether it's "safe" to remove a frame
06:24.57IrielThe dynamic frame logic is intended to avoid having to pre-allocate resources, which avoids 2 problems - 1: Allocating a bunch of stuff that never gets used and 2: Creating arbitrary limits on how many of something can exist
06:25.03*** join/#wowi-lounge [MoonWolf] (n=MoonWolf@a80-127-128-193.adsl.xs4all.nl)
06:25.20s|loupsry dont know about the debate
06:25.44IrielIf you happen to have an application for dynamic frames in which you need a constantly varying (in both directions) number of objects, then you have to manage the 'free pool' yourself
06:26.11IrielI would contend that there's (almost) never a case when you know for sure you can delete something without having the possibility of having to allocate it again later
06:26.42IrielDynamic creation + free pool is still infinitely better than what we had before 1.10, even if it's not perfect
06:28.41s|loupyes i know but i thaught that i can use the dynamic system to make a raid mod or a mt mod with the point of 'just allocate what you need'
06:29.00KemayoIt is absolutely peachy, when writing a quest tracking addon, to make the realization that if you scan the quest log immediately when your addon loads you may, in fact, get the quest log of the previously logged in character.
06:30.12Kemayo(I just wanted to vent.)
06:30.42Iriels|loup : You can, it'll allocate what it needs.
06:30.48s|loupi agree with your point of creating just when you need it, but i cant find an example where you have an addon with frames you dont need, so for what the addon ^^
06:31.14Iriels|loup : If your raid group shrinks, then turn off the frames you dont need any more, and re-use them when the raid grows again
06:31.29Iriels|loup (By turn off I mean, unregister events and hide the frame)
06:31.51IrielKemayo : Before PLAYER_ENTERING_WORLD? or after?
06:32.00s|loupthats what i do now but the frame uses memory also when its off?
06:32.36Irielwell, yes, but re-creating frames use time and memory, so you're still ahead of the game.
06:33.27KemayoBefore -- It's a plugin for BossPanel, and I didn't realise that BossPanel would start calling the update methods before the player has entered the world.
06:33.38IrielAnd of course, any user who has a problem with those extra frames can ReloadUI() 8-)
06:33.38s|louphm k so i try to arrange with the given system ;)
06:35.27ckknighthey all
06:37.48s|louphi
06:41.04Cairennhey ckknight
06:41.52ckknighthow's it going?
06:42.06Cairennfading fast here, keep trying to fall asleep at keys
06:42.11ckknighthey, how do I get the difficulty of a target? i.e. whether it's green or not
06:42.34Ktronheh
06:42.49Wobin_level range?
06:43.18Wobin_if it's within a certain level range it's green, yada red yada grey?
06:43.49KemayoYou can use GetDifficultyColor(level).
06:44.22ckknightthank you
06:46.01ckknightokay, I forget what to compare it to to check if the color is trivial
06:48.17Wobin_grey?
06:48.43ckknightit's a stored tablle
06:50.27Wobin_What WoW needs is more exclaimation marks
06:50.50[MoonWolf]WoW!!!11oneone!1elven
06:50.51Wobin_Searing Lava Spider suffers 25 damage from Vidant's Deep Wound!!!!!!
06:51.08Wobin_It'll make it more reminiscent of MUDs
06:51.19[MoonWolf]lol
06:51.24Wobin_The Searing Lava Spider's death cry echos across the land!!!!
06:51.31Cairenninteresting: http://forums.worldofwarcraft.com/thread.aspx?fn=wow-interface-customization&t=346778&s=new&tmp=1#new
06:54.01Wobin_I've pretty much stated that on the wowace forums, but not as a new post
06:55.14malrethit's not a bug if it was done on purpose.
06:55.17malreth:)
06:55.24ckknightapparently there' s a UnitIsTrivial("target")
06:55.28KtronMy mage is carrying 674 Silk cloth
06:55.43malrethsend me some
06:55.53Irielthere is indeed
06:55.57Irielit means "is this unit grey to me"
06:55.57Ktronheh, that's over 20g in silk cloth
06:55.59Irielmore or less
06:56.07Ktronafter I make it all into bandages
06:56.12Ktronwhich is the sensible thing to do on this server
06:56.31KtronJust going to go get Under Wraps now
06:56.47Ktronand hopefully I'll be able to make some heavy silk bandages, otherwise this will take forever heh
06:59.27KtronI've been playing the AH for a while heh
07:00.00Ktronack, wait a minute
07:00.01Ktronblech
07:00.10Ktronthey changed the vendor price on me
07:00.11Ktronoh well
07:19.41ckknightis wowi still being attacked?
07:19.50ckknightcause it's pretty slow for me now
07:21.31[MoonWolf]maybe dolby collapsed from chanting again.
07:21.55*** join/#wowi-lounge L|Elviso (n=irc@66-90-143-73.dyn.grandenetworks.net)
07:24.09ckknightit appears to have fixed itself
07:25.48*** join/#wowi-lounge krka|work (n=kristofe@66.217.181.62.in-addr.dgcsystems.net)
07:33.03L|Elvisockknight, I'm having a few issues w/BP....you want to discuss here, or should I post a bug report on wow-i?
07:46.20Kemayowowi has been pretty good for me for most of the evening.
07:47.38KemayoL|Elviso: As a fellow author of BossPanel plugins, I am curious...
07:48.13krka|worki should write a Bosspanel speedometer
07:48.21krka|workmy current speed display sucks
07:48.27krka|worknight cair
07:48.32KemayoGoodnight Cairenn.
07:48.51Kemayokrka: There's one already.  Not updated for 1.10, but it seems to work.  :-)
07:49.43Kemayohttp://www.wowinterface.com/downloads/fileinfo.php?s=&id=4718
07:53.01krka|workyes, but does it use MapLibrary?
07:53.41L|ElvisoKemayo: curious as to the probs?
07:55.05KemayoL|Elviso, yup.
07:55.20Kemayokrka: I have no idea.  It says it's a rip from MonkeySpeed.
08:09.29L|Elvisokind of in the middle of AQ20, but I'll get what I can out
08:09.59L|Elviso1) BP tooltips are randomly breaking, where the only thing that will be visible is the header and an empty box
08:10.12L|Elvisoalthough that might be caused by clearfont, I'd need to test it
08:10.36L|Elviso2) none of the position settings are saved between reloads (like if I move bars around)
08:12.02IrielL|Elviso : I assume you've updated clearfont for 1.10
08:12.47L|Elvisoyes
08:18.24Temthere's definately some BP positioning issues
08:18.28Tembut my tooltips are fine
08:18.31ckknight?
08:18.53[MoonWolf]tem, are you using a custom font ?
08:18.59Temyes
08:19.20TemCF
08:19.50L|Elvisothe tooltips will work fine for about 5m, and then get fubar'd until i /reload
08:20.06ckknightodd
08:20.07Temmy stuff on the right side keeps changing order
08:20.24Temit's raining in STV on hakkar
08:20.38Temand it looks terrific
08:20.57[MoonWolf]:0
08:21.00[MoonWolf]weather is good.
08:21.13Tema truly excellent job
08:21.15L|Elvisoyes I'm definitely enjoying the weather
08:21.28L|Elvisoone of those "little touches"
08:21.40KtronI still haven't seen the weather
08:21.50TemI'm level 14 so I shouldn't be anywhere near STV
08:21.59Tembut I can't bring myself to hearth back to UC
08:22.16[MoonWolf]when the new rp/pvp server came our guild claimed the first dead person in stv
08:22.17[MoonWolf]lvl 5
08:22.23KemayoI haven't had any problems with toolbars or addons reordering themselves -- apart from if I've made a mistake which makes an addon not load because of an error... in which case it resets everything to default.
08:22.26[MoonWolf]we went to raid westfall
08:23.26*** join/#wowi-lounge wereHamster (n=tomc@gw.ptr-62-65-141-13.customer.ch.netstream.com)
08:43.17*** join/#wowi-lounge Codayus (i=cody@l0gical.net)
09:01.22*** join/#wowi-lounge Kolth` (n=amoeba@c-24-22-42-31.hsd1.or.comcast.net)
09:14.09L|Elvisogrrrr this is so f'g frustrating
09:15.07KolthWhat's that?
09:15.50L|ElvisoI'm trying to test some stuff on BP, so I went to my char select screen
09:16.02L|Elvisoand chose that alt in the drop-down, then disabled all addons but BP ones
09:16.11L|Elvisobut it reset ALL the addons for ALL my chars
09:16.29L|Elvisoso now I have to pick through them all, for all 6 chars, and enable 1-by-1
09:16.30KolthYeah, that's buggy.
09:16.32ckknightyea, I don't like that
09:16.40KolthI messed mine up like that
09:16.56L|Elvisotwice in 2 days, the first time I thought I did something wrong in my grogginess
09:17.13Kolthback up your \wtf folder :)
09:17.27L|Elvisothat's still a pain
09:17.35L|Elvisofor software that's been out over a year now
09:17.50KolthThe per-char is only months old.
09:17.58L|Elvisotrue
09:18.10L|Elvisodoesn't make me any less agitated though! ;p
09:18.21KolthBlizzard is a professional company -- it's just sad.
09:19.15L|ElvisoI should write a .bat to backup the addons.txt, and then reinstate them on call
09:20.00KolthThat'd do a better job.
09:25.47L|ElvisoI used AceHeal in conjunction w/XRaid and oRA today on my druid, it all worked very well
09:26.06L|Elvisoa few things I have to get used to over my old setup, but all-in-all very nice
09:34.29L|Elvisoyay, think I fixed sanity inventory
09:35.12L|Elvisohrmm, or not
09:39.30L|ElvisoEveryone worn out from the patch or what? Kind of quiet in here
09:40.02[MoonWolf]i think so.
09:40.11[MoonWolf]that and this is the silent period of the day
09:43.14*** join/#wowi-lounge Maldivia (i=the_real@tux.nerdheaven.dk)
09:43.43Temit's the middle of the night for the US
09:43.52Temwhich is a good 60+% of the people here
09:44.56[MoonWolf]and for those hailing from the EU it is aproaching noon
09:45.06[MoonWolf]busy with things like school and work.
09:46.10L|ElvisoI'm in the US, but I'm nocturnal :)
09:47.06Temaye, me too
09:47.29TemI just spent 40 minutes tracking down a Jack in the box that was open
09:47.46Tembecause it's the only place around here that would be open right now that sells chockolate shakes
09:47.52Temand I just had to have one
09:49.23[MoonWolf]:P
09:49.28L|Elvisohaha, pregnant or high? (j/k bad joke)
09:49.47[MoonWolf]both :P
09:51.15s|louphigh pregnant ^^
09:51.56Temneither?
09:52.17Temam I not allowed to just have a craving for a shake?
09:52.28L|ElvisoI dunno, sounds suspicious!
09:57.07TemIt relates to me seeing one of the rush hour movies on tv last week
09:57.30Temchris tucker says something like "damn I'm gonna go get me a shake"
09:57.52Temafter which I thought, "I haven't had a shake in AGES"
09:58.03Temso I went out looking for someplace to get one
09:58.54Temnaturally it was like 3 AM so only Jack in the Box was open
09:58.54TemI went to 4 stores
09:58.54Tem3 were closed
09:58.54Temer, 2 were closed
09:58.55Temand there other two had "broken" shake machines
09:59.03Tems/there/the/
09:59.04[MoonWolf]hehee
09:59.18Temso tonight the craving re-surfaced
10:02.48L|Elvisowhy do I sometimes see
10:02.58L|Elviso<Tem> s/there/the/
10:03.16L|Elvisois that pseudocode to insert a word or something?
10:03.27Temit's regex in some form or another
10:04.02L|ElvisoI'd seen it before but didn't realize the revelance until I saw your typo
10:04.13L|Elviso*relevance
10:04.15[MoonWolf]i triggers purl to do a correction on what you said.
10:04.25Temit's the expression to replace the first bit of text that matches the first blurb with the second blurb
10:04.33[MoonWolf]and its more geeky then corrected word*
10:04.49L|Elviso10 print "lol"
10:04.59L|Elvisorun
10:05.43[MoonWolf]function reply() echo("haha funny") end
10:05.47Temanother banana intersting banana thing banana is banana that banana you banana can banana also banana do banana a banana replace banana all
10:05.57Tems/banana //
10:06.01Temcurses!
10:06.07L|Elvisolol
10:06.09Temanother banana intersting banana thing banana is banana that banana you banana can banana also banana do banana a banana replace banana all
10:06.13Tems/banana //g
10:06.21L|Elvisowho is purl? rofl
10:06.30Tempurl: who are you?
10:06.33purlI think you lost me on that one, Tem
10:06.34L|Elvisoa script I assume, but what purpose
10:06.47Temthe main purpose is logs
10:06.50Tempurl, logs
10:06.52purlapt/ibot/jbot/purl all log to http://ibot.rikers.org/<channelname>/ where channelname is html encoded ie: %23debian | lines that start with a space are not shown | some channels have stats at http://ibot.rikers.org/stats/<channelname>.html.gz, or updated "nightly"
10:07.18Tembut I like her here for this:
10:07.21Tem~emulate stewie
10:07.23purlI come bearing a gift.  I'll give you a hint.  It's in my diaper, and it's not a toaster.
10:07.31Tem~botsnack
10:07.31purlaw, gee, Tem
10:07.37[MoonWolf]~ponder
10:07.38purlI think so, but where will we find an open tattoo parlor at this time of night?
10:07.42L|Elviso~help
10:08.31L|Elviso~commands
10:08.39L|Elviso~usage
10:08.43L|Elvisodamn
10:09.08[MoonWolf]if purl would list all his commands he would be pretty busy for a long whil
10:09.17[MoonWolf]s/whil/while/
10:09.19Kolth~spam
10:09.20purlACTION sings, Spam, Spam, Spam, Spam, Spam, Wonderfull spam!
10:10.02L|ElvisoI thought they fixed the DM 'spoits...
10:10.26Temthey did
10:10.29KolthThey said they fixed em?
10:10.36Temor so says anduin
10:10.39L|Elviso1.9 or 1.10?
10:10.42Tem1.10
10:11.02L|ElvisoI hope so....I've seen 3 hunters in the past 2 days w/full DM gear, including treants bane
10:11.10L|Elvisoon a new server
10:11.24[MoonWolf]report
10:11.37[MoonWolf]they gm can find out if it was legally aquired.
10:14.23Temtest
10:14.29Tems/.//g
10:14.41Temtest2
10:14.43Tems/./a/g
10:15.29[MoonWolf]no true regex
10:19.52L|Elviso~slashdot
10:19.59L|Elvisonice
10:20.20L|Elvisopurl: ircstats
10:20.20purlCurrently I'm hooked up to irc.us.freenode.net:6667 but only for 4d 23m 6s.  I had to reconnect 4 times.   Connectivity: 100.00 %
10:23.44L|Elvisopurl: forget
10:24.10L|Elvisopurl: wtf
10:24.21L|Elvisopurl doesn't love me anymore
10:24.51L|Elvisopurl: nickometer
10:25.06L|Elvisopurl: nickometer Elviso
10:25.29Maldiviapurl: nickometer L|Elviso
10:25.33Maldivia:)
10:25.50[MoonWolf]nickeometer me!
10:26.00L|Elvisopurl: nickometer MoonWolf
10:26.07Maldiviapurl: nickometer [MoonWolf]
10:26.15L|Elvisoi see
10:26.27Maldiviaspecial chars = baad
10:26.37[MoonWolf]ha i am 6% less lame then L|Elviso
10:26.48L|Elvisopurl: listkeys
10:27.05Tempurl, stop listening to the bot-spammers.
10:27.07purlACTION leaps to his feet and stops listening to the bot-spammers.
10:27.09L|Elvisopurl: listkeys blootbot
10:27.14Maldivia[MoonWolf]: and what about the last 3%?
10:27.32[MoonWolf]he gets those for free
10:27.52L|Elvisopurl: piglatin my name is purl and I like to speak piglatin!
10:28.09Maldiviapurl pepe ?
10:28.45TemI don't have to sit around for this abuse
10:28.54s|louphis name is purl and he likes to speak latin
10:28.57L|Elvisopurl, mock Tem
10:28.59purlACTION pulls Tem's pants down and shows the world Tem's pink spotted underwear
10:29.01MaldiviaTem: go dream about it :)
10:29.23L|Elvisopurl: quote
10:29.27Tem|Sleeppurl, fix L|Elviso
10:29.28purlACTION takes L|Elviso to the vet for a "special" visit.
10:29.41L|Elvisolol
10:29.46Tem|Sleeppwnt
10:29.52L|Elvisopurl: lobotomy
10:29.53purlI feel different somehow.
10:29.53Tem|Sleepnight everyone
10:29.59L|ElvisoCyas Tem
10:30.31L|Elvisopurl: math 5!4!3!2!1!
10:32.57L|Elvisopurl, how long until robots take over the world?
10:38.20KolthElviso: Can I bug you about Hunter talents quicklike?
10:39.15L|Elvisosure
10:39.30KolthLeveling, I'm focusing 100% on Beast. Sound right?
10:39.44L|Elvisoits probably the strongest
10:40.17KolthIs that basically what you used leveling?
10:40.26KolthI'm straight-shotting to Bestial Wrath
10:41.15L|ElvisoI leveled way before the 1.7 overhaul
10:41.16L|Elvisoso no
10:41.24L|Elvisobut looking back, I would've
10:41.28Kolthk, thanks
10:41.37KolthThe talents are fairly straight-foward with that out of the way.
10:41.50L|Elvisoone of the finer points of BM is it's for the most part independent of your gear
10:42.23KolthBM?
10:42.29L|Elvisobeast mastery
10:42.35KolthOh :)
10:43.03L|ElvisoI've been tempted to start another hunter just to level him using BM
10:43.09L|Elvisobecause it looks like fun
10:45.04[MoonWolf]i dont understand what is usefull about the bm tree beyond the intimidating growl
10:45.11[MoonWolf]BW isnt worth it IMHO
10:45.31KolthMoon, what would you do leveling?
10:45.56KolthMarksmanship is great, but can a pet keep aggro?
10:46.02[MoonWolf]take marksman to aimed shot, then take bm
10:46.39L|Elvisoaimed shot's only good for pvp or end-game raids
10:46.40[MoonWolf]my pets ( a wolf, and a board) keep agro
10:47.04[MoonWolf]L|Elviso, i disagree. it think it is usefull in pve.
10:47.08KolthI'm interested in Aimed Shot, but I'm unsure.
10:47.24KolthMaybe I'll try it out once I get Beastial Wrath
10:47.54Corrodiashow are end-game raids aided by aimed shot?
10:48.13L|Elvisoits the best dps/mana shot, that and multishot
10:48.17[MoonWolf]this is a leveling build w are talking about.
10:48.32Corrodiasis it better DPS than normal shots?
10:48.34L|Elvisoleveling up, every few levels you will hit the point where your pet's growl will become really weak
10:48.53L|ElvisoCorrodias: it's better than arcane
10:49.03[MoonWolf]everything is better then arcane
10:49.28KolthEnd-game Hunters use Aimed and Multi
10:49.30Corrodiasarcane shot is instant
10:49.33[MoonWolf]the only time i use it is when i need to push out a slithgly more damage or when my oponent is shielded against physical.
10:49.37Corrodiasits damage per second for a single shot is infinite
10:49.41L|Elvisowith a weak growl, and an aimed shot crit, your pet WILL lose aggro
10:50.05Corrodiaswhat i mean is, are you actually doing damage -faster- with aimed shot than with normal shots?
10:50.19Corrodiassince it has a long cast time
10:50.30[MoonWolf]disengage the run away start shooting again
10:50.39KolthCorrodias: It's tons more damage than Arcane Shot.
10:50.53Corrodias(that is irrelevant to my question)
10:50.58L|Elvisodisengage takes time (mob runs to you > d/e > you run away), and it's hardly full-proof
10:51.05KolthYou are doing damage faster.
10:51.35[MoonWolf]L|Elviso, i cant argue agains that. if everything goes wrong you cant do anything agains it.... no shit.
10:52.37L|Elvisowell, for leveling...unless you twink your char to the max, you will alot of times have weapons that are inferior for aimed shot dps
10:52.50Corrodiasah, it's only a 3 second cast time... it has been a while. maybe it is a little faster DPS, after all
10:53.58Corrodiasoh, that's right, you can fire a normal shot just before you start the aimed shot, can't you?
10:54.17KolthCorrodias: I'd imagine since all other shots are like that.
10:54.29Kolth(My highest Hunter is 28)
10:54.50[MoonWolf]sure you can, what i usually do it, aimed shot, multieshot (autoshot happens around this time too) then a sting, rotate multi and aimed
10:54.55L|ElvisoCorrodias: yes...and you will fire another autoshot directly after the aimed goes off
10:55.03[MoonWolf]they usually are dead by the time my new aimed shot is ready though
11:13.02krka|workanyone here using MapLibrary btw? i'd want a copy of that part of your savedvariables if so
11:16.20L|Elvisono, sorry
11:18.14grollwho made bosspanel now again?
11:19.30[MoonWolf]ccknight
11:19.38[MoonWolf]ckknight*
11:25.28s|louphow long is the time to join a bg when starting the port-window?
11:25.34s|loup2 minutes?
11:25.58L|ElvisoI believe so
11:26.04s|loupk thx
11:26.05KirovIs there any way to check how many variables a function takes?
11:26.24Kirovapart from just entering random crap till it gets unhappy
11:30.55krka|workno
11:42.36Miravlixkrka: What do you need from the ML savedvariables?
11:44.47*** join/#wowi-lounge hoffe (n=hepp@62.119.159.41)
11:52.04*** join/#wowi-lounge Andalia (n=xx@p54ADB97A.dip0.t-ipconnect.de)
12:07.39[MoonWolf]work damnit
12:08.24[MoonWolf]hey it worked
12:12.31*** join/#wowi-lounge Tain (n=tain@ip68-109-28-84.ri.ri.cox.net)
12:14.57L|Elvisoanyone got a sec to help me with some GUI XML?
12:15.09Kirovsure
12:15.15KirovI'm dead right now in game
12:15.20L|Elvisok, let me upload SS and code
12:16.46L|Elvisohttp://kenman.net/wowi/border.jpg
12:16.56L|ElvisoI'm trying to get rid of that fuzz around the outer border
12:17.28L|Elvisohttp://wow.pastebin.com/630594
12:17.37Wobin_have you tried bribing them with donuts?
12:30.19L|ElvisoKirov, you should die again so you can help me :)
12:30.43Kirovhehe
12:31.56Kirovhttp://wow.pastebin.com/630612
12:34.37Kirovif you really want the smaller border, try 24x24
12:35.01L|Elvisostill there :\
12:35.10L|ElvisoI don't mind that bone-type border, I like that
12:35.24L|Elvisoit's the square background look to the borer that's ugly
12:35.46KirovYeah, this should fix it
12:40.03L|Elvisodid you have something else coming?
12:40.59Kirovno
12:41.34L|Elvisooh
12:41.39Kirovplay with edge size and see if you can change it
12:41.44Kirover, tilesize
12:42.10L|Elvisook, thx
12:43.00Kirovhmm
12:43.07KirovI'm trying to reproduce what you're seeing, and I can't
12:43.25L|Elvisoyou see it in the SS though, right?
12:44.39Kirovyeah
12:46.11L|Elvisothis is typical. I get the coding and 99% of the GUI take 1% of my time, but there's always some tiny part of the UI that bugs me to the point of spending 99% of my time on it.
12:47.22KirovYeah
12:47.41KirovI have a frame that's moved 4.5 units to try and fix something =)
12:48.48Kirovah
12:48.51KirovI think I found it
12:49.08Kirovnope
12:49.10Kirov>.<
12:50.42Kirovooo!
12:51.08L|ElvisoDOH
12:51.19Kirov"$parentBG"
12:52.17Kirovsee it?
12:52.28L|Elvisoyes
12:54.09L|Elvisois that significant? I'm a WoW UI n00b :)
12:54.55Kirovdelete that
12:55.00Kirovand your problems will be solved
12:55.56Kirovhttp://wow.pastebin.com/630645
12:55.59L|Elvisofrom <layer> to </layer> ?
12:56.03Kirovyep
12:57.18L|Elvisonow we're talkin!
12:57.28L|Elvisoappreciate it, Kirov
12:58.06Kirovbtw
12:58.23Kirovdoes itemmagic let you enter in full item ids?
12:58.32Kirovor just base itemids
12:58.50L|Elvisofull
12:58.58[MoonWolf]what will it do ?
12:58.58L|Elvisobut its limited
12:59.18KirovLimited how?
12:59.21L|Elvisolike I made a [Hand of Ragnaros of Markmanship]
12:59.26L|Elvisothat had +91 RAP
12:59.38L|Elvisoand the tooltip was there
12:59.49L|Elvisobut when I tried to create the item link, it booted me
12:59.49Kirovright, but it'll kick you from the server now
12:59.52[MoonWolf]it converts itemid's to links ?
12:59.55L|Elvisoyes
13:00.03[MoonWolf]i'll love you for that
13:00.08L|Elvisoi'm just modifying the original
13:00.10[MoonWolf]that makes testing mendeleev so much easyer
13:00.25L|Elvisothe original had a "query server" box, but would disco you if it hadn't been seen
13:00.40L|Elvisomine will auto-query the server, and it wont boot you if it hasn't been seen
13:00.49[MoonWolf]awesome
13:00.53L|Elvisoit'll politely tell you it hasn't been seen
13:01.04L|Elvisohehe
13:01.15L|Elvisoit's almost ready.....now what to do about contacting the original author.... hehe
13:02.11[MoonWolf]write him a notice, include a reference to where you can find the original and credit the original author for his work.
13:02.36[MoonWolf]assuming the old auther has not been sighted for a looong time.
13:03.02L|Elvisothe only version I could find was listed as a test version (although it seemed to do what it was supposed to do well)
13:04.23Kirovhttp://wow.pastebin.com/630653
13:05.24L|ElvisoI'm not sure if that'd be needed or not
13:05.27KirovWill prevent some of the more egregious bad items
13:05.36L|Elvisolike DI boots?
13:05.51KirovWell, if you try to make a backpack of agility, it won't let you
13:06.18TainThere should be enchanted bags.
13:06.38L|Elvisooh, hrmmm
13:06.46MiravlixBuffBotTooltip:SetOwner(this, "ANCHOR_NONE")
13:06.46MiravlixBuffBotTooltip:SetUnitBuff(unit,buff_index)
13:07.02MiravlixWhat am I missing here since the tooltip is empty still
13:07.12L|ElvisoI'm not really concerned with that....my main reason for making/modding this is for checking to see which AQ items have been looted on the server
13:07.24s|louphave you checked if unitexists?
13:07.36AnduinLotharand there we have it. the CastOptiosn frame lag is caused soley by the extra CastOptionsTooltip:SetOwner(UIParent, "ANCHOR_NONE"); in the ActionButton_UpdateUsable hook
13:07.58Kirov!?
13:08.05[MoonWolf]why put a setowner there.....
13:08.26AnduinLotharthere's a tooltip scan
13:08.40KirovShit, is "ANCHOR_NONE" bad?
13:08.41MiravlixUnit is player
13:09.04AnduinLotharno, it's the correct call, it is nto however 'fast'
13:09.52s|loupmiravlix can you pastebin some more code pls?
13:10.36KirovAnduinLothar - right, but is it causing all the crash lag issues people have been experiencing in this patch?
13:10.36MiravlixI try to read BuffBotTooltipTextLeft1:GetText() but it returns nil
13:10.42s|loupmaybe u should use http://www.wowwiki.com/API_GameTooltip_SetPlayerBuff
13:10.45KirovNow that everything and their grandma uses it
13:11.01Miravlixs|loup: Nope
13:11.17AnduinLotharif they are using CastOptions it is
13:11.27MiravlixI'm not concerned with the sort order
13:11.37Miravlixand thats the only issues with unitbuff over player
13:12.14s|loupits got only trouble with "player" or also with other unitids?
13:12.33KirovI do almost identical code in my AQAutoMount with out issue
13:13.01MiravlixI've fixed 9384793847 SetOwner bugs
13:13.04[MoonWolf]Kirov, almost , that might yust be almost enough to not cause it.
13:13.07MiravlixBut this one just doesn't work
13:13.39KirovMiravlix - what is "this" in this example?
13:13.56MiravlixBuffBotTooltip:SetOwner(UIPARENT, "ANCHOR_NONE")
13:13.56MiravlixBuffBotTooltip:SetUnitBuff(unit,buff_index)
13:14.02MiravlixBut there is no tooltip
13:14.11KirovIs it actually UIPARENT?
13:14.15Kirovor UIParent
13:14.19MiravlixIt was this before
13:14.22s|loupUIParent
13:14.23MiravlixI just changed it
13:14.46MiravlixI quoted the same lines 5 lines ago...
13:15.14s|loupno there you said 'this' instead of 'UIPARENT'
13:15.32MiravlixYes I*M TRYING TO FIX THE FUCKING CODE
13:15.37s|loup^^
13:15.42s|loupdont panic
13:15.44MiravlixSo I changed it and pasted what I had just changed
13:16.00s|loupget a cup of tea *hersyourtea*
13:16.06MiravlixAnd I had fucking mistyped what I had changed but not yet reloaded and tried in game
13:17.54MiravlixThere we go, when all else fail, figure it out yourself
13:18.26MiravlixSome design of the function means this isn't a propper value.
13:18.46Kirovhmm
13:18.50Kirovtesting this myself
13:19.08Kirovusing "player" as the unit results in an empty tooltip
13:19.28KirovEven when I make it visible
13:20.42MiravlixIt's my SetOwner as I expected that was wrong
13:20.53MiravlixWith a propper owner it works
13:21.34Kirovmost curious
13:22.01MiravlixNot really
13:22.10Miravlixa broken owner is just as bad as no owner
13:25.02MiravlixWhat would have been nice was to find out why the same setowner line I've used to fix all other issues, is broken in this one case.
13:26.16AnduinLotharcast optiosn seems to work without the anchor... odd
13:27.32MiravlixDidn't I do a SetOwner for castoptions in onload or something?
13:28.29AnduinLotharwonder if it works on zoning
13:29.24krka|workdamn... font-settings in css seems very odd
13:29.36krka|workdoesn't seem to inherit very well
13:29.38MiravlixNaah, don't think I touched CO
13:29.49krka|worki have to specify for the exact element, not any parents
13:29.56MiravlixI can see Mug added anchor before every tooltip call
13:30.09Miravlixthey all need to be wiped and one made
13:30.38AnduinLotharlooks liek you can just wipe the one in CastOptions.ActionButton_UpdateUsable
13:31.03AnduinLotharand move the local pagedID = ActionButton_GetPagedID(this); up two lines and make the one bellow it IsUsableAction(pagedID);
13:31.05MiravlixMaybe, he has 10 of them all over
13:31.22MiravlixI don't know if UpdateUsable can be called before any of the others
13:32.57MiravlixWhy not just stuff one CastOptionsTooltip:SetOwner(UIParent, "ANCHOR_NONE");
13:33.03Miravlixinto CastOptions.Onload?
13:33.16MiravlixDo our owner get wiped on zoning?
13:33.18AnduinLotharnot sure if it works for zoning
13:33.36MiravlixThen PLAYER_ENTERING_WORLD SetOwner?
13:33.46AnduinLotharya, in addition to onload
13:34.37MiravlixWhy in addition?, PEW happends onload and onzone
13:35.05AnduinLotharonload woudl catch anythign happening vars loaded
13:35.40MiravlixHmm, my onload code is broken, just commented all setowners and stuck one in onload, but it isn't working
13:37.02AnduinLotharoh wow, they changed the stats on my star of mystaria
13:37.18AnduinLothar:/ made it a caster amulet
13:37.20MiravlixProlly because of MCom
13:37.27MiravlixWhat?
13:37.45AnduinLotharused to have agil, they changed it to +1% spell crit
13:38.19AnduinLothari think..
13:38.50MiravlixThe version I get is +9 sta +9int +8 spi and 1% to hit with spells
13:39.03AnduinLotharya, that's what it is now..
13:39.53MiravlixI guess reading errors has it's uses...
13:39.56MiravlixError: Interface\AddOns\CastOptions\CastOptions.lua:2974: attempt to index global `CastOptionsTooltip' (a nil value)
13:40.13Maldiviatooltip:SetOwner(...) :)
13:40.18Maldiviaor?
13:40.40Maldiviaohh wait, yeah - actually reading ftw :)
13:42.57MiravlixOkay, I need to stuff it into OnVarsLoaded
13:43.28MiravlixNow to find a zone to see if that wipes our owners
13:44.57MiravlixNo negative effect on zoning I can see
13:45.04AnduinLothartry a bg
13:45.27AnduinLothari kept having trouble in bgs with ismounted that way..
13:45.44krka|workhmm... why not SetOwner before usage?
13:45.50krka|workthat would probably be easiest / safest
13:45.53AnduinLotharlag for frequent calls
13:46.06krka|workanyone measured how much time SetOwner takes?
13:46.12krka|workcompared to SetUnitBuff or something
13:46.41AnduinLothar1 setowner causes lag in a ActionButton_UpdateUsable hook
13:46.54AnduinLotharnoticible frame lag
13:49.09krka|workweird
13:50.15*** join/#wowi-lounge Kirov_ (n=Kirov@adsl-68-127-158-251.dsl.pltn13.pacbell.net)
13:50.40*** join/#wowi-lounge JoshBorke (n=Josh@antimatter.stl.gtri.gatech.edu)
13:50.43Kirov_Each SetOwner cost about 0.1 milliseconds
13:50.52JoshBorkegood morning
13:50.55Miravlixwoha thats A LOT
13:52.15AnduinLothar* # of action buttons * fps = lag
13:52.45[MoonWolf]YEAH
13:52.48krka|worklet's see.... 12 action buttons (default) * 0.1 ms = 1.2ms
13:53.22krka|worknot sure i believe that can cause lag
13:53.27[MoonWolf]Even the default blizz interface shows around 3 bar * 12 is 36 buttons.
13:53.52[MoonWolf]most people populate their side bars
13:53.57*** join/#wowi-lounge qwxyr (i=qw@201.80-202-198.nextgentel.com)
13:53.59krka|workdefault shows 1 bar afaik
13:54.02MiravlixI have 5 bars visible
13:54.07Kirov_heh
13:54.09krka|work3.6 ms lost per frame
13:54.09krka|workhm
13:54.13MiravlixDefault people is not important
13:54.13[MoonWolf]that hurts.
13:54.21MiravlixDefault ppl doesn't have addons
13:55.08MiravlixAnd it could be more, if things get evaluated more than once
13:56.06Kirov_uhg
13:56.06MiravlixI've always hated the insane number of function calls in some of the Cosmos addons
13:56.59MiravlixJust a barebone UI is something like 100K functions calls pr. 30 seconds
13:58.58MiravlixCan't get into any BG's at any level on my server
13:59.33MiravlixSo when CO and others hooks in to the barebone UI we easily double/triplle or worse the number of calls
14:00.46MiravlixBottom line is, your 0.1ms is 30-100ms after things gets done
14:01.05krka|workhm
14:01.22krka|workcould do this perhaps:
14:02.34MiravlixI can't seem to make CO break, but since it saves things, some of it might not break until I level up and zone to the trainer
14:02.50Kirov_Has anyone looked to see how text gets set in tooltips?
14:02.57krka|workfunction TooltipSet(tooltip, what, arg1, arg2, arg3) if not tooltip.ownerSet then tooltip.ownerSet = 1 tooltip:SetOwner("UIParent", "ANCHOR_NONE") tooltip.what(tooltip, arg1, arg2, arg3) end
14:03.06krka|workshould be pretty fast
14:03.20Kirov_ie: are they calling "settext" or their own internal method
14:03.20krka|workoops, forgot some ends:
14:03.26krka|workfunction TooltipSet(tooltip, what, arg1, arg2, arg3) if not tooltip.ownerSet then tooltip.ownerSet = 1 tooltip:SetOwner("UIParent", "ANCHOR_NONE") end tooltip.what(tooltip, arg1, arg2, arg3) end
14:04.24MiravlixIn a function that gets called 100K times in 30 seconds
14:04.34Miravlixthats going to generate a nice amount of GC
14:05.17Maldiviahow will that cause any gc?
14:06.08krka|worki am wondering the same thing
14:06.27krka|workfunction TooltipSet(tooltip, what, arg1, arg2, arg3) if not tooltip.ownerSet then tooltip.ownerSet = 1 tooltip:SetOwner("UIParent", "ANCHOR_NONE") end tooltip[what](tooltip, arg1, arg2, arg3) end
14:06.53krka|workusage: TooltipSet(tooltipRef, "SetUnitBuff", 3)
14:08.23krka|workthink i will add some tooltip helpers to my util-pack
14:08.49Maldiviahmm, can you use tooltip:GetAnchorType() to test if it's owned/anchored ?
14:08.58s|loupand what is tooltipRef["SetUnitBuff"] ?
14:09.15krka|worktooltips have the function SetUnitBuff defined
14:09.49Maldiviatooltip["SetUnitBuff"](tooltip, arg1, arg2, arg3)  -- is the same as tooltip:SetUnitBuff(arg1, arg2, arg3)
14:10.16krka|workexactly
14:10.32s|loupthought only . can be replaced by []
14:10.41krka|workwell, : can be replaced by .
14:10.54Maldiviat:s() is syntax sugar for t.s(t)
14:11.04Kirov_GetAnchorType is considerably faster that doing the set itself
14:11.04MiravlixNo problems in BG's
14:11.11krka|worktooltip:A(x, y, z) -> tooltip.A(tooltip, x, y, z) -> tooltip["A"](tooltip, x, y, z)
14:11.29Kirov_0.0001 milliseconds
14:11.49krka|workmine would work too... unless the owner gets unset somehow?
14:11.50krka|workcan that happen?
14:11.56Maldiviabut what does GetAnchorType return for tooltips where SetOwner has not been valled?
14:11.58Maldiviacalled*
14:12.23krka|workwe can use IsOwned i suppose
14:12.26Maldiviawell, apparently, the owner can be unset, otherwise the SetOwner in OnLoad would work everytime
14:12.41MaldiviaIsOwned requires a frame reference, to check if it's owned by that frame
14:12.54krka|workso use a refence to UIParent
14:13.03MaldiviaWorldFrame
14:13.10krka|workfine, worldframe :P
14:13.19krka|workis it because the owner needs to be visible?
14:13.45MiravlixThe higher up the hiracy the worse
14:13.55MiravlixWorldFrame gets a lot more trafic
14:14.13krka|workso, setting it to itself should work?
14:14.49krka|workfunction TooltipSet2(tooltip, what, arg1, arg2, arg3) if not tooltip:IsOwned(tooltip) then tooltip:SetOwner(tooltip, "ANCHOR_NONE") end tooltip[what](tooltip, arg1, arg2, arg3) end
14:14.51s|loupcan an object be the owner of itself?
14:14.51krka|workwould that work?
14:15.06s|loupi dont think so
14:15.08krka|workexactly what does setting the owner do?
14:15.11krka|workwhy do we need it?
14:15.31MiravlixNo idea
14:15.44krka|workwe have no clue what SetOwner does?
14:15.46s|loupowner is the trustee of the object?
14:15.56MiravlixDoesn't 'help' making it any less bloody annoying that we need to set it and we have no idea why
14:16.39AnduinLotharmira, can you commit your castoptions fix plz
14:16.59MiravlixWill do
14:18.09s|louphm looks like setowner is the same as setanchor
14:18.11Kirov_hmm
14:18.17MiravlixHmm, faith? SVN is lagging so I can't commit. :)
14:18.46s|loupbut also to say to what object to arrange
14:18.54krka|workblizzard uses SetOwner to place the tooltip relative other frames
14:19.42s|loupso can u use frame-functions on a gametooltip
14:19.47krka|workand the reason tooltips don't work for us anymore is because the ui engine is smart enough to ignore stuff that isn't shown
14:19.57krka|workyes
14:20.17s|loupthen GetAnchor should work, shouldnt it?
14:20.22krka|workmaybe
14:21.06krka|workbasically, we just need to set the owner to a frame that's always visible
14:21.16krka|worki think
14:21.25Maldiviaand WorldFrame is always visible
14:22.47krka|workexactl... hm
14:22.58MiravlixMost of the addons I've OWNED!!1! use hidden frames
14:23.16MiravlixDidn't seem like it needed to be anchored to a visible frame.
14:24.22krka|workthen it must be something else
14:24.38krka|workwas that before or after 1.10?
14:24.47MiravlixI just did tooltip:SetOwner(this, "ANCHOR_NONE") in the updates so far
14:24.58MiravlixBuffBot is the first addon where this didn't work in
14:25.58krka|workwhat is "this" in those cases?
14:26.26MiravlixDepends on how the function is called
14:26.28Legorolmorning
14:26.40MiravlixBut this is initialized by the frame that triggers a call
14:26.52krka|workmaybe something overwrites this somewhere?
14:26.54krka|workmorning lego
14:26.57LegorolMiravlix: that should've worked
14:27.14krka|workcan you grep buffbot for "this"?
14:27.16Legorolin my experience, it doesn't matter what the Owner is, if you come across a case where it does, i'd be very curious
14:27.28MiravlixI used UIParent for BuffBot and forgot about it
14:27.32Legorolthing to check for: who is the parent (as opposed to owner) of the tooltip?
14:27.52krka|workthe parent must always be visible atleast?
14:27.53Legoroltooltips work best when they don't have an explicit parent
14:27.59MiravlixBB's code gives me the creeps for some reason so I'm going to forget it now that it works
14:28.00Legorolkrka: no, doesn't have to be
14:28.14LegorolMiravlix: so how did you fix it in BB?
14:28.20krka|workmy krkaButtons got bugged yesterday
14:28.25krka|workthe tooltip:Set... didn't work
14:28.32Miravlixtooltip:SetOwner(UIParent, "ANCHOR_NONE")
14:28.36Legorolright
14:28.43krka|workafter i had applied the fix btw
14:28.45MiravlixWe use UIParent in CO too
14:28.47Legorolmaybe sometimes it can matter who the owner is
14:28.55krka|workit started giving errors after i received a quest
14:28.58Legorolmaybe the owner has to be visible
14:29.15Legorolkrka: strange
14:29.19krka|work<PROTECTED>
14:29.34Legorolkrka: i strongly recommend you SetOwner the tooltip each time before you use it
14:29.35MiravlixAfter you reviced a quest???
14:29.44MiravlixLegorol NOOOOOOOOOOOOOOOOOOOOOOOOO
14:29.50Legorolit's not a significant performance overhead
14:29.51MiravlixSetOwner is a Expensive call
14:30.03MiravlixIt's the reason CO is lagging everyone
14:30.05Legorolreally..
14:30.13Legorolwow, nice of you to have figured that out
14:30.18krka|workLegorol, what would unset the owner though?
14:30.28MiravlixAndu figured it out
14:30.32Legorolhow do you propose to unset it, krka?
14:30.33krka|workCO?
14:30.41krka|workno idea, i am asking :)
14:30.48LegorolMiravlix: that'd explain why it was lagging only for some people
14:30.50krka|workshould be enough to set it once
14:30.54MiravlixI just removed all SetOwners and made one VarLoaded SetOwner
14:30.55LegorolSetOwner is probalby very CPU intensive
14:31.13MiravlixCastOptions
14:31.17Legorolkrka: there are cases where it's not enough to set it once
14:31.26Legorolif the tooltip gets hidden for some reason,
14:31.31Legorolthen you have to re-SetOwner
14:31.49Legorolfor example, if the tooltip has a parent and you call parent:Hide(), for some weird reason tooltip:Hide() also gets called
14:31.58Legorolafter which you need to re-SetOwner
14:32.17Legorolwhich is one of the reasons why i'm telling everyone not to have a parent for their tooltip
14:32.34krka|workah, makes sense
14:33.20krka|workso either always setowner, or have no parent
14:33.52krka|workwhy can't we just use tooltip:IsOwned(frame) ?
14:34.02krka|work(see my function definition above)
14:34.58MiravlixI have an issue with the fact that function adds 3 function calls to code that already can get called insane number of times pr. frame
14:35.08Legorolkrka: because hiding the tooltip doesn't remove owner
14:35.22Legorolafter a tooltip:Hide(), tooltip:IsOwned(tooltip) would still return true
14:35.24krka|workthen the problem isn't really that it needs an owner
14:35.34Legorolyou are correct, it's not that
14:35.40LegorolSetOwner performs a bunch of init-code
14:35.42MiravlixIt needs an anchor
14:35.53Legorolwhen you Hide() the tooltip, it destroys some internal state,
14:35.57MiravlixBut if thats true why do SetOwner
14:35.59Legorolwhich has to be reinitialized
14:36.02Miravlixand not just SetAnchor?
14:36.46Legorolhttp://www.wowwiki.com/Tooltip_Pseudo_Code
14:37.01LegorolLua-style representation of the function of most tooltip functions
14:37.12Legorolit's fairly accurate, although i haven't updated it for 1.10 yet
14:37.16Legorolmost of it still applies though
14:37.20krka|workah... the valid bit
14:37.21krka|workgotcha
14:37.53Legorolyup, it's an abstract representation of some unknown internal state that needs resetting
14:38.02Legoroli don't know *why* it's implemented like this
14:39.33krka|workhmm.... my gametooltip is hidden="true" in xml
14:39.43Legorolthat doesn't matter
14:39.43*** join/#wowi-lounge Osagasu (n=Kronus@rhhe10-109.2wcm.comporium.net)
14:39.44krka|workis that "performed" after or before OnLoad?
14:39.48Legorolthat just specifies initial state on load
14:40.12Legorolkrka: afaik, it isn't performed as such
14:40.19krka|worki see
14:40.23krka|workbut it's ok for it to be hidden?
14:40.24Legorolif hidden="true" then the object starts hidden
14:40.41krka|worki thought the problem was that the new engine ignores hidden stuff
14:40.42Legorolif hidden="false", then presumably at some point its Show() gets called
14:41.21Legorolthe thing that gets ignored on hidden stuff is OnUpdate
14:41.26Legoroland that has always been like that
14:41.58Legoroli think slouken did tweak something a littlebit so that if hidden="true", then less things happen to the object to start with
14:42.10Legorole.g. the layout engine doesn't calculate its position etc.
14:42.25Legorolbut when you call Show() (which the tooltip Set methods implicitly do) it does work stuff out
14:45.01krka|workso i shouldn't need to have hidden=true
14:45.20krka|workwithout an anchor, it won't be visible anyway
14:46.20MiravlixI just need a simple list
14:46.28MiravlixIf this then you need to Setowner
14:46.40Miravlixso far the list has onload in it, but what other conditions
14:46.54krka|workon tooltip hide i guess
14:47.06krka|workor should probably remove all tooltip hide
14:47.11krka|workand replace all tooltip show with setowner
14:47.25Kirov_http://wow.pastebin.com/630839
14:47.48Kirov_am I doing something wrong here?
14:48.36krka|workwhy do you ask?
14:48.40krka|workdo you get any errors?
14:48.44krka|workdoesn't it work as you like?
14:49.25krka|workhttp://wow.pastebin.com/630842
14:49.34krka|workthat's the only error i found
14:50.48Kirov_forgot to inherit too
14:50.59krka|workoh right
14:52.10Kirov_hmm
14:52.14Kirov_not working still
14:53.38*** join/#wowi-lounge Andalia_ (n=xx@p54ADB757.dip0.t-ipconnect.de)
14:53.59s|louponload is before on entering world isnt it?
14:54.09krka|worki think so
14:54.12s|loupso it cant write to default chat frame?
14:55.03MiravlixI'm going to strangulate you if you make addons that SPAMS on load
14:55.19s|louphihi
14:55.30MiravlixI keep loosing error messages on startup do to stupid addons that think I really care that 983247928437 of them is spamming they load.
14:56.16s|loupas i think the most addons tel the status after event Variables_loaded
14:56.33Miravlixno, most do it onload
14:57.02MiravlixBut I only want to hear from an addon if it has something IMPORTANT to tell me.
14:57.06Kirov_If I manually set that function to each font object it works, but not onload
14:57.56s|louphm im going home cu
14:59.53Kirov_oi, way too tired for this code
15:00.01MiravlixI find the concept of tooltip:hide() confusing since we want our tooltip to be hidden mostly
15:00.06Kirov_I was setting the gametooltip instead of the settexttooltip
15:00.10Miravlixthere is veyr few addons that has visible tooltips
15:00.32Kirov_Miravlix - except that all of WoW's ui has nothing but shown tooltips
15:00.37Kirov_or rather, one tooltip
15:00.52MiravlixIt's not shown
15:00.59MiravlixI sure as hell can't see buffbots tooltip
15:01.18Kirov_I'm refering to Blizzard's own UI for WoW
15:01.22MiravlixNeither any of CastOptions
15:01.25Kirov_They don't use hidden tooltips
15:01.32Kirov_They don't need to, obviously
15:01.52Kirov_But their optimizations are focused on fixing their ui, not others
15:02.29MiravlixBlizzard tooltips was broken?
15:02.33Kirov_slouken does what he can, but he has people telling him what he can and can't do.
15:02.42Kirov_no
15:02.56Kirov_But Blizzard's tooltips only ever have to show anything when they're actually being shown.
15:03.48MiravlixAnd why does that make SetOwner significant?
15:03.50Kirov_ie: the fact that data isn't being set in them unless they've had "SetOwner" run means nothing to them since they always do a SetOwner before using a tooltip.
15:04.39MiravlixSo what excatly does forcing SetOwner fix in the Blizzard UI?
15:05.01Kirov_Doesn't fix anything
15:05.10MiravlixThen why was it needed?
15:05.17Kirov_But might save some memory or performance
15:05.30MiravlixIT SLOWS DOWN
15:05.43Kirov_When it's called, yes
15:05.44MiravlixAnd 1.10 uses way more memory
15:07.03MiravlixI don't think Blizzard care at all about memory
15:07.25MiravlixBut if Bliz UI is using SetOwner then it's SLOWER now than it was before with the new SetOwner functionality
15:07.44krka|workbut blizzard doesn't do that OnUpdate
15:07.52krka|workonly on mouseovers, afaik
15:08.01Kirov_Actually
15:08.22MiravlixI sure hope none of us is doing tooltip scanning in OnUpdate
15:08.27krka|worki am!
15:08.28Kirov_Any item or action that has a cooldown is doing a SetOwner every .1 second
15:08.34krka|worklazy tooltip scanning though
15:08.39MiravlixThen your freaking crazy
15:08.45krka|workwhy?
15:08.54MiravlixBecause it's slow and cost FPS
15:09.10krka|worki haven't noticed it being slow at all
15:09.37MiravlixTooltip scanning is just about the slowest thing in the UI
15:10.07MiravlixOnly thing slower must be moving things around in your inventory
15:10.19Kirov_heh
15:10.23krka|worki do it _lazily_
15:10.27Kirov_that's because those are server side
15:10.49krka|worki scan spellbook, inventory, actions, buffs
15:10.57krka|workand bag
15:11.01*** join/#wowi-lounge Cide (i=Cide@81-226-233-5-no60.tbcn.telia.com)
15:11.11krka|workspellbook updates almost never
15:11.14MiravlixIn OnUpdate?
15:11.20krka|workno, on demand
15:11.43krka|workmy buttons request it on update though
15:11.50krka|workbut it doesn't actually scan unless something has changed
15:12.11MiravlixThen it isn't OnUpdate tooltip scanning
15:12.12krka|workprobably scans buffs most frequently
15:12.25krka|workyes it is. i request buff status OnUpdate
15:12.36krka|workif some target has changed, i scan
15:12.46MiravlixOn update tooltip scanning is doing SetOwner, tooltip:SetSomething do something with the tooltip
15:13.18krka|workmy way is also OnUpdate scannign
15:13.36MiravlixNope
15:13.40krka|workwhy not?
15:13.56MiravlixI could write the same code without an OnUpdate function
15:14.06krka|workok... let's say you want to know buff on targettarget
15:14.13krka|workmy addon can handle that
15:14.20krka|workthus: scan on OnUpdate
15:14.47MiravlixNope
15:15.22MiravlixYou aren't performing a full run OnUpdate
15:15.40MiravlixYour just decided to implement an event handler in an OnUpdate function
15:15.57krka|worknot really
15:16.18Miravlixyes, really, it isn't an OnUpdate function in the normal sense
15:16.32krka|worki scan targettarget directly upon OnUpdate
15:16.33MiravlixIt's a bunch of if condition then do that
15:16.42Miravlixand then you set flags with the normal event handler
15:16.49krka|worknot for targettarget
15:18.20MiravlixWhat precisely are you doing that requires tooltip scanning every frame?
15:18.42*** join/#wowi-lounge Gryphen (n=gryphon@65-102-153-94.tukw.qwest.net)
15:18.53krka|workdidn't say it was every frame
15:19.02MiravlixOnUpdate is every frame
15:19.11krka|workbut i don't scan every frame
15:19.28Miravlix...
15:19.40MiravlixAs I said you aren't really onupdate tooltip scanning
15:19.48MiravlixYour just using it as a event handler
15:20.01krka|workwhatever
15:20.32MiravlixOh get real here
15:21.04MiravlixTry making an onupdate() function that tooltip scans all targetstargets buffs/debuffs ever frame update
15:21.12Miravlixand tell me that isn't going to kill your FPS?
15:21.37MiravlixThat was the fact at the beginning of the conversation
15:22.42krka|workno
15:22.51MiravlixBut no it was more fun to make this freaking stupid conversation
15:22.57krka|workOnUpdate isn't the same as _every_ call to OnUpdate
15:23.05MiravlixYes it is
15:23.14MiravlixOnUpdate = a pr. frame function
15:23.45MiravlixThat you implement an OnUpdate event handler, is a completely different solution to what OnUpdate does
15:24.01MiravlixYour taking OnUpdate normal functionality and building in a throttler
15:24.55MiravlixSo your code in the end will never get executed OnUpdate
15:25.04Miravlixbut On other conditions
15:25.22MiravlixYour Event handler gets executed on Update, that is true, but not your sub code
15:26.27krka|workwhat if it gets executed on 99% of OnUpdate calls?
15:27.08MiravlixThats around 40 times pr. second on my system
15:27.31MiravlixThats going to reduce my FPS to nothing
15:27.37krka|workwhere do you draw the line for whether it's done on OnUpdate or not?
15:28.02Miravlixfunction onupdate() a = a + 1 end
15:28.06MiravlixThats done onupdate
15:28.31Miravlixfunction onupdate() if Flag then end
15:28.39MiravlixThen if is performed on update
15:28.45Miravlixbut then <code> isn not
15:31.03Miravlixif UnitBuff("targettarget", 1) then tooltip scan for details end
15:31.43MiravlixThat one is tricky, since you would OnUpdate do the tooltip scanning while your target has a target and that target has a buff
15:32.55MiravlixBut then I would erase an addon with that code, since it would reduce my fps to 0 every time my target had a target with a buff
15:33.41krka|workreally?
15:33.54krka|workdon't think it would be that bad
15:34.04Miravlix40+ tooltip scans pr. second is bad
15:34.32MiravlixJust onload scanning the spellbook is bad
15:34.39MiravlixThats why we all started using textures
15:35.32JoshBorkei have a noobish question:  If I have a checkbox in a frame, how can i Center the text horizontally for the checkbox in the frame?
15:36.28MiravlixWith SetOwner tooltip scanning done badly is horrible slow
15:37.30ckknightokay, I have a button inside a button. How do I make sure that the inner button takes events like OnEnter? It used to work but now it seems broken.
15:41.45krka|worki am interested in seeing how much slower your system would get using GRAB, Miravlix
15:41.47*** join/#wowi-lounge Maldivia (i=the_real@85.24.45.58)
15:41.55krka|worki scan the spellbook and stuff
15:41.57krka|workthough not on update
15:45.10krka|workhow long would it take me to write a simple BossPanel plugin?
15:45.12MiravlixUnless you hook/onupdate in bad ways, the fps cost should be so small that I couldn't detect it
15:45.31MiravlixThe problem is with 170 addons all taking there bite out of FPS, it becomes an issue
15:45.50krka|workyou said simply 40+ scans per second is bad enough
15:46.04MiravlixYes
15:46.25MiravlixMake a test onupdate that scans your own buffs every onupdate
15:46.37Miravlixand tell me if you can move at all
15:46.41krka|workok
15:46.59krka|workfor i = 1, 40 do tooltip:SetPlayerBuff(1) end
15:47.00krka|workthat enough?
15:47.32krka|work<PROTECTED>
15:47.41krka|workhave to use a timer
15:47.41Miravlixactually simply tooltip:SetPlayerBuff(1)
15:47.51krka|workyeah, that's be enough
15:49.21MiravlixAtleast I beleive it's that line thats slow
15:49.37MiravlixNot the reading of tooltipleftright1super
15:50.48*** join/#wowi-lounge Kirkburn (n=George@151.56.202.113)
15:50.50Cidehi Maldivia?
15:51.15MaldiviaCide: nevermind, saw you posted a reply in one of the thread in the forum (CT_RA CastSpellByName hook)
15:51.22Cideaye
15:51.27Miravlixtooltip:Set<Something>, tooltiptextleft1:GetText())
15:51.34MiravlixThe GetText() might be slow too
15:52.15MiravlixI've never tested what part of a full tooltip scanning function that is the slow part
15:53.14MiravlixI know that CastOptions doing SetOwner, Set<function>, read in hooks made the UI grind to a halt
15:53.18MiravlixWasn't even onupdate
15:53.37krka|workwhen did it happen then?
15:54.04MiravlixCO hooks a lot of functions they get called something like 100K times pr. 30 seconds
15:54.20MaldiviaMiravlix: ok, just did an OnUpdate full player buff and debuff scan, with name, type and description
15:54.24Maldiviadidn't loose a single fps
15:55.01MiravlixThen why is it sutch a problem everywhere else?
15:55.33MiravlixFull tooltip scan?
15:55.51*** join/#wowi-lounge [MoonWolf] (n=moonwolf@f176182.upc-f.chello.nl)
15:57.09krka|workcan you increase amount of scans until you notice it?
15:57.14krka|workwould be nice to have some hard data
15:58.13Maldiviahmm, let me try
15:59.23Maldiviaofcourse, I'm limited by the fact, that I can only put 5 buffs onmyself to test with :)
16:00.01Miravlixfor i=0, i < 100, 1 then
16:00.05Miravlix5x100
16:00.27ckknightdoes know one know how to deal with a button-in-a-button?
16:00.32ckknightno one*
16:00.47MiravlixI know nothing of the gui stuff.
16:01.00JoshBorkefor SetJustifyH("directon") what is direction?
16:01.04Maldiviahaving a loop with 100 full reads every frame was noticeable
16:01.20ckknightJosh|Blah, "LEFT", "CENTER", "RIGHT"
16:01.27JoshBorkeckknight: danke
16:01.31MiravlixCan you pastebin the code?
16:01.38JoshBorkewhat does it Justify to though?
16:01.45ckknightits own width
16:01.49Miravlixthis is left justified
16:01.52JoshBorkehm
16:01.55Miravlix<PROTECTED>
16:02.08Miravlix<PROTECTED>
16:02.11JoshBorkewhat about a checkbox?
16:02.13ckknightI'm sure he understand what left, right, and center are
16:02.23Gryphenlol
16:02.31ckknightJoshBorke, likely the width of the checkbox
16:02.39JoshBorkelol, indeed, i know the difference between left, right and center :-P
16:02.46Gryphenyou sure?
16:02.52JoshBorkebah, i wish i could test at work :-/
16:03.10MaldiviaMiravlix: http://wow.pastebin.com/630946
16:03.18JoshBorkei want to center the text associated with a checkbox within the center of the parent frame
16:04.34MiravlixWhat did your GC say to the function?
16:05.01KirkburnPeople who use ClearFont here, have you had any problems?
16:05.09MaldiviaMiravlix: there's no GC on that method
16:06.09MiravlixYour creating strings with it
16:06.34Maldiviawell, not really
16:06.42MaldiviaI'm just referencing string in the string-table
16:07.04MiravlixThat complicates the equation, because it uses an already created string
16:09.12MiravlixBut in 99.9% cases all tooltip scanning would be against already existing strings
16:10.30MiravlixSo what are we talking here your executed the tooltip scanning 40 * 5 * 30
16:10.58Miravlix6000 times pr. 30 seconds
16:11.20MiravlixCO does 100K function calls pr. 30 seconds
16:12.04Maldiviahmm, bugger - where's a working version of TraceEvent :)
16:13.02MiravlixOh, same code, but this time make it into a function called from onupdate
16:13.12MiravlixI wonder if this will make it a lot worse
16:13.20Miravlixtry both local and non local function
16:13.45Maldiviawell, there's already a function call, since it's <OnUpdate> ScanMe_OnUpdate() </OnUpdate>
16:14.24MiravlixYes, but after that your doing it the best possible way
16:14.30Miravlixall variables is local
16:15.03Maldivianot really best possible way, I have a SetOwner and a Hide every iteration
16:15.14*** join/#wowi-lounge Suntiger (i=moonwolf@f176182.upc-f.chello.nl)
16:15.17MiravlixJust removeing all the locals should be enough to change things significantly
16:15.33Maldiviano
16:15.41Maldiviawont change anything
16:15.56Maldiviathen you're just accessing the same 4 global variables
16:16.00MiravlixIt's slower to use non local variables
16:16.08Maldiviawell yeah, you'll have a bit slower access to the global variables
16:16.16Maldiviabut nothing you should notice in those few iterations
16:16.49MiravlixAnyway, it's costly to do onupdate
16:17.01MiravlixNot if you only have 1 addon doing it though
16:17.06MiravlixIn moderation all is fine
16:17.28ckknightbut you can't trust people to self-moderate
16:17.29Maldiviawell, no sane addon user would do a full buff/debuff scan in an OnUpdate
16:17.38Maldiviathat's what UNIT_AURA arg1=="player" is for
16:17.57Miravlix...
16:18.06MiravlixThats what started the conversation, i said that.
16:18.15Miravlixand krka said he did it in OnUpdate. :p
16:18.35Maldiviabut we all know krka isn't sane... hehe :)
16:19.01MiravlixBut as the example show, it doesn't take much before we loss FPS.
16:20.03MiravlixOne of these days I'm going to rip CastOptions appart and try to find out why it's number of function calls pr. second is so insanely high
16:20.37MiravlixBut to the best of my knowglede it's not CO's fault, it's the Blizzard Ui that calls CO
16:21.50MiravlixSomething is creating a avalance effect in the UI, so more and more function calls is generated
16:22.14MiravlixMight start innocently enough with 40 OnUpdate calls pr. second
16:22.26*** join/#wowi-lounge sharkhat (n=sharkhat@dhcp80ff254e.dynamic.uiowa.edu)
16:22.34MiravlixBut it ends up with calling function pr. action button
16:22.51MiravlixWhats that 40*56 calls there
16:23.25Maldiviawell, simple OnUpdate methods aren't bad
16:23.35MiravlixYes they are
16:23.40Maldiviano
16:23.47MiravlixBecause there is 170 'simple' onupdate handlers in my system
16:23.57Maldiviathere are things you can't make without OnUpdates
16:24.16MiravlixThats true and thats bad
16:24.30JoshBorkeyou can't make castingbars!
16:25.04MaldiviaJoshBorke: well, theoretically you could with an animation :)
16:25.33MiravlixHmm, I'm thinking I could serverly reduce the code by taking over the ActionButtons instead of hooking the 'end user' function calls
16:25.57Miravlixif I intercept it earlier, I could control what functions get called earlier
16:26.52JoshBorkemaldivia :-P
16:27.05MiravlixWhy can't you make CastingBars?
16:27.15Gryphenapb made them didnt it?
16:27.17MiravlixWe do it with ArcaneBar and EnergyWatch too
16:28.14MiravlixEW isn't a Cosmos addon, but it use the CB technoligy to make a bar
16:29.03Maldiviahow would you implement EW without an OnUpdate?
16:30.32*** join/#wowi-lounge Kolth` (n=amoeba@c-24-22-42-31.hsd1.or.comcast.net)
16:30.44MiravlixYou mean with WoW Lua 1.10?
16:30.52Maldiviayeah
16:31.30Gryphendoesnt apb have some kind of onupdate simulation?
16:32.18Miravlixthis:RegisterEvent("UNIT_ENERGY")
16:32.18Miravlixthis:RegisterEvent("UNIT_MAXENERGY")
16:32.49Maldiviayes, that's when energy changes, but you wont get the progressbar/countdown, for when you get the next tick
16:32.50*** join/#wowi-lounge ForgottenLords (n=Forgotte@059.216-123-195-0.interbaun.com)
16:33.30Cidehmm.
16:33.38CideI have...
16:34.04*** join/#wowi-lounge groll (n=hepp@62.119.159.41)
16:34.18Cide<GameTooltip name="CT_RATooltip" inherits="GameTooltipTemplate" parent="WorldFrame" hidden="false"> <Scripts> <OnLoad> this:SetOwner(WorldFrame, "ANCHOR_NONE"); </OnLoad> </Scripts> </GameTooltip>
16:34.53Cidebut the tooltip still returns nil if I don't call SetOwner(WorldFrame, "ANCHOR_NONE") right before SetUnitBuff("player", 1)
16:35.13Cidedid I miss something? it works for every other tooltip I've checked
16:35.18Maldiviado you call ClearLines() or Hide() anywhere ?
16:35.33MaldiviaI think those two calls clears the owner
16:35.47Maldivianot sure though
16:35.55Cidenope
16:35.56CideI don't
16:36.58CideTextLeft/Right1:SetText("") but that shouldn't make a difference
16:38.04MiravlixI could prolly hook some function, but in the end I would prolly just be hanging off someone elses OnUpdate
16:38.38MiravlixThats why it's so darn CRUCIAL to write good OnUpdate code
16:38.48MaldiviaMiravlix: exactly, you'll end up using an OnUpdate somewhere... it might not be in your code, but then in a utility library, for instance Chronos or like
16:39.02MiravlixBut whats your point?
16:39.11MiravlixI've never claimed OnUpdate wasn't needed
16:39.26MiravlixI claimed OnUpdate was bad.
16:39.49Cideit's bad if you use it bad :)
16:39.56Cidesome things require it
16:40.00Maldiviaand I'm just saying, OnUpdate isn't bad, only if used incorrectly
16:40.05MiravlixNaah it's just bad bad bad bad bad
16:40.35Cidehow come?
16:40.38MiravlixDue to it being a frame based calling
16:40.46Cidewhich makes sense
16:41.10MiravlixThat means that no matter how simple we make our onupdates it will always effect the system
16:41.11Ktronthere are no 'artifact' quality items in game, correct? ie, the highest number at the moment that GetItemInfo can return for quality is 5?
16:41.24MaldiviaMiravlix: that's why you Hide() when you don't need the OnUpdate
16:41.30Miravlixand when there is enough of them we get a slowdonw
16:41.35Miravlixeven if they are all written well
16:41.43MaldiviaKtron: no Artifact items are found, but quality 6 is valid
16:41.57Cideif you think about how much the game has to do each frame
16:41.58*** join/#wowi-lounge hoffe (n=hepp@62.119.159.41)
16:42.10Cidethen a loop and a few (quick) function calls is nothing in comparison
16:42.10KtronAlright... heh, but we don't know what 'color' they should be
16:42.18MaldiviaKtron: yes we do :)
16:42.25MaldiviaKtron: GetItemQualityColor(6)
16:42.26MiravlixBut it's not a loop and quick functions calls
16:42.39Cideif it's written well, then the function calls are quick, yes
16:42.42Ktronwoah, that's way easier than writing if elseifs to assign colors heh
16:42.43MiravlixYour assuming your addon is the only one running in the UI
16:42.58MaldiviaKtron: http://www.wowwiki.com/API_GetItemQualityColor
16:43.09MiravlixLets get real here, people run more than one addon is a fairly well rounded setup
16:43.23MaldiviaKtron: likewise the string ITEM_QUALITY6_DESC for the description
16:43.33MaldiviaKtron: or well, 0 to 6
16:43.35Cideyes, but the number of onupdates is the important factor, not the number of addons?
16:43.51Miravlix40*1 is fine
16:44.01Miravlix40*5*100 is bad
16:44.17Cidewhat would that be?
16:44.22Cidenumber of onupdate calls per second?
16:44.31Miravlix40 frames pr.  second
16:44.41Cidetimes what?
16:45.14Miravlix6000 function calls pr. frame update
16:45.18Ktronis there another way to get the same results as "local r, g, b, color = GetItemQualityColor(iRarity);" if I don't care about r, g, and b?
16:45.29Cidewait.
16:45.31MiravlixThat was the test environment we created whereafter we got a slowdown
16:45.48MaldiviaKtron; local _, _, _, hex = GetItemQualityColor(iRarity) ?
16:45.50MiravlixThis was using the worst function in game though
16:46.00Cideso 6k onupdates?
16:46.11Ktronunderscores work as a null in lua? okay
16:46.22MiravlixNo 1 onupdate doing 5 UnitBuff scans 100 times
16:46.24MaldiviaKtron: or use ITEM_QUALITY_COLORS[iRarity].hex
16:47.02Cidethen that's not a quick function call
16:47.16Cidewhy would you call UnitBuff 500 times *in onupdate*?
16:47.17KtronMaldivia, is the second one perferrable?
16:47.29MiravlixTo see if the buffs changed
16:47.33Cideassuming the onupdate functions are well written, there shouldn't be an issue
16:47.42Cideso register UNIT_AURA or PLAYER_AURAS_CHANGED
16:47.47Miravlixsince I have no other way of knowning than to tooltip scan them and compare them to a stored
16:47.51MaldiviaKtron: the ITEM_QUALITY_COLORS table was the old pre 1.9.1 table, that's now crated using the GetItemQualityColor when the UI loads
16:47.52MiravlixWe are talking UnitBuff
16:47.54Miravlixnot self
16:47.58Cideso UNIT_AURA
16:48.23KtronMaldivia, so it's better to use the former statement, since ITEM_QUALITY_COLORS is being outdated
16:48.24MiravlixBut thats besides the point
16:48.32MiravlixCan't we focus on the issue at hand here
16:48.32*** join/#wowi-lounge Adrine (n=Adrine@208.187.119.42)
16:48.39CideI'm trying to
16:48.42Miravlixthant rying to correct psedo code to illustrate it
16:48.43MaldiviaKtron: don't know - personally I use the function
16:49.00MiravlixIt doesn't take much work in an OnUpdate before it has a system impact
16:49.02Cidebut you're saying onupdate is bad because it causes slowdown, but I doubt it will if the code is fast
16:49.11Miravlixwith 30-50 addons it quickly adds up
16:49.15KtronMaldivia, alright, I'll stick with the former then... Thanks Maldivia
16:49.22Cidelimit it to 1 check per X seconds then
16:49.51MiravlixJust registering an empty onupdate cost the system
16:50.00Cideyes, naturally
16:50.15Cidebut computers are not really "slow"
16:50.16Maldiviamost of my OnUpdates are limited to run every x ms or so
16:50.41MiravlixYeah and everyone elses is limited to run too
16:50.50MiravlixProblem is when alll 50 onupdates run at the same time
16:51.08MiravlixBecause they all use some event that triggered, etc.
16:51.11Cidenot an issue if it's simple mathematics
16:51.25Cideie adding arg1 to a variable 90% of the time
16:51.54MiravlixScanning a tooltip was our worst case code
16:52.04Cidescanning a tooltip is slow, I have to agree
16:52.13MiravlixThere is operation with a significant less impact
16:52.26JoshBorkemorning Cairenn
16:52.39Cairennhey :)
16:52.42MiravlixBut even a = a + 1 is something
16:52.46Cidewhat I'm trying to say is, the usage of onupdate itself is not BAD, it's just bad if used incorrectly
16:52.48Maldiviascanning a tooltip isn't slow, nothing you'll notice... scanning 1000 tooltips you will notice though
16:52.51Cidewell, give me a break there
16:53.05MiravlixAnd when you pool a big UI together, the small becomes a flash flood
16:53.14KtronI don't suppose I could get a point towards the direction I should be looking to learn how to make external (URL) links in WoW
16:53.15Cidea = a + 1 is *something*, but this is a computer
16:53.36MaldiviaKtron: not possible
16:53.44KtronMaldivia, didn't it used to be possible?
16:53.49MiravlixWe bascially have a very limited number of operations that WoW can handle pr. second
16:54.05MaldiviaKtron: you could, prior to 1.10, make liks to *.worldofwarcraft.com/*
16:54.06MiravlixIt's way to easy to bump your head against this limit and create problems
16:54.22MaldiviaKtron: perhps other Blizzard sites aswell
16:54.25KtronMaldivia, ah... oh well
16:54.55*** join/#wowi-lounge Adrine (n=Adrine@208.187.119.42)
16:55.10KtronMaldivia, so I guess I'm going to have to pick up the xml necessary to make selectable text (probably in a textbox) then
16:55.11MiravlixAdding SetOwner to castoptions was all it took before it killed FPS
16:55.28Cideevery frame?
16:55.30MaldiviaKtron: Yeah
16:55.52MiravlixCide: CastOptions runs faster than OnUpdate. :)
16:56.03Cideso that's not a very smart thing to do.
16:56.16MiravlixThats Blizzards fault
16:56.20Miravlixthey wrote the UI that way
16:56.23Cidethere are quite a few ways to cause FPS slowdown
16:56.26MaldiviaKtron: there is a mod, that does some ChatFrame hooking, and makes URL links that appear in chat clickable (via hyperlinks), and pops up an editbox with the text selected, so you can copy-paste it
16:56.29MiravlixIt generates one on update calls
16:56.38*** join/#wowi-lounge Shouryuu|Schizo (n=Shouryuu@97.239.97-84.rev.gaoland.net)
16:56.38Miravlixthat result in  flash flood of function calls
16:56.48Gryphenhmm, why am i not seeing CO lag?
16:56.51Shouryuu|Schizohello
16:56.54CideI think think that's besides the point
16:56.57JoshBorkehello Shouryuu|Schizo
16:56.59MiravlixGryphen: We fixed it?
16:57.05KtronMaldivia, hm, that would greatly simplify what I'm trying to do, I'll try to find it
16:57.07GryphenI havent ever seen any
16:57.09*** part/#wowi-lounge Shouryuu|Schizo (n=Shouryuu@97.239.97-84.rev.gaoland.net)
16:57.16Cideonupdate is bad if it's coded bad, I can bet that you can have *a lot* of empty onupdates
16:57.18MiravlixCide: No CO hooks a lot of the end functions
16:57.21*** join/#wowi-lounge Shouryuu|Schizo (n=Shouryuu@97.239.97-84.rev.gaoland.net)
16:57.30*** join/#wowi-lounge Ratbert_CP (n=KCummins@proxy-ce3.disney.com)
16:57.40Miravlixand they get called an insane number of times pr. onupdate
16:57.47Cidewhy would you do that?
16:57.56MiravlixIt easily breaks 200-300K function calls pr. 30 seconds
16:58.05MiravlixTo make it work?
16:58.24MiravlixWe hook useaction spellcast and all that to create the features CO gives the user
16:58.25Cideso you need 8.3k function calls a second?
16:58.46MiravlixAnd the BLIZZARD UI calls the hooked function that fast
16:59.15Cidewhat exactly does this function do?
16:59.26MiravlixUseAction?
16:59.40MiravlixIt uses a button in the UI
16:59.42Cideno, the function you're calling
16:59.48CideI'm familiar with UseAction
16:59.50MiravlixI'm not calling anything
16:59.53MiravlixI'm the one being called
17:00.10MiravlixI do useaction = myfunction
17:00.22Cideso what are you doing in the new useaction function?
17:00.30MiravlixThen the UI decides to call me 100-200K times pr 30 seconds
17:00.31Cide(assuming that is the one being called 8.3k times per second)
17:01.17MiravlixCastOptions provides a million features, like smart rank, smart cast, smart whatever
17:01.43Miravlixtargettarget assist
17:01.53Cidewhy can't you set a threshold? for example, limit it to X calls per second
17:02.21MiravlixBecause you can't not perform a UseAction call or the tohers when the UI request it
17:02.40Miravlixcould you just ignore a chat_msg_monster Knockdown?
17:02.40CairennCide: http://forums.worldofwarcraft.com/thread.aspx?fn=wow-interface-customization&t=348527&p=1&tmp=1#post348527
17:02.54Cideyou lost me
17:03.05MiravlixCT Raid Assist can't just ignore things going on
17:03.11MiravlixIt has to react to them too
17:03.28Cidecorrect
17:03.32Cidebut it uses events
17:03.41MiravlixAnd I uses hooks
17:03.49MiravlixThe difference isn't really that big
17:03.52CideI still don't get why you can't limit it
17:03.55MiravlixI only do something when requested
17:04.05Cidewhy do you need to compute the same thing 8.3k times a second, though?
17:04.18MiravlixSo I should just skip every third UseAction call?
17:04.36MiravlixOops sorry we skipped that the user cast flash heal
17:04.40Cideare you passing it to the default UseAction at all?
17:04.52MiravlixYeah after modifying things
17:05.16CideI figured
17:05.18Shouryuu|Schizocool http://www.naturalpoint.com/trackir/
17:05.24Cideyou could either pass it straight on to it
17:05.33Cideand compute only X times/second and save the result
17:05.44Cideand pass it without calculating next time
17:05.45MiravlixAnd how do I decide that I should ignore the UseAction call?
17:05.54Cidedon't
17:06.00Cidecompute it and save it for X seconds
17:06.08MiravlixYou can't save UseAction man
17:06.15Cidewhat are you modifying?
17:06.28MiravlixSmart Rank, chaning to self casting instead of on target
17:06.33Miravlixalt key down cast self
17:06.44MiravlixChange the rank to a lower one when the target isn't high enough
17:06.46Cideyou hardly need that 6.3k times a second
17:06.56MiravlixThats NOT my decission
17:07.02Cideit could be
17:07.04Miravlixit's the UI's decission to call the function calls
17:07.16Cidesave alt key state, target level (max rank for skills)
17:07.17MiravlixAnd I need to check them ALL to see if I need to modify them
17:07.40Cidebasically
17:07.45MiravlixNo not basically
17:07.55krkainstead of hooking UseAction, can't you just provide your own button?
17:07.59MiravlixBecause it's the UI that decides to do those INSANE calls
17:08.02Cideright
17:08.17Cideso you outsmart the UI by saving the stuff you need
17:08.17MiravlixI have to check every single one to find the ones I change
17:08.21Cidecalculate it in advance and store it
17:08.27krkawhy would the UI call UseAction 6.3k times a second?
17:08.38Cidereduce function calls to a minimum
17:08.51krkaUseAction is only called by user
17:09.02MiravlixIt calls the functions that CastOptions hooks 100-200K times pr. 30 seconds
17:09.26MiravlixThe primary things is Button updates
17:09.38krkabutton updates?
17:09.51*** join/#wowi-lounge malreth (n=malreth@cpe-72-177-88-84.austin.res.rr.com)
17:10.01Miravlixyes, we color buttons based on range
17:10.47MiravlixWe hook, UseAction, useContainerItem, CastSpell, CastSpellByName, AttackTarget, CastPetAction, ActionButton_UpdateUsable, etc.
17:11.03Cideyou don't have to update them for all of those
17:11.06malrethomg... onyxia now shoots lazers every 10 seconds!
17:11.14JoshBorkemalreth: lol
17:11.16krkano such thing as a lazer!
17:11.21L|Elvisoand that's only phase 1!
17:11.22MiravlixSpellTargetUnit, TargetUnit, ClearTarget, etc.
17:11.32krkaLight
17:11.33krkaAmplification
17:11.33krkaby the
17:11.33krkaStimulated
17:11.33krkaEmission
17:11.34krkaof
17:11.34JoshBorkeat 20% she despawns and says something like "it is not my time"
17:11.36krkaRadiation
17:11.36Cideupdate action range during ActionButton_Update
17:11.40Cideer
17:11.44MiravlixNo I only update buttons when updatebutton is called
17:11.46CideActionButton_UpdateUsable
17:11.55malrethkrka:  i know..
17:11.58MiravlixBut all in all it creates 200K calls
17:12.00Cideupdate range there, not for every call
17:12.06Miravlixand 200K calls costs
17:12.14Cideonly if they are really costy
17:12.15krkaupdate action range? just do that on update
17:12.17Cidesure, it still costs
17:12.39MiravlixUhh, you don't understand at all
17:12.48MiravlixI don't have ONE BIG FUNCTON that all these hooks is sent to
17:12.52krkawhy would you need to hook UseContainerItem?
17:12.58Cidethen I would suggest that you split it up
17:13.00krkaYou don't want to drink that potion, dave...
17:13.13MiravlixCide: Split it up where?
17:13.26CideOneSmallFunction_UpdateRange, hooking ActionButton_UpdateUsable
17:13.29MiravlixThe UI is still going to run the code no matter if I put it in 100 addons
17:13.29krkafirst: why do you need to hook those?
17:13.39Miravlixwtf are you smoking
17:13.46MiravlixI just said we don't use ONE BIG FUNCTIOn
17:13.51Cideoh, sorry
17:13.54CideI read "I have"
17:14.08MiravlixEach function is *tailor made* to just do the job it needs
17:14.25krkai wish i could get a tailor for my addons :(
17:14.26Miravlixif it did more than that Co wouldn't work at all, we need extreamly good code
17:14.45Miravlixto avoid FPS slowdowns
17:14.51Cide8.3k calls per second might be unavoidable
17:15.02CideI would think that it isn't, but if you say it is, ok then
17:15.04MiravlixNo
17:15.10MiravlixJust tell blizzard to get a clue
17:15.17Miravlixand stop generating all those calls
17:15.22Cidecalls aren't bad per say
17:15.26Cidecosty calls might be worse
17:15.33MiravlixThe UI generates INSANE number of function calls pr. second
17:15.42MiravlixI just catch 8.3K of them with 20 hooks
17:15.51MaldiviaMiravlix: a quick look at CastOptions.CastSpellByName, I noticed something: --Trim off any trailing ()
17:16.04Miravlix?
17:16.15MaldiviaMiravlix: what about CastSpellByName("Create Healthstone (Greater)()")
17:16.31Maldiviaif you trim the trailing (), it will no longer work
17:16.49MiravlixNo idea. Mugendai wrote CastOptions.
17:16.50CideMiravlix: calls per second isn't really a good measure of how slow things are, unless you know how slow the function calls are themselves
17:17.13MaldiviaMiravlix: well, the pass it on
17:17.14MiravlixIt is a measure of the flash flood function call structure of the UI
17:17.21Cideright
17:17.26Miravlixand that it could be cleaned up a bit so it doesn't go nuts like this
17:17.28Cidebut that doesn't tell me anything
17:17.36MiravlixWe don't need to get called 8.3K times pr second
17:17.46Cidewhich function is called so often?
17:18.06Cideif you're saying you've split them up into small functions, then there has to be one or two functions that get called WAY MORE than the rest
17:18.11MiravlixIt's all of them combined, I don't have numbers for individual functions
17:18.23Cidethen get the numbers
17:18.26Cidechances are it's ActionButton_UpdateUsable
17:18.35MiravlixWhy?
17:18.41MiravlixIt doesn't change my point
17:18.47Cideit's called by all action buttons
17:18.50Cideyes, it might
17:18.51Miravlixthat you have to be darn carefull with your code
17:19.17Cidenumber of calls doesn't mean a lot if you don't know what they do
17:19.19MiravlixI also suspect that UpdateUsable is one of the really bad ones
17:19.28L|Elvisois there any way to make a fontstring wrap?
17:19.42MiravlixI don't need to know everything the UI does
17:19.53Miravlixto know that there is certain issues with the UI
17:20.04Cideperhaps
17:20.19Cidebut saying onupdate is bad is an exaggeration, in my opinion
17:20.41Cideit's bad if it's used incorrectly, such as the action button code
17:21.03MiravlixIt's not a good system due to the way it's implemented in WoW and that it cost FPS
17:21.10Cidehow do you know that it costs FPS?
17:21.14Cideif you don't know what the functions do
17:21.27MiravlixBecause WoW is serial
17:21.39CideI know it DOES cost fps, but how much?
17:21.41MiravlixWe know that for everything the UI does WoW can't update the graphics
17:23.03MiravlixAs long as your concercerned about even the tiniest bit of cost in your addons then my point has gotten across
17:23.35MiravlixWe all need to be fanatics about it to make the WoW addon system work
17:24.06MiravlixThe less people that care, the worse things get with more addons
17:24.44CideI think my point still applies
17:25.01Cideonupdate is bad if it's coded bad, not otherwise
17:25.22MiravlixOnUpdate is just bad because of the way WoW has implemented the UI
17:25.29Cideonupdate isn't bad
17:25.34MiravlixJust registering it is bad
17:25.38Cideno it's not
17:25.42Gryphenugh
17:25.44MiravlixBut it's a badness we have to live with
17:26.25Cidethe badness of an empty function call per frame is non-existant
17:26.27*** part/#wowi-lounge Cairenn (n=Cairenn@CPE001217452e29-CM014500004571.cpe.net.cable.rogers.com)
17:26.34*** join/#wowi-lounge Cairenn (n=Cairenn@CPE001217452e29-CM014500004571.cpe.net.cable.rogers.com)
17:26.34*** mode/#wowi-lounge [+o Cairenn] by ChanServ
17:26.38krkai agree with cide
17:26.54MiravlixBut unless people know how inheriently bad the function is how are they going to do there best to code it with the least possible impact on the system
17:27.10Cidethat would be a flaw in their knowledge :)
17:27.30MiravlixA year ago we all did mind numbingly stupid with the Lua memory model
17:27.38Miravlixbecause we didn't know we had to care
17:27.47Cideyes
17:27.50krkaspeak for yourself :P
17:27.54CideI know I did :)
17:28.20Cidebut still, you can't say a system is flawed if the users can't use it properly
17:28.46MiravlixThe system is flaws both for us that can use it propperly and for those who easily use it badly
17:28.56Cidehow come?
17:28.56krkai tend to avoid addons that are coded badly so i don't care
17:29.02krkaand yes, i do look at the code
17:29.05Cideit works fine when people use it correctly
17:29.45Miravlix50 addons all using OnUpdate the best possible way they can.
17:29.53MiravlixStill is an issue for the UI
17:29.54Cideis fine
17:30.19Cidesure, it could be a source of slowdown
17:30.29Cidebut if it's "the best possible way they can", it won't be noticable in the long run
17:30.31Miravlix50 addons all working together through say a library to use OnUpadate isnt as bad as 50 addons solo put together
17:30.46Cidepossibly.
17:30.55krkai doubt that
17:31.19Cideit depends
17:31.20krkathe library would have to be more efficient than the blizzard dispatch code
17:31.45MiravlixThats easy, just remove all duplicate code in the 50 OnUpdate handlers
17:31.49Miravlixand you instantly have a gain
17:31.53Maldivialol
17:32.11Cideassuming the duplicate code is a threshold to limit calls/second
17:32.29Cidethat might help, but will it be noticable? hardly
17:32.57MiravlixIt is noticeable
17:33.22Cide49 calls of this.update = this.update + arg1 won't make a difference
17:33.23Maldiviaand how will you go abour removing duplicate code?
17:34.30MiravlixLike it has been done for the past I don't know 30 years? With libraries
17:34.53Maldiviathe OnUpdate handler you're proposing would have to have the this.update + arg1 for each of the 50 addons, yes, you would have the code only one place, but it would be run 50 times that place, instead of 1 time 50 places
17:35.12MiravlixBut the coders keep having this obession with no dependencies
17:35.28MiravlixResulting in us hitting the roof far earlier than we otherwise would
17:35.28Cidemore importantly, the users
17:35.34Cidehitting the roof?
17:35.40CideI don't know about a roof :)
17:36.08MiravlixThe roof is the limit for how much the UI can do before it breaks the GFX engine
17:36.17Miravlixor impacts the GFX engine
17:36.28Cideanything impacts it
17:37.14Cidebut still
17:37.32*** join/#wowi-lounge duke|ib (i=dukeku@c-67-160-162-146.hsd1.or.comcast.net)
17:37.39Cideit's the code that's run that causes the slowdown, not the dispatch code or the system
17:38.15MiravlixThe design of the system means we get a very limited number of operations pr. second the UI can handle
17:39.08CideI still disagree
17:39.10MiravlixTake the best darn addons out there and put them together and the impact is to high.
17:39.13Cidewhy are calls per second important?
17:39.18Cideit's the speed of the calls that matters
17:39.27duke|ibyup
17:39.31MiravlixI said operations pr. second
17:39.32Cideif the calls are slow, then your impact will be much greater
17:39.39Cideright
17:39.41duke|ibalthough calls per second could be considered completed calls per second
17:39.45duke|ibnot just calls made/second
17:39.56Cidebut if you have a slow function call
17:40.16Cidethat's generally from an increased number of operations, no?
17:40.32duke|ibcan be
17:41.00CideI don't see how the system causes a limited number of operations
17:41.19MiravlixThe second the user loss FPS thats your limit
17:41.36Cidethat doesn't have to do with calls per second, again
17:41.38MiravlixWhen they loss FPS they can't raid or PvP because they loss control of there char
17:42.05Wobin_what's the interface number for 1.10 now?
17:42.11Miravlix11000
17:42.15Wobin_ta
17:42.20Miravlix1.10.00
17:42.41duke|ibclever
17:42.47MiravlixSeems to be there new standard
17:44.04Ktronmakes sense
17:44.14MiravlixHow else would you define how much work we can do in the UI before we do to much?
17:44.18Ktronwhy wouldn't you use a standard interface number that matches the patch?
17:44.46MiravlixThey don't upgrade the UI with 1.10.01
17:45.06Ktronso don't change the number then
17:45.08Cidethe speed of the calls, not the quantity
17:45.09Miravlix11001 wont exist as UI version, just as a ptach
17:45.33MiravlixKtron: Don't change the numbers?
17:45.34Ktronlet the interface number match the most recent patch that changed the UI
17:45.35Gryphenunless there are significant ui changes
17:45.42MiravlixUuh, I don't work for Blizzard and decide what number it is
17:45.45Cidethe time it takes to call a function pales in comparison to any operations it does
17:46.06MiravlixI don't agree
17:46.17duke|ibblah, autobuff you will be missed ;_;
17:46.25Miravlixchanging a function from global to local gives a valuable advantage sometimes
17:46.52Miravlixduk: Em is just lazy, we already have work arounds that would make AB work
17:46.54Cideit might with your 8.3k per seconds
17:46.59Cidebut for your average function, it's nothing
17:47.10MiravlixNow your back to one UI one addon
17:47.13duke|ibMiravlix: i just miss having detect traps always put up on my rogue =P
17:47.17MiravlixIt's NOT my 8.3K
17:47.18Cideit's the same
17:47.20MiravlixIt's 170 addons
17:47.28MiravlixThat all generates functions calls
17:47.28duke|ibthat should be a damn tracking ability like hunters have
17:47.34Cidethe speed to call speed ratio is the same
17:47.42MiravlixSo lets say they do 100 calls
17:47.55Miravlixif all 100 calls is local instead of global that is a DIFFERENCE
17:48.12Cideaye
17:48.18Cidebut let's call the time taken t
17:48.24MiravlixI'm profiling the GLOBAL UI
17:48.32Cidewhich gives t = n(callSpeed + functionSpeed)
17:48.32MiravlixNot indivdual addons
17:48.44Cidethe ratio callSpeed / functionSpeed will be the same regardless of n
17:49.02MiravlixCombine it all and even the tiniest speed improvment suddently matters
17:49.13Cidebut nothing compared to optimizing functionSpeed
17:49.26MiravlixBecause it will be a tiny speed improvment in 170 addons
17:49.43Miravlixso it's 170*tiny = BIG HUGE FREAKING SPEED difference
17:50.15MiravlixEverything we to is mutiplied in effect
17:50.18Cideyes
17:50.27MiravlixEither due to the UI itself calling is like nuts
17:50.30Cidebut how fast is exactly a function call?
17:50.36Cidethis is a modern computer, it doesn't take that long
17:50.38Miravlixor because of the number of opeartion totally
17:50.57MiravlixIt takes 0.0003ms
17:51.17Cideand how long does the actual function take?
17:52.08MiravlixJust the difference between using local functions and global in 170 addons
17:52.08Cideno no
17:52.08Miravlixis a matter of many ms
17:52.08Cidethe code executed
17:52.13MiravlixYou wont reconice that the function call itself has a speed factor
17:52.30Miravlixbefore we even do anything in the function the system has lost time
17:52.42Cidetime, yes.
17:52.45Cidehow much time? not much
17:53.14Miravlixnot much * 100 = much
17:53.21Cideperhaps
17:53.24Cidebut does that matter?
17:53.36MiravlixYes, thats why we loss FPS
17:53.37Cideoptimizing the function itself would give a MUCH huger advantage
17:53.42Cidehardly
17:53.49LegorolSo, I've been playing around with tooltips, trying to understand them completely
17:53.50Cideyou lose fps from slow functions
17:54.02LegorolMiravlix, you had a case where calling SetOwner(this, "ANCHOR_NONE") didn't work
17:54.07Legorolwhat case was that?
17:54.15Cidethat was me
17:54.17MiravlixBuffBot 2.35g
17:54.24Cidewell, I had one too
17:54.27Legorolok, in what sense did it not work?
17:54.35CideI called it onload
17:54.38Legorolwere you unable to set the contents of the tooltip?
17:54.41MiravlixCide's is worse, his setowner vanish on him in one case
17:54.57LegorolCide: you are calling it in OnLoad of the tooltip itself?
17:55.02Legoroldoes your tooltip have a parent specified in XML?
17:55.06MiravlixMine just never worked, because this was wrong I guess
17:55.09Cide<GameTooltip name="CT_RATooltip" inherits="GameTooltipTemplate" parent="WorldFrame" hidden="false"> <Scripts> <OnLoad> this:SetOwner(WorldFrame, "ANCHOR_NONE"); </OnLoad> </Scripts> </GameTooltip>
17:55.23Cideworks for every other tooltip I've used
17:56.33MiravlixAnything special about the functions you use the tooltip from?
17:56.40Cidenot really
17:56.50LegorolMiravlix: i have played around a lot with SetOwner
17:56.53Cidethey call SetUnitBuff(unit, num) and SetUnitDebuff(unit, num)
17:57.00Legorolturns out if you have ANCHOR_NONE, then it doesn't matter at all who you specify in SetOwner
17:57.05Legorolit's always taken to be UIParent
17:57.14krkayay, wrote my first bosspanel plugin
17:57.15Miravlixhuh
17:57.18Legorolso having "this" as the Owner shouldn't be the real reason
17:57.26MiravlixSetOwner(This "ANCHOR_NONE") doesn't work
17:57.33Legorolthat's why i'm so curious about that case
17:57.36MiravlixSetOwner(UIParent, "ANCHOR_NONE") works
17:57.48Legorolin BuffBot 2.35g?
17:57.53MiravlixYes
17:58.01Legorolok, i will try that too, very curious
17:58.12Legorolin all cases that i have tested, the owner you specified with ANCHOR_NONE was totally ignored
17:58.36*** join/#wowi-lounge kaiden (n=nnscript@c-24-19-203-169.hsd1.wa.comcast.net)
17:59.04Miravlixline 471 of BuffBot.lua is where I added SetOwner
17:59.17MiravlixIt's a bad place to do it, but BuffBot only does stuff on keypress
17:59.26kaidenHey guys, i'm in search of a mod that used a long time ago that i can't remember the name for, i thought it was one of silver's mods but i can't seem to find it in his list, more or less what it did was added the keybinding info to the new bottomleft / bottomright bars that blizzard added to the ui
17:59.30kaidenanyone remember the name for it?
18:00.19MiravlixBarOptions from Cosmos adds keybind indicator to the buttons
18:00.19LegorolMiravlix thanks, i'll try
18:00.23Legoroldid you have any custom modifications to 2.35g?
18:00.40MiravlixNo that is the change on a freshly unpacked 2.35g
18:01.13Legorolok
18:01.34MiravlixOnly other change is updating Priest spells in BuffBotData.lua
18:02.00LegorolI don't have a copy of 2.35g, only 2.35p
18:02.09Legorolusual sites only have 2.35p :/
18:02.14Legorolcould you send me a copy of 2.35g?
18:02.36MiravlixOh wait it is p
18:02.44Legorolok
18:02.51Legorolthen i got it :-)
18:17.01*** join/#wowi-lounge groll (n=hepp@62.119.159.41)
18:17.39L|Elvisoso what would be the LUA equivalent of 'break' ?
18:18.15ckknightbreak
18:18.38L|Elvisoi tried that and got an error
18:19.00Cideit's just "break;" and not "break();" if that's what you tried
18:19.01ckknightwhat error?
18:19.14ckknightno semicolon needed, Cide
18:19.18CideI know
18:19.28CideI still use them, and will continue to do so :)
18:19.33ckknightwhy?
18:19.38CideI find it easier to read
18:19.39L|Elviso"no loop to break"
18:19.54ckknightyea, you can only break in a loop
18:19.55Cideand it is, in fact, required for some statements
18:20.06JoshBorkeL|Elviso: you can only break in a loop, you can return from functions
18:20.08ckknightCide, only one I can think of
18:20.11ckknighta(b)(c)(d)
18:20.17ckknightoutside of that, what is there?
18:20.26L|Elvisoerm, when I return, it process the rest of the function...
18:20.28Cideiriel had one, but I forgot what it was
18:20.36ckknightpastebin your code
18:20.38Cidehad to do with expressions split up on newlines
18:20.39L|Elvisoand I do have an 'end' after the break
18:20.42grollLegorol sorry to bother again but are you around? :D
18:20.47Cidesplit up into several lines, that is
18:21.39*** join/#wowi-lounge Qzot (n=nickell@sandbox.xerox.com)
18:21.42L|Elvisohttp://wow.pastebin.com/631194
18:22.09L|ElvisoI realize I could just encapsulate the rest of the fn() inside an else, but I don't like that way
18:22.27ckknightyea, you'd use return in that case, not break
18:22.35ckknightbreak gets you out of loops, return gets you out of functions
18:22.40L|Elvisobut.....it keeps processing
18:22.56L|Elvisosec let me dbl check
18:23.00ckknightthen that means userLink ~= nil
18:24.56L|Elvisomaybe I'm missing something
18:25.13ckknightlikely
18:25.19L|Elvisobut it then errors on line 10 saying that "itemlink is nil"
18:25.39ckknightuserLink ~= itemLink
18:26.10QzotiLink vs. itemLink vs userLink
18:26.24L|Elvisohehe
18:26.53QzotYou prolly mean "userLink" there, since of iName==nil, prolly iLink==nil.
18:27.27ForgottenLordsis Curse usuall down this long?
18:27.41ForgottenLordsusually
18:27.50L|ElvisoQzot, yes
18:27.57L|Elvisohowever, still having a prb
18:29.36L|Elvisoif I have a EditBox, what is the default value. I assumed it would be nil, but now it doesn't look like it
18:29.53QzotI would have guessed "", myself.
18:30.20L|Elvisoperhaps that is it
18:31.24L|ElvisoI owe you all....a Dr. P.
18:31.28L|Elvisothat gotit
18:31.53QzotI believe that the API claims that ChatFrameEditBox:Show() is supposed to be faster -- even when redundant -- than checking if it's needed on your own.
18:33.51L|Elvisois that addressed to me?
18:37.49QzotYes. You can get rid of a check.
18:37.53L|ElvisoI'm not sure how to apply that
18:38.21L|Elvisosimply take the check out?
18:38.33QzotDelete lines 14 and 16 in your pasted code. Leave ChatEditFrameBox:Show()
18:38.39QzotYup.
18:38.50QzotAlways do the Show, whether it's currently visible or not.
18:38.53L|Elvisoalrighty, sorry....Dr. P hasn't kicked in yet :)
18:38.59L|ElvisoI gotcha.
18:39.16QzotHmm. This one hard to figure out. You just have to know.
18:40.06*** join/#wowi-lounge Kolth` (n=amoeba@c-24-22-42-31.hsd1.or.comcast.net)
18:40.21QzotAre you asking someone to type in a link, a la "132:0:0:0"??
18:42.31L|Elvisono, have you ever seen the original ItemMagic?
18:42.49QzotNope.
18:42.53L|Elvisowell, you COULD type in x:y:z:a
18:43.00L|Elvisobut it will accept simply x
18:43.44L|ElvisoThe user is expected to search for the item # on Allakhazam.
18:44.13QzotReally?? The API doesn't mention that as legal input to GetItemInfo.
18:44.55L|ElvisoI can upload the full addon if you want to look at it, it's 99% compete
18:44.58L|Elviso*complete
18:45.11QzotSec.
18:48.17Qzothttp://wow.pastebin.com/631238
18:49.51L|ElvisoI'm not too good at reverse-engineering regex, what exactly does that do
18:50.45QzotActually, there should be a pair of parens just inside the quotes. I'll resend...
18:51.08QzotBut it looks for ddd:dd:d:dd, etc.
18:51.23QzotBut makes anything after the first set of digits optional.
18:51.45L|Elvisohow would that improve what I have now?
18:52.04QzotBut it should read "(%d+:?%d*:?%d*:?%d*)"
18:52.39QzotWould generate a call of the form GetItemInfo("item:foobar")
18:52.43Qzot*Wouldn't
18:53.00QzotWould tolerate a space before the first digit.
18:53.01MiravlixI wonder how many addons that I will have to start maintaining after 1.10, so far I think 70-100 addons out of 170 is on the abandonware list.
18:53.18QzotWould tolerate crap after the item id.
18:54.24L|ElvisoI see. I guess it could be handy for the space situation, but GetItemInfo fails very gracefully
18:54.32L|Elvisoi.e. doesn't disconnect you
18:54.34QzotTrue enough.
18:54.53QzotActually, excellent point.
18:55.11QzotIt opens open another possibility.
18:55.14L|Elvisothat's why I made this, to query for AQ items, but not get disconnected if one hadn't been seen.
18:56.09QzotDo you really care about having 2 separate error messages for blank, versus not recognizing the item?
18:56.37QzotIf not, get rid of the first 5 lines, and replace line 8 with...
18:57.58Qzotlocal iName, iLink, iRarity = GetItemInfo("item:" .. ItemMagicEdit:GetText());
18:59.40L|Elvisoyeah I suppose the blank error msg is overkill
19:01.06Qzothttp://wow.pastebin.com/631268
19:01.16QzotBut you actually still need userLink
19:01.44L|Elvisothat's pretty similiar to what I had just made
19:02.03Qzothehe
19:02.12L|Elvisohttp://wow.pastebin.com/631269
19:03.12QzotYup.
19:03.36L|ElvisoKnow any foreing languages? :)
19:03.47L|Elviso*foreign
19:03.51QzotTwo.
19:04.32QzotThree, figuring that English is foreign to most people in the world. :P
19:04.39L|Elvisoheh
19:05.12TainI know Lua, and C, and C# and..
19:05.19JoshBorkeTain: lol
19:05.41QzotBah. Those are just dialects of the same language.
19:05.43*** join/#wowi-lounge Shouryuu|Schizo (n=Shouryuu@97.239.97-84.rev.gaoland.net)
19:05.58QzotNot, APL, otoh...
19:05.59*** join/#wowi-lounge zeeg (n=wguru@67.63.84.143)
19:06.07QzotOr Fortran...
19:06.10TainNah, I'd say VB.NET and C# are dialects of the same language.
19:06.12JoshBorkeoh noes, ace forums have been nerfed...
19:06.21Shouryuu|Schizohumm how do I leave a memo to someone?
19:06.52CairennAce and CT are on the same server, and both are getting slammed with patch week insanity, thus ... =/
19:07.01JoshBorkedid you try /memoserv send <nick> <stuff>
19:07.12Shouryuu|Schizonope,that;s what I wanted to know :P
19:07.13JoshBorkeCairenn: i just mean the new layout :D
19:07.18Cairennah
19:07.37Cairennthat I can't speak to ;)
19:08.07Shouryuu|Schizogreat
19:08.16[MoonWolf]you dont like our new forums JoshBorke ?
19:08.29LegorolCide, are you around?
19:08.30JoshBorke[MoonWolf]: i liked the old one better because all the text was smaller :-)
19:08.34Cideyes
19:08.42Shouryuu|Schizonick Shouryuu
19:08.47Legoroli was trying to reproduce your tooltip issues and i can't
19:08.47L|ElvisoSo Qzot, were you volunteering for some localizations? :)
19:08.53Legoroli am trying with this tooltip:
19:08.54Legorol<GameTooltip name="CT_RATooltip" inherits="GameTooltipTemplate" parent="WorldFrame" hidden="false"> <Scripts> <OnLoad> this:SetOwner(WorldFrame, "ANCHOR_NONE"); </OnLoad> </Scripts> </GameTooltip>
19:09.00Legorolwhat do you normally use the tooltip for?
19:09.06[MoonWolf]JoshBorke, sorry to hear.
19:09.10[MoonWolf]live with it though
19:09.11*** join/#wowi-lounge Kolth (n=amoeba@c-24-22-42-31.hsd1.or.comcast.net)
19:09.15Legoroli.e. which SetX method do you use on it?
19:09.15Cidetry hidden="true", I had that at first, but changing it didn't seem to do any difference
19:09.28CideSetUnitDebuff("raidX", 1)
19:09.38Legoroli have tried both hidden=true/false
19:09.39Cidewell, 1 is varying but you get the point
19:09.45Legorolright
19:09.48JoshBorke[MoonWolf]: cosmetic thing only :-)  i have nothing against the new version other than i liked the old version :-)  i'm sure there are improvements that the new version brings
19:09.58Legoroldo you know an easily reproducible way for me to test debuffs?
19:10.03Legorolit's not that easy getting one on myself..
19:10.16Shouryuuduel?
19:10.25CideI dueled another priest
19:10.27*** join/#wowi-lounge Iriel (n=daniel@adsl-71-158-244-138.dsl.pltn13.sbcglobal.net)
19:10.35Cairennhey Iriel :)
19:10.39IrielMorning
19:10.40JoshBorkehello iriel
19:10.52Shouryuuhaloo
19:11.01IrielI just wrote up a bunch of stuff about UI memory usage here: http://forums.worldofwarcraft.com/thread.aspx?fn=wow-interface-customization&t=348680&s=new&tmp=1#new
19:11.05IrielFor anyone who cares
19:11.20L|ElvisoNice, Iriel, thanks.
19:11.20Iriel(Basically a re-hashing of the conversation between legorol and I last night)
19:11.21kremontemmm i got home just in time for iriel to share infos!
19:12.36kremonteso basically iriel, data collection mods have the most significant overhead increase?
19:12.42IrielI've been trying to restrain myself in the interface kit thread
19:12.48LegorolCide, what was it that fixed it for you in the end?
19:12.55Irielkremonte: Data collection mods that use lots of table entries will have the largest impact, yes
19:13.05QzotElviso: No volunteering here! I was just answering -- politely -- your question about knowing 2 foreign languages.
19:13.11CideI added another CT_RATooltip:SetOwner(WorldFrame, "ANCHOR_NONE") right before the SetUnitDebuff call
19:13.17Cidewhich I'd rather not do, but ya
19:13.17Irielkremonte: Those which bundle data up into moderately sized strings will likely come off much better
19:13.31L|ElvisoQzot: lol, that's fine. I appreciate your help regardless :)
19:14.07[MoonWolf]Iriel, nice writeup.
19:15.20kremonteIriel: so more table entries is bad?
19:15.42L|ElvisoFree translation work! http://wow.pastebin.com/631293
19:15.51*** join/#wowi-lounge Suntiger (i=moonwolf@f176182.upc-f.chello.nl)
19:15.57kremontea={[b]="a", [c]="b"} opposed to a="b=c, c=b"
19:16.16ShouryuuL|Elviso want that translated?
19:16.25L|ElvisoWould love it.
19:16.31kremontedarn you, i wanted to try frenching it :p
19:16.33kremontefrenchizing*
19:16.40Shouryuuwell go ahead then :P
19:16.41L|Elvisois that legal? hehe
19:16.42kremonteget it, frenchizing, franchising? ahahaha.
19:16.44ckknightL|elviso, instead of having ITEMMAGIC_LOADED = " loaded.", you should have it do ITEMMAGIC_LOADED = "%s loaded."
19:16.48Shouryuulol
19:16.49ckknightthen do a format
19:16.53Irielkremonte: if you're storing zillions of them, yes, they have quite a heavy overhead
19:17.03L|Elvisockknight: what is %s?
19:17.04ckknightcause some languages may not like it tagged on the end
19:17.20Irielkremonte: obviously tables are a lot FASTER than partsing strings tho, so it's the traditional footprint/speed tradeoff
19:17.24ckknightformat(ITEMMAGIC_LOADED, "thing") == "thing loaded."
19:17.31L|Elvisorgr
19:17.51ckknightbut then you could change ITEMMAGIC_LOADED to somethiing like "Loaded %s." later and not have to change your code
19:18.15kremonteIriel: it's nice to get a basic understanding of this; thanks - i'm really really bad at optimizastion
19:18.19kremonteoptimization
19:18.50kremonteShouryuu, how do you say loaded? ._.
19:18.55QzotFor really *security*, however, you should iterate over all names found in the global environment, and store a link to them in your table saved variable.
19:18.55kremontechargé?
19:19.23Qzot*cough* "real *security*"
19:19.46Shouryuukremonte Aye
19:19.47ckknightjust make sure you have localized strings stand on their own instead of using them as concatenations
19:19.56kremonteyay, i guessed something correct! /cheer
19:20.06Shouryuulol
19:20.09kremonte(CS Chargement en cours 4tw)
19:20.16Shouryuuhaha
19:20.30kremonteookay, no idea how to say toggle display D:
19:20.34KirkburnI should really put myself into 'away' when I'm not here ... have I missed anything?
19:20.37kremontethis is like free homework
19:20.42Shouryuuyeah toggle is really hard
19:20.45Shouryuuthere is no french word
19:20.47kremonte._.
19:20.55KirkburnLe toggle
19:20.58kremontedisplay on/off?
19:21.00Shouryuulooool
19:21.03kremonteKirkburn: to toggle, toggler!
19:21.09kremontetogglre!
19:21.13Kirkburn:)
19:21.15Shouryuuyeah, you basicly have to paraphrase
19:21.19Qzotkremonte: There's an accent mark over the final 'e'.
19:21.25kremonteJe toggls le switch.
19:21.26kremonte:D
19:21.34ShouryuuQzot He put it :P
19:21.35Legorolok I figured out what was wrong with Miravlix's tooltip solution
19:21.41Legorolnow on to Cide's problem
19:21.49QzotHmm.
19:22.10KirkburnI figured out the answer to life, the universe and everything. Now onto ClearFont.
19:22.14LegorolMiravlix (if you are around), you were doing: BuffBotTooltip:SetOwner(this,"ANCHOR_NONE"), but "this" at this point was a nil value
19:22.24LegorolKirkburn: weee
19:22.27ShouryuuI have a question, why is IsBuffActive a 2k file? How does it work? I would've thought it had all the debuff path but I guess that's stupid and wrong
19:22.45Shouryuuahhh
19:22.49KirkburnPeople keep telling me it's broken, I keep telling them it's not.
19:22.49Shouryuuhe scans the tooltip?
19:23.26MiravlixLeg: But why is this nil in that function, why is that function 'different'?
19:23.29Shouryuuthat seems like it
19:23.42kremonteShouryuu: has been = à étè?
19:24.01kremontei'm really bad with past tense with être ._.
19:24.03Shouryuuno ' on the a
19:24.11kremonteoh. yeah, that's for "at"
19:24.13kremontehehe
19:24.15Shouryuuit's avoit ete
19:24.15IrielWhy wouldn't you ro
19:24.16Shouryuuaye
19:24.22Shouryuu*avoir
19:24.25IrielBuffBotTooltip:SetOwner(BuffButTooltip,"ANCHOR_NONE") ?
19:24.33Irielthis is a really dangerous thing to use randomly
19:24.40Shouryuuwhen you can replace the "a" with avoir, then you don't need a '
19:24.41kremonteEntrez un 5-digit item # de wow.allakhazam.com\tpour verifier si l'item a étè voir sur ce serveur.
19:24.43kremonte^ c'est correct?
19:25.07Shouryuuvoir is wrong
19:25.17kremontethought so ._.
19:25.28Shouryuuyou wrote has been see, you need has been seeN
19:25.28kremontei'm bad with voir dire lire
19:25.31kremontemy least favorite
19:25.38Shouryuulol actualy me too :P
19:25.43ShouryuuMy french is so bad
19:25.47kremonte...
19:25.54kremonteyou ARE french, you sillymuffin
19:25.56Shouryuuit's a ete vu
19:25.57Shouryuulol
19:25.59kremonteVU
19:26.01kremonteTHATS WHAT IT IS
19:26.02kremonteETJLDJGN
19:26.16kremontei get that wrong on every exam
19:26.20Shouryuulol
19:27.28Shouryuuyou could add a "a deja ete vu"
19:27.35kremontedeja is evil
19:27.39Shouryuulol
19:27.43TainI thought Shouryuu was born in like Nebraska or something.
19:27.50kremonte._.
19:27.56Shouryuuthe "already" is implied in english, not necessarely in french
19:27.58ShouryuuNew yoorrkK!
19:28.04kremonteyou were born in NY? :O
19:28.05TainAnd he was stolen by gypsies as a baby.
19:28.08kremonteShouryuu: another one i always get wrong, on/off?
19:28.08Shouryuulol
19:28.15kremonteShouryuu: INTERESSANT
19:28.23Shouryuuhere you should put Activer/Desactiver
19:28.36Shouryuuwell here as in a computer context
19:28.42kremonteah
19:28.44Shouryuuotherwise it's Alumer/eteindre
19:28.45Shouryuulol
19:28.47kremontealumer!
19:28.51kremontei love alumer
19:28.57Shouryuuthere might be two ll....
19:29.01ShouryuuI suck so much...
19:29.09kremontealumer -> allumer -> alluminer -> alluminate -> illuminate OMG LIGHT SWITCHES ON
19:29.20Shouryuuok it's allumer :P
19:29.21L|Elvisoilluminati?
19:29.31Shouryuuas well :P
19:29.36kremontewait, shouryuu
19:29.45kremonteactiver/desactiver are verrrrbs
19:29.52kremontei mean "affichage <on/off>"
19:30.17L|Elvisok, looks like we got the french /mostly/ covered...anyone want to do the Spanish/German translations?
19:30.39ShouryuuI *could* do spanish, but my spanish is so poor it wouldn't be that good
19:30.54Shouryuuaffichage on/off... hummm
19:30.57kremontei can do japanese! just kidding!
19:31.04kremonteShouryuu : as in display on/off
19:31.10kremonteit might not be afficahge
19:31.13QzotI can do the Tagalog, but I'd probably butcher parts of it.
19:31.14kremontei dictionaried it
19:31.16L|Elvisomine too. I only know 3 things in spanish: curse words, when someone is talking about me (or gringos in general), and how to order drinks
19:31.29Shouryuulol
19:31.32ShouryuuI know more
19:31.44ShouryuuI've been attenting spanish classes for like 5 years
19:31.48Shouryuubut my spanish is real sad
19:31.59Shouryuukremonte dictionaries aren't your friends in translations
19:32.12Shouryuuyou're still trying that Toggle thing?
19:32.13kremonteje sais =p
19:32.13L|ElvisoI've spent 20 years immersed in a Spanish-heavy population :p
19:32.17kremonteoui
19:32.19Shouryuuhehe
19:32.25kremontei'm just gonna do display on/off instead of toggle display
19:32.28krkageneral question: would there be any point to cache return values from stuff like UnitExists et.c.?
19:32.38krkaor UnitClass maybe a better example
19:32.45kremontedepends what for
19:32.47krkai.e. how fast are those functions?
19:32.52kremontethe functions have very low overhead
19:33.00krkaso no big overhead then
19:33.04Shouryuudepends on what L|Elviso ment by Toggle display.. what's "display"?
19:33.14kremontethe frame, i presume
19:33.26kremontetoggle display (of the frame)
19:33.33L|Elvisoyes
19:33.47ShouryuuAfficher/Cacher(Dissimuler)
19:33.47L|Elvisocould be open/close as well
19:33.57L|Elvisosince one of the other lines is "close"
19:34.05kremonteFermer ^_^
19:34.07ShouryuuDissimuler is  a better word than cacher
19:34.10Shouryuuaye
19:34.16ShouryuuAfficher/Fermer is fine yes
19:34.20kremontewait wait
19:34.22kremontewhy verbs?
19:34.43Shouryuuwhat do you want to put?
19:34.48kremontein which case, wouldnt it be afficher l'affichage?
19:34.50kremonteSOMETHING :p
19:34.54Shouryuulol
19:35.10ShouryuuOk its hard to explain
19:35.19ShouryuuI'll try
19:35.20kremonterofl
19:35.23KirkburnWonderful, the main guy who's been complaining about ClearFont had FonTabulous installed *sigh*
19:35.29kremontemy guild is doing a 5priest strat dead run
19:35.29Shouryuuhahahaha
19:35.53kremonteBROKEBACK MOUNTAIN LOL
19:36.01Shouryuulol
19:36.13KirkburnIs Curse existant yet?
19:36.51Kirkburn*waits, waits* ... apparently not
19:36.58L|Elvisohavent tried recently
19:37.00KirkburnThe title bit works :P
19:37.03KirkburnBut not the page
19:37.08TainCurses, foiled again.
19:37.12KirkburnOMG, I have a background!
19:37.24KirkburnIt's ... it's ... grey
19:38.04Shouryuukremonte: It's Afficher/Fermer because you're kinda giving an order. For example if I were to say "Answer the following questions" you'd translate "Reponder aux questions suivantes"
19:38.27kremonteis it a dialog box? i thought itd just be a tooltip
19:38.57L|Elvisowhat's the current interface # to use?
19:38.57Shouryuuif it's a tooltip then Dissimuler is better than Fermer
19:39.05KirkburnCG really should have created a cut down page for the patch days
19:39.10Kirkburn11000
19:39.15L|Elvisoty
19:40.27Kirkburnwowi no worky?
19:41.03kremonteL|Elviso: http://wow.pastebin.com/631324
19:41.14kremonteerrr
19:41.18KirkburnLol, from worldofwar "Hosts have been on the phone again, we really are popular with them on patch days ;) We are breaking their bandwidth on the network but they are happy to keep thing unthrottled for now."
19:41.25kremontehttp://wow.pastebin.com/631325
19:42.28*** join/#wowi-lounge Kolth` (n=amoeba@c-24-22-42-31.hsd1.or.comcast.net)
19:42.47L|ElvisoI have 1 more line for now, kremonte...if you don't mind
19:42.53kremonteMAIS BIEN SUR
19:42.55L|Elviso"Query for items by their unique #, which can be found on Allakhazam."
19:43.07JoshBorkequestion: how can i calculate the memory usage for my mod?
19:43.07L|Elvisomore good sir? lol idk
19:43.08kremonteShouryuu: query en francais est quoi :O
19:43.23kremontebien sur = of c ourse ;P
19:44.35L|ElvisoBINDING_NAME_ITEMMAGIC = "I HAVE NO IDEA"
19:44.37L|ElvisoLOL
19:46.15LegorolCide, when you were having these tooltip problems, was that on the live server?
19:46.22Legorolor was it back on the PTR in an earlier build
19:46.53kremonteDemandez un item par son # unique, que peut-être trouvé sur Allakhazam.
19:46.57kremontei think that's it, elviso
19:47.52Shouryuuyour first translation of that phrase was better krem
19:48.10kremontehuh?
19:48.16kremonteDemandez un item par son # unique, qui peut-être trouvé sur Allakhazam.*
19:48.27Legorolouch! i just accidentally did WorldFrame:Hide()
19:48.31Shouryuulol
19:48.31kremontehaha
19:48.43L|Elvisohahah
19:48.45Legorolthat was the first time i did that, was quite funny :-)
19:48.50LegorolWoW went foobar
19:48.55Shouryuuhaha
19:48.56L|Elvisohow do you undo it, reload?
19:49.04kremonteis it possible to uh
19:49.06L|ElvisoI want to try it
19:49.08kremonteWorldFrame:SetAlpha(.5) o_O
19:49.09Shouryuulol
19:49.20kremonteaww
19:49.20kremonteits not
19:49.44*** join/#wowi-lounge zespri (i=neffa@202.180.87.22)
19:50.56JoshBorkeLegorol: lol
19:51.28Shouryuudoing [fF]ire in a string.find will search for both f and F right?
19:51.38LegorolL|Elviso: only way i could undo it is Alt+F4
19:51.56JoshBorkedon't put it in an onload?
19:52.33L|Elvisoheh thats what I just did
19:53.00L|Elvisobe a great line to sneak into my raidleader's CTRA, muahaha
19:53.22ShouryuuI'm trying to write a *quick* InnerFire counter mod(to make do until the fancy things comes out), would this do http://wow.pastebin.com/631346 http://wow.pastebin.com/631347  ?
19:53.31Shouryuulol
19:54.08krkaas if we don't have enough ways to crash WoW  :P
19:54.20Shouryuuadd a WorldFrame:Hide() on an event that triggers when you're fighting Majordomo :P
19:54.30kremontesee Shouryuu, i'd check
19:54.36kremontebut i have no idea what innerfire does =^)
19:54.38kremonteas of 1.10 even
19:54.41kremontei have a level 12 priest tho :D
19:54.55krkackknight, i tried BossPanel btw, and it appears to modify the bottom of the screen
19:55.05krkaeven when i selected that it use the top
19:55.06Shouryuuwell Inner Fire in 1.9 was a 3 min buff, now it's a 10 min buff with 20 charges
19:55.14LegorolShouryuu: it looks ok-ish, except your XML is borked
19:55.19ShouryuuI know
19:55.20JoshBorkewhat happens if you do UIParent:Hide()?
19:55.26ShouryuuI don't know XML
19:55.28JoshBorkeis that the same as alt+Z?
19:55.31Legorolyou don't have an OnLoad section in XML
19:55.36Legorolthat would call your onload functio
19:55.53Legorolalso, you need to have the <GameTooltip...> thing outside the <Frames>
19:55.56Legoroli'll touch it up a bit
19:56.01Shouryuuthanks :P
19:57.12L|Elvisoso, uhhh.....you frenchies scared of "toggle display" or whaT? :P
19:57.22Shouryuuyeah :P
19:57.24kremonteil n'y a pas un mot pour "toggle" D:
19:57.28Shouryuuthere is no french word for toggle
19:57.33Shouryuuaww he beat me to it
19:57.37LegorolShouryuu: http://wow.pastebin.com/631368
19:57.39kremonteles francais sont tout wussies
19:57.43Shouryuuhaha
19:57.44L|Elvisohow about, "Open/Close"
19:57.54Legoroli moved OnEvent in the right place, added OnLoad,
19:57.58Legoroland did the tooltip properly
19:58.01ShouryuuIt depends what you want to open, and what you want to close :P
19:58.04Shouryuuthanks :P
19:58.12kremonte"AHHH non wai!!! toggler?! togglir?! togglre?! togglu?!
19:58.16L|Elvisoi think you should know by now, lol
19:58.20Cairennbe very very careful folks, I will NOT tolerate any form of racial slander in this channel, whether joking or not
19:58.33LegorolShouryuu: you won't get text into your frame this way though
19:58.35kremontehey shouryuu admitted he was =P
19:58.36Legorolthat part is all wrong
19:58.48Shouryuuabout the frenchies?
19:59.18kremonteLOL
19:59.18ShouryuuI know, I don't know XML?
19:59.18kremontei logged on my priest and i still have 1.9 inner fire active
19:59.19kremonteXD
19:59.19Shouryuulol
19:59.19Shouryuunice
19:59.44kremontewhoa
19:59.45kremontewait
19:59.49kremonte1.10 inner fire is worse? =/
19:59.55Shouryuunot really
20:00.03ShouryuuIt has 50% more armor that the 1.9
20:00.05kremonteat level 12 it is :(
20:00.13kremontesame +armor
20:00.25Shouryuuah, well it's +50% more normally
20:00.54kremontethe thing is
20:00.58kremontei have to cast inner fire each fight
20:01.10Shouryuuyeah that I agree
20:01.15ShouryuuIt's better for PvP imo
20:01.34kremontedepends what youre fighting
20:01.41ShouryuuYou have far less chances of getting jumped without it then you used to in 1,9
20:01.43*** join/#wowi-lounge duke|ib (i=dukeku@c-67-160-162-146.hsd1.or.comcast.net)
20:01.48kremonteyea
20:01.49kremontebut like
20:01.51kremontewhen you fight a hunter
20:01.53kremonteits gone instantly
20:01.56Shouryuuit only lasts one fight :P
20:02.15Shouryuuwhen fighting a hunter, the priest is gone real quick as well :P
20:02.23kremontelol
20:02.26kremontei hate hunters on my lock
20:02.30kremontei can counter them now tho
20:02.43Shouryuuhehe
20:02.49ShouryuuU can't do anything =(
20:02.51Shouryuu*I
20:02.53kremontei have one of the most unique tactics :D
20:02.57kremonteit's really col
20:02.59kremontei'll be farming on my lock
20:03.01kremontehunter will kill me
20:03.06kremontelog on my warrior and gank him LOL
20:03.07kremonteOLOL
20:03.10Shouryuulol
20:03.35JoshBorkelol
20:04.35Kirkburnlol
20:04.46Kirkburner, what are we talking about?
20:04.48kremonteomg @ new pws
20:04.50kremonteits so much easier to grind
20:04.52KirkburnI just wanted to join it
20:04.54Kirkburn*in
20:05.00kremontei just had a wtf moment
20:05.03kremonte"i dont have imp pws...
20:05.15Shouryuulol
20:05.18kremonte"how is my pws still up i dont have the debuff"
20:05.20kremonte"omg my game is bugged"
20:05.22[MoonWolf]lol
20:06.00JoshBorkei like the priest changes much more than i liked the paladin changes :-l
20:06.10kremontepallies got changes?
20:06.15ShouryuuCan't say anything about the priest cahnges
20:06.24JoshBorkekremonte: in 1.9
20:06.26kremonteshouryuu youre such a liar ._.
20:06.29MiravlixPriest didn't get changed at all
20:06.36Shouryuusorrry I menat pally changes
20:06.36MiravlixIf you want to PvP that isBuffBotTooltip:SetOwner(UIParent, "ANCHOR_NONE")
20:06.36MiravlixBuffBotTooltip:SetUnitBuff(unit,buff_index)
20:06.42kremonteyour french is bad but you ARE french , and you cant say anything about priest changes and you are a priest
20:06.47Miravlixwrong button. :p
20:06.51CideLegorol: sorry, back now. It was on live, yes
20:06.59Cidetoday, in fact
20:06.59MiravlixIf you want to PvP it's shadow and shadow didn't get anything
20:07.18Shouryuuand I do like the priest talents
20:07.21MiravlixIf you want to be healer in BWL you a super gimp
20:07.21Shouryuuand changes a lot
20:07.23*** join/#wowi-lounge malreth_ (n=malreth@dhcp-134-178.cc.utexas.edu)
20:07.36MiravlixSo you can make a gimp char that can heal 5 man and BG's
20:07.45Miravlixand do a little damage. woopi
20:08.15Shouryuuwell now there are like 4-5 possible specs
20:08.22ShouryuuGo pure DPS which is shadow
20:08.26MiravlixNot really
20:08.35Shouryuugo 5-10 man healing which is 31 holy
20:08.35MiravlixThere is 1 PvP spec and 1 Raid healer spec
20:08.47Shouryuuthe 5man spec
20:08.54Shouryuuand PvP healing spec
20:08.57MiravlixThe 5 man spec is a joke
20:09.03Shouryuuit's holy
20:09.26MiravlixIt's for ppl that don't want to raid or pvp or something strange hybrid wierdness
20:09.45MiravlixIt's not like a full shadow can't 5 man heal
20:09.53Shouryuuyeah I guess
20:09.55Miravlixso why be 5 man holy?
20:10.36ShouryuuI guess
20:10.39*** join/#wowi-lounge malreth_ (n=malreth@dhcp-134-178.cc.utexas.edu)
20:10.45MiravlixIt cost me 2g with the talent wipe
20:10.53Miravlixthats what I got out of it, less money. :)
20:10.53Shouryuuyeha lol
20:11.36Shouryuuwhat spec are you now?
20:11.58MiravlixLevel 35 priest, full shadow before wipe and got shadow again
20:12.07Shouryuuaye
20:12.16Shouryuushadow is the way to go for lvling :P
20:12.37Shouryuudamage holy priest is a joke
20:12.55Shouryuua holy priest can never dish out as much damage as a Shadow priest
20:13.01Shouryuuand you don't get shadow form
20:13.13Shouryuuso you don't have that dmg red
20:13.44MiravlixWhat I hope
20:13.52Miravlixis that bad priest will spec Holy
20:13.56ShouryuuDumb question but how would I display a variable on a frame?
20:14.14MiravlixAnd there lack of skill will be countered by there holy talents
20:14.38MiravlixSo I will have an easier time in instances. :)
20:14.38IrielShouryuu : Add a FontString to the frame, and use :SetText on it
20:14.52Shouryuuok thanks
20:14.59ShouryuuMiravlix lol
20:15.13JoshBorkehow can i center the text attached to a checkbox within the parent frame?
20:15.26ShouryuuI don't know if holy is that bad now
20:15.48ShouryuuSpiritual healing +spiritual guidance give you a lot of +healing power
20:16.16MiravlixI think a raid healer will be forced to go ultra healing
20:16.24Miravlixso they wont get any holy damage stuff
20:17.00MiravlixNo freaking way the playerbase will allow holy damage/healing hybrids, the player just can't deal with it
20:17.38ShouryuuI don't see why
20:17.58MiravlixBecause they KNOW a all healing talent priest is better
20:18.00Shouryuuyou mean so they don't hog the +spell dmg *and* +healing items?
20:18.14MiravlixSo why would they allow a priest to waist talents on damage?
20:18.24Shouryuuyeah
20:18.28MiravlixThe reaiders all min/max
20:18.45ShouryuuI disagree there though :P
20:19.15*** join/#wowi-lounge Kolth (n=amoeba@c-24-22-42-31.hsd1.or.comcast.net)
20:19.33ShouryuuThere needs to be fully healing speced priests that's for sure, but not every healer needs to be fully healing speced to do it better than other classes, or even do a good job
20:19.34MiravlixBy min/maxing builds they need less skill
20:20.06IrielIt rather defeats the point of the talent system too
20:20.13MiravlixYes
20:20.14Shouryuuyeah
20:20.41IrielBut Min/Max'ers have been defeating the point of character customization for years
20:21.02Shouryuu:P
20:21.35[MoonWolf]min/maxers, making your game pointless since the biggining of rpgs.
20:21.39kremontemin/max?
20:21.42kremontehuh
20:21.48MiravlixThe lemming effect... nothing you can do about it.
20:21.53*** join/#wowi-lounge malreth (n=malreth@dhcp-134-178.cc.utexas.edu)
20:21.59MiravlixMinimizing damage maximizing healing
20:23.00L|Elvisomin/max is natural in mmo, imo
20:23.20IrielIt's natural in the sense that people are boring 8-)
20:23.29L|Elvisoif it wasn't mmo, I doubt many would do it
20:23.32MiravlixCookie cutter build!
20:23.33L|Elvisoit's the competition
20:23.53IrielIdeally there wouldn't be imbalanced tradeoffs
20:23.56Shouryuuwell the other way around makes no sens though
20:24.03L|ElvisoIriel, I concur
20:24.06IrielSadly cookie cutters beget cookie cutters
20:24.17L|Elvisoconsidering a majority of players are men (well, boys..)
20:24.18IrielSay there's 3 builds of class X, and 10 builds of class Y
20:24.44Irielbut of those 10 builds of class Y, only a few are best suited to handling class X's 3 builds, you'll narrow the class Y spectrum down to just those
20:24.52IrielIterate that a few times and it gets silly
20:25.20L|Elvisosome guys get millions of dollars just for shaving a few oz's off the weight of a race car. for a sport.
20:25.47L|Elvisoyou don't think we're not also going to do the same when our e-rep is on the line? (not that I agree, just making an observation)
20:26.18Shouryuuwell shaving a few oz's takes intelligence and hard work
20:26.22IrielIt's a bit different though, the real world has a lot more variables
20:26.52Irieland some will shave off some oz, some will reshape a particular component, some will use a different engine design, etc etc et
20:26.55L|ElvisoSimplified example of the competitve nature of men
20:27.06ShouryuuI guess that's better put :P
20:27.48L|Elvisoalong the same lines though....they're min/max'g a car, and get paid better than a full school of teachers or a whole department of police officers...
20:28.52Shouryuulol
20:30.14L|Elvisothat's...mmo's though. you could go the opposite way with the Sims online I hear :)
20:31.56Shouryuuis wiki down?
20:32.16ShouryuuI guess
20:39.30Shouryuuis the order in XML important?  if I want to add <Fontstring......> can I do it just after <Frame> or must I do it some place special?
20:39.39QzotAnyone know why the AHs are intolerably slow post-patch?
20:39.49Shouryuunope
20:39.55ShouryuuI guess the servers are just laggy
20:40.09L|ElvisoShouryuu: it has to be in the correct element I believe
20:40.27QzotShouryuu: I think it's more than that. They were terrible even in the early morning.
20:40.53ShouryuuDunno :P
20:41.03Shouryuuis you servers getting some pop transfers?
20:41.08IrielI wonder if its people who cleared out their lootlink doing AH scans?
20:41.19kremonteeww lootlink
20:41.20kremonte<PROTECTED>
20:41.23L|Elvisoprobably
20:41.27Shouryuulol same reaction here
20:41.29IrielShouryuu : It has to be inside <Layers><Layer level="ARTWORK"><FontString...></Layer></Layers>
20:41.41Shouryuudoes lootlink stress the servers?
20:41.43IrielShouryuu : You can replace ARTWORK with whatever's relevant
20:41.47L|Elvisoyeah I ditched LL a long time ago, partially the reason I'm working on revamping ItemMagic
20:41.52Shouryuuok thanks
20:42.03kremontegetlink 4tw
20:42.07kremonteno savedvariables :D
20:42.10IrielShouryuu : And that's inside you <Frame> but not inside a <Frames> inside that 8-)
20:42.39L|Elviso<Shouryuu> does lootlink stress the servers?
20:42.54ShouryuuMy god I'm lost
20:43.01L|Elvisoimagine going to walmart and asking them for a list of every item they have, the price, and the quantity...would it not take awhile? :)
20:43.01ShouryuuI need to find some documentation on XML :P
20:43.13ShouryuuL|Elviso lol
20:43.27IrielShouryuu : Your best bet is look at some blizzard code and observe the structure for yourself
20:43.41ShouryuuWell I guess I'll do that
20:43.46Shouryuuwhen I have WoW installed :P
20:43.51AdrineMuahaha. My force-driven graph organization experiment works. :D
20:44.04Shouryuuenglish?
20:44.29Adrinegraph theory. organizing a system of nodes and connections between nodes into an aesthetically-pleasing format
20:44.35AdrineWhere a node is just a point in space
20:44.37kremonteboujuer! comme talle vu? qui li franciass ice?
20:44.46kremontemmo's make me sadface
20:44.54Shouryuuaww why?
20:45.12ShouryuuAdrine so you drew something? Points and lines?
20:45.17AdrineKinda.
20:45.28AdrineMore like I got it to draw itself
20:45.47JoshBorkehello adrine
20:45.47Irielautomatic layouts are fun to play with!
20:45.53AdrineVery much so.
20:45.58AdrineHeya, JoshBorke
20:46.16IrielWhen you say 'force driven' do you give each point a repulsive force and make each line semi-rigid, then have it figure itself out?
20:46.21AdrineYup.
20:46.24AdrineSprings and repulsors.
20:46.26Shouryuuouch
20:46.33QzotThis is so lame. About 30-45 secs per auction.
20:46.44IrielPoor Qzot, you're part of the problem! 8-)
20:47.09Shouryuulol
20:47.17JoshBorkewhat's the vim regex for whitespace?
20:47.25QzotMe??
20:47.38QzotI just want to smuggle my pile of runecloth over the border...
20:49.20IrielBlizzard have decided to implement a new 'time tax' on auction house users
20:49.25Adrinehttp://tachyonsix.com/graph.gif
20:49.34*** part/#wowi-lounge L|Elviso (n=irc@66-90-143-73.dyn.grandenetworks.net)
20:49.38AdrineOn the right is the mostly-final stable state, the left is the in-progress state
20:49.40AdrineErr
20:49.41*** join/#wowi-lounge L|Elviso (n=irc@66-90-143-73.dyn.grandenetworks.net)
20:49.42AdrineFlip that
20:49.43*** join/#wowi-lounge Kirkburn1 (n=George@151.56.195.34)
20:49.44Adrineleft = stable
20:49.58QzotThat would be a way to start pushing me towards Eve...
20:50.03IrielHow do you enforce stability?
20:50.11IrielEve is a brutal world!
20:50.17IrielI can't bring myself to cancel my subscription tho
20:50.19AdrineNothing special. The chosen constants just tend to work well.
20:50.49AdrineI do allow for nodes to be pinned (ie, not moved), so I have a root node that I'm using just to make sure it stays in view.
20:50.58AdrineThe other nodes arrange themselves around the pinned node(s)
20:51.04IrielHow do you handle your repulsion falloff?
20:51.20Iriel1/l or 1/l^2 ?
20:51.28Irielor something else/
20:51.29Adrineinverse square, l^2
20:51.42AdrineWith a constant multiplier to speed up the system somewhat
20:52.16IrielI assume you dont deal with 'collisions' per se, but do you have code to detect and fix nodes that end up with the same coordinates?
20:52.31AdrineYeah, I just randomly jostle nodes that end up on the same point.
20:52.39AdrineTiny little jostle so there's an explosion of sorts
20:53.02IrielAn upper bound on the force between really close points might be an idea
20:53.14Shouryuuwell night folks :P
20:53.16Irielto hurry you towards stability, without messing up already almost stable points.
20:53.21*** join/#wowi-lounge malreth (n=malreth@dhcp-134-178.cc.utexas.edu)
20:53.22AdrineHm, probably a good idea
20:53.47Adrine(I'm eventually going to try to port this to java or flash, so it can be used with data in a browser context, so quick stability is a good idea)
20:53.52IrielSo, when are you going to do an implementation in WoW?
20:53.54JoshBorkewow, you guys are smart
20:54.06AdrineHeh. I actually thought about doing that, since the renderer was already there
20:54.17AdrineBut I settled on pygame instead because it's stupidly simple.
20:54.34QzotI assume you're doing the relaxation separate from the display?
20:54.44*** join/#wowi-lounge Kolth` (n=amoeba@c-24-22-42-31.hsd1.or.comcast.net)
20:54.51AdrineQzot: Elaborate?
20:55.04ckknightdoes anyone know how to handle scripts of a button inside a button? It used to work for me, but now it doesn't
20:55.21Adrine(Now I need to figure out picking so I can pick up nodes and drag them around. *grin*)
20:56.04QzotI assume that you iterate on the nodes, forces, and springs until they stabilize before the initial display of their locations.
20:56.31AdrineNah, I just run the stabilizer in my render loop and then display each frame
20:56.39AdrineWith a relatively low number of nodes, there isn't any slowdown
20:56.45IrielTranslation: "I like to watch it wiggle"
20:56.50AdrineYeah. >_>
20:57.01AdrineThough repellant calculations are O(n^2), which tends to slow you down a lot as you add nodes.
20:57.56AdrineInterestingly, it looks like I can determine when the system is stable by the length of the displacement vectors on the pinned nodes
20:57.59AdrineInteresting little side effect.
20:58.54*** join/#wowi-lounge malreth (n=malreth@dhcp-134-178.cc.utexas.edu)
20:59.10IrielI'd have thought you'd just be able to use a threshold for resulting force (repulsion + springs) on each node
20:59.12malrethRAWR!
20:59.17IrielWhen they all drop below the threshold you're stable
20:59.51IrielThough maybe your 'displacement vector' is the force vector, in which case that's exactly what you just said 8-)
20:59.55QzotBtw, there are other anomalies besides two nodes overlapping that you need to use micro-nudges for.
20:59.56AdrineYeah :)
21:00.07AdrineQzot: like what?
21:00.18QzotCollinear nodes.
21:00.23AdrineYeah, ran into that one
21:00.24*** join/#wowi-lounge malreth (n=malreth@cpe-72-177-88-84.austin.res.rr.com)
21:00.45AdrineI was actually distributing nudging by 1,1 in the event of coincidental nodes before,
21:00.48malrethRAWR take two
21:00.53AdrineAnd all nodes were initialized at 0,0
21:00.58JoshBorkei are escared
21:01.04QzotIt's probably sufficient to always add a random nudge to all non-pinned nodes, until you've deemed the net stable.
21:01.09AdrineSo I ended up with them all in a diagonal line and they just kinda spread out on the line :)
21:01.50AdrineMan, I need to add some way to add nodes and create edges interactively so I can play with this thing
21:02.11IrielReminds me of a network simulation tool I built for my degree final year project
21:02.27Irielclick to add nodes and links, drag nodes around, all fun
21:02.27malrethfinally finished this project up... but now my Intel Dual Core iMac is gone. :(
21:02.28QzotThis AH stuff really is painful.
21:02.39Irielbah meeting
21:02.51malrethmeetings are the practical alternative to work
21:02.51QzotYou've been sheeped.
21:02.58QzotBaaa. Meeting...
21:03.42TainStupid meetings.
21:06.38AdrineHm. Would a repulsor with slower/steeper fallof cause a faster resolution of the system?
21:08.00L|Elvisopurl: wake tem
21:08.02purltem: GOOD MORNING!!!
21:08.17L|Elvisoheh
21:09.14JoshBorkepurl: wake tem
21:09.16purltem: GOOD MORNING!!!
21:09.21JoshBorke:D
21:09.35Tempurl, smake JoshBorke and L|Elviso
21:09.46Temclearly, I'm still asleep
21:10.02Tempurl, smack JoshBorke and L|Elviso
21:10.04purlACTION smacks JoshBorke and L|Elviso upside the head.
21:10.25krkaAdrine, that was cool! have been thinking about that problem myself
21:10.27L|Elvisothank you purl!
21:12.39Temis dharga still around?
21:13.21Temone of these days I'm going to realize that if you type half the name and hit tab 4 or 5 times and the name still isn't there, that the person isn't here.
21:13.39Adrineheh
21:16.16JoshBorkeheh
21:16.48*** join/#wowi-lounge zespri_work (n=andrews@202.180.87.22)
21:27.21Legorolgodd evening
21:27.40Legoroli've heard that slouken is doing something about the increased UI mem usage, is that true?
21:27.44Legorolif yes, what's he doing about it?
21:27.49malrethhe's fixin it
21:27.52malrethlike a MAN
21:28.34Kirkburner, okay then
21:28.34Legorolmalreth: what's he exactly fixing about it?
21:28.34Qzot"Fixing" = limiting it to 4k?
21:28.39malrethheh... he could just alter gcinfo so that it returns a smaller number than it normally reports.
21:28.46Legorollol
21:28.48malrethBAM! fixed.
21:28.51malrethno one would ever know
21:28.52Kirkburnlol
21:29.18malrethpurl, seen slouken
21:29.22purlslouken <n=Sam@ip68-5-42-243.oc.oc.cox.net> was last seen on IRC in channel #wowi-lounge, 15h 35m 43s ago, saying: 'yep'.
21:29.42malrethyep... he says he's fixin it
21:29.51JoshBorkelol
21:30.02krkal2bmm
21:30.12malrethhmm... his username is 'Sam'
21:31.45Kirkburn"come patch 1.12 you will be placed in a group upon entering Battlegrounds."
21:31.53KirkburnYes, that's his name
21:31.57KirkburnStrangely enough ...
21:32.13JoshBorkeeh? what's that? automagic groups?
21:32.22KirkburnYes, automagic groups
21:32.27krkapatch 1.12, aka the emergency patch
21:32.35KirkburnFaery dust grouping!
21:32.37L|Elvisois /im used by any addons that you guys know of?
21:32.51Kirkburnkrka, don't we need 1.11?
21:33.07Kirkburn"Also, patch 1.12 will have some awesome PvP stuff, like a cool battleground feature that I know you've all been waiting for!"
21:33.47krkanever mind, it was a bad joke
21:35.34malrethhttp://forums.worldofwarcraft.com/thread.aspx?FN=wow-general&T=7686585
21:35.54malrethOnly in Azeroth... ...would air sell for 16g
21:36.28QzotThe concentrated essence is more expensive.
21:39.22KirkburnOnly worldofwar is currently up?
21:39.37Legorolkrka: i have a question for oyu
21:39.44Legorolyou remember when i was helping you fix tooltip issues?
21:39.48KirkburnBtw, v important post - known 1.10 issues ... http://blue.cardplace.com/cache/wow-general-en/920270.htm
21:39.54Legorolwhat was your problem, and what solution worked for you in the end?
21:40.09L|ElvisoKirkburn, where'd you get those 1.12 quotes?
21:40.14Legoroli'm testing out tooltips in all there facets, and it's driving me nuts now..
21:40.21KirkburnLook at the link I just posted :)
21:40.22Legoroli can't reproduce one issue that lot of people said they had
21:40.32Legorolthat a parented tooltip can't use SetOwner in OnLoad
21:40.42Legorolthe most annoying thing is that i had that too, in the past
21:40.45Legoroland now i can't reproduce it
21:40.53KirkburnFor the specific post, I just get it
21:41.12Kirkburnhttp://blue.cardplace.com/cache/wow-general/7667392.htm
21:41.35malrethi notice that onyxia isn't on that list...
21:42.43Temlets play spot the syntax error
21:42.43krkasorry lego, no idea how it got fixed
21:42.47Tembecause I'm feeling blind
21:42.48krkaonly errored once
21:42.54krkareload fixed it
21:42.56Temhttp://wow.pastebin.com/631548
21:43.02grollLegorol u use sarf's aq stuff and such?
21:43.06Legorolyep
21:43.13Kirkburnmalreth, what happened with Onyxia?
21:43.13Legorolkrka: how's your tooltip set up at the moment?
21:43.14grollok u got a working buffbot to go with it?
21:43.26KirkburnFrequent deep breath?
21:43.27Legoroli'm in the process of compiling a list of tooltip behaviours and tricky points
21:43.32malrethshe deep breaths every 15 sec in p2
21:43.38KirkburnYeah, known
21:43.38krkamy scanner or my regular?
21:43.39Legorolgroll: yes i have a working buffbot
21:43.41krkaguessing scanner
21:43.46Legorolno AQ can't drive BuffBot any more
21:43.49grolldeepbreat works like the meteors in aq20 i think
21:43.53Legorolkrka, scanner
21:43.58krka<PROTECTED>
21:43.58grollso aq is totally not working?
21:43.58krka<PROTECTED>
21:43.58krka<PROTECTED>
21:43.58krka<PROTECTED>
21:43.58krka<PROTECTED>
21:44.01Legorolgroll: you need to fix your BuffBot manually
21:44.05LegorolAQ is working fine
21:44.10malrethwe tried to take her down last night and we were all, "ZOMG, teh loot pinata fights back!"
21:44.14Legorolthe only thing it can't do any more is invoe spellcasts on movement
21:44.17Kirkburnlol
21:44.22grollok arf i dont know how to fix it.. but can u mail me yours that works?
21:44.25Legorolso if you are used to AQ -> BuffBot auto-casting buffs,
21:44.34Legorolgroll: it's one line, let me paste it
21:44.41grolloke thx :)
21:44.44Legorolbut let me explain how it all works at the moment:
21:44.52Legorolok so you know that AQ uses BuffBot to actually cast buffs
21:44.59Legorolin 1.9, AQ hooked into movement
21:45.06Legorolso when you moved, it called BuffBot and you got the casts
21:45.14Legorolin 1.10, AQ is not allowed to hoook movement anymore
21:45.17grollye i need to push a buttong right?
21:45.19Legorolit can still give you warning messages
21:45.20grollbutton
21:45.24Legorolor push a button, yes
21:45.34Legorolif you push the button for AQ, it can still call BuffBot, that does work
21:45.47Legorolcompletely independently from that, BuffBot has an issue with 1.10 which breaks it
21:45.55Legoroli have a one line fix for that, which i'm going to look up for you now
21:46.04Legorolwhich version of buffbot do you have?
21:46.05TemCan someone take a look at this and tell me where the error is? I really can't find it
21:46.06Temhttp://wow.pastebin.com/631548
21:46.06grollthank you Legorol :D ur my savior :D
21:46.15Legoroldon't thank me, Miravlix found the fix
21:46.20grollLegorol erm well umm the doh wait a sec
21:46.30grollneed to log out and check
21:46.39Legorolmy BB version is 2.35p
21:47.04grolli got the one AnduinLothar hacked but well it aint working to nicely for me :P
21:47.13Legorol:/
21:47.19Legorolok open up BuffBot.lua in a text editor
21:47.25grollit refuses to buff if i have someone targeted etc
21:47.28JoshBorkeTem: could it be the funciton?
21:47.28Legorolsearch for this line: BuffBotTooltip:SetUnitBuff(unit,buff_index)
21:47.37Legoroland *before* that line, paste this:
21:47.42LegorolBuffBotTooltip:SetOwner(UIParent,"ANCHOR_NONE")
21:47.58TemJoshBorke: `}' expected (to close `{' at line 177) near `if' is the error I'm getting
21:48.08JoshBorkeah :-)
21:48.20TemJoshBorke: line 177 is the button.Events = { line
21:48.43Temwow I found it
21:48.47Kirkburn«A rocket will never be able to leave the Earth's atmosphere.» New York Times, 1936.
21:48.49TemI typoed "function"
21:48.55JoshBorke...
21:49.00JoshBorkeTem: could it be the funciton?
21:49.04malrethKirkburn: http://en.wikipedia.org/wiki/Evil_twin
21:49.15Temdamnit
21:49.20TemI swear I'm dyslexic
21:49.36TemI didn't notice you had spelled it wrong either
21:49.43grollok Legorol thanks a bunch :)
21:49.56JoshBorkeTem: np
21:50.03Temthanks
21:50.09Legorolgroll: i don't know if it fixes your particular issue with BB
21:50.12Legorolbut it makes most of it work
21:50.19grollLegorol btw i used buffbot 1.0 btw :p
21:50.20KirkburnI'm sitting here thinking, why would malreth link me that? And for the life of me, I don't know. :/
21:50.24Legorolwithout that, it's just totally borked
21:50.35Legorolok that's a pretty old version
21:50.44malrethno reason. just random
21:50.56grollyep but the only one that worked with sarfs aq stuff
21:50.58malrethit was in my clipboard so i pasted it to you
21:51.03grollif i'm not misstaken
21:51.05Kirkburn:D
21:51.08Kirkburn«The phonograph has no commercial value at all.»
21:51.08KirkburnThomas Edison, American inventor, 1880s.
21:51.30KirkburnEvil Twins: always the one with the goatee
21:51.48Legorolgroll: could be
21:51.57Legoroli didn't have much problem with the latest version and AQ
21:52.03grollk
21:52.11grolli'll see if i can find the latest version :)
21:52.13Legoroleither way, you definitely need that line i pasted, because of tooltip changes in 1.10
21:52.28grolli got the 2.35p aswell
21:52.34Kirkburn«Heavier-than-air flying machines are impossible.» Lord Kelvin, British mathematician and physicist, president of the British Royal Society, 1895.
21:55.07KirkburnGotta love predictions
21:56.03KirkburnFront line report: WoWWiki working, Worldofwar working, WoWI working, CG uselessly slow
21:56.28IrielI've taken to updating CG a week or two after patches, it's the only way to remain sane
21:57.01grollbtw Legorol u found the issue why my macro wont show up in imp error..?
21:57.07malrethi just don't upload to CG... i'm loyal to wowi
21:57.17malrethCair is the only one for me now
21:57.30IrielWell, I'd feel bad if I pulled all my addons from CG
21:57.33IrielI dont add new ones there
21:57.53malrethjust treat it like a girlfriend that you're breaking up with... ignore it
21:57.56IrielWhat I really need to do is script the upload process for each site
21:58.11IrielThen I can just do ./updateAddons *
21:58.20malrethignoring is easier
21:58.37malrethgirlfriends don't respond well to scripts
21:59.08TemI posted a "I am not updating here anymore" at curse with a link to my wowi portal
21:59.26malrethhow was your meeting? lotsa talkie talkie?
21:59.40Irielwhose? Mine?
22:00.10JoshBorkebye all
22:00.10*** part/#wowi-lounge JoshBorke (n=Josh@antimatter.stl.gtri.gatech.edu)
22:00.19malrethIriel: yeah...
22:00.28malrethbah... i gotta come in early tomorrow
22:00.52malrethcoming to work cuts into my sleep time
22:00.54Irielmalreth: It was unexciting, but yes, lotsa talkie talkie.
22:01.16malrethbut it's the assistant director telling me so i can't say no
22:01.46malrethoh well, more comp time for me
22:02.56KirkburnUnless CG start doing some changes, it will start losing people. I don't know the wowi stats, but worldofwar is catching up (60 mil to 40 mil last time I looked) and the downtime don't help. I think I might change my CG links to wowi soon
22:03.44KirkburnLess people = less ad revenue
22:22.12KirkburnTeach me to type code quickly, I totally messed up when trying to help someone with CF.
22:27.52L|Elvisoit's official: http://www.wowinterface.com/downloads/fileinfo.php?id=4776
22:28.47Kirkburnit's da bomb
22:28.53IrielL|Elviso : How do you know if the item's been seen on the server?
22:29.00Temanyone here know if sarf is planning on using the new CreateFrame api to make CooldownCount more generic?
22:29.59KirkburnL|Elviso: something in that screenshot looks vaguely familiar ;) Btw, I reckon you were a little overzealous with your compression
22:30.10AnduinLothari'm sure someone will eventually
22:30.20Tembecause if he doesn't, I will
22:30.45TemI just had an idea that seems really easy to implement
22:30.47L|ElvisoKirkburn: saying its hard to see?
22:31.09Temit does make one assumption though
22:31.33TemIt assumes that all action button addons make a call to "CooldownFrame_UpdateCooldown"
22:31.37IrielL|Elviso : I find it quite readable
22:31.54KirkburnI'm a fan of beauty :)
22:33.11KirkburnAlthough, I am confused that your tooltips are different to what I'd expect
22:33.15L|ElvisoI was going to say, it should be 80% I believe
22:33.43KirkburnLol, it was IE acting strange
22:33.46L|ElvisoThose screenshots only had itemmagic and notes-u-need enabled
22:33.47QzotGo ahead, Tem. At least one person is pretending to listen.
22:34.01KirkburnAh, makes sense :)
22:34.46Temwell, if every action button calls CooldownFrame_UpdateCooldown instead of invoking it's cooldown model itself, it would be easy to hook that function to 'find' every button
22:35.03Kirkburn(that was weird, something made it all blocky until I did something else in IE)
22:35.13Temso CDC wouldn't need to have a module for every action bar addon out there
22:35.16IrielKirkburn : I think that's "IE being crap"
22:35.30Kirkburn:P
22:35.59IrielTem: I assume you meant ActionButton_UpdateCooldown ?
22:36.03Temno
22:36.16TemI mean CooldownFrame_UpdateCooldown
22:36.40Temto which you pass the cooldown model and a few parameters about how long it needs to animate
22:36.54Temyou could call GetParent on the cooldown model to get the button itself
22:38.50IrielI dont see CooldownFrame_UpdateCooldown anywhere in the UI
22:39.41*** join/#wowi-lounge Kolth (n=amoeba@c-24-22-42-31.hsd1.or.comcast.net)
22:41.25Temwhoops
22:41.32Temthat's CooldownFrame_SetTimer
22:41.32IrielAm I missing something or are you on crack?
22:41.49IrielAh, that one I see
22:41.50Iriel8-)
22:43.09AnduinLotharwhy the **** are people reporting critical wow exceptions on the cosmos forums..
22:43.30TainProbably the same reason they post Cosmos questions on the WoW forums.
22:43.31Temso when that function is called, find the button object with cooldown:GetParent()
22:43.34IrielBecause cosmos is the devil and causes them all?
22:43.52IrielTem: You could do some minor analysis of the button too, to ensure it looks action-button-ish
22:43.55AnduinLothar"WoWBuild: 4603"
22:44.07Temaye, that makes sense
22:44.50TemAnduinLothar: because cosmos by the nature of it's simplicity to use and install over most other typical addons attracts some of the dumbest users out there
22:44.55AnduinLotharand yet again someone wants to use /in to delay a spell..
22:45.10Temthat would drive me crazy
22:45.25AnduinLotharhe's using a ******* emulated server, why the **** is he reporting errors at all!
22:45.35Temhahahahahahaha
22:46.29Irielself incrimination, nice
22:47.00AnduinLotharwtf "Howdy. Great AddOn and all that rubbish.
22:47.01AnduinLotharWould it be possible..."
22:47.08TainGeez I was just speccing out a new system for myself and putting together a high-end yet not absurd system is dirt cheap.
22:47.55TemI suppose you could use Enumerate Frames looking for model objects with their model set to the cooldown model to find those that don't use the SetTimer function
22:48.14IrielTem: But would you want to be puttng cooldown display ON those ones anyway?
22:48.33Temwhat has a cooldown model that isn't a cooldown?
22:48.39IrielTem: if they're not using the standard methods to change it, how would you know what rules to display with
22:48.44AnduinLotharok... this has got to be a record. there are like 50 new posts on the cosmos forums every time i check... and i refresh frequently...
22:48.47IrielTem: What if I was using the cooldown model to display health?
22:49.03Temthen you call my RegisterException function and I ignore you?
22:49.25Temit's a good point
22:50.02IrielThat 'RegisterExceptoin' comment sounded very cosmosian 8-)
22:50.12IrielNo offense to AnduinLothar  -- you seem quite well behaved 8-)
22:50.30Temhmm, which way is better?  Put cooldown counters on anything I find unless it requests I don't, or only put cooldown counters on things that use CooldownFrame_StartTimer
22:50.52Temand provide a method to register other buttons for those that don't use it
22:50.56IrielI'd say stuff that uses CooldownFrame_SetTimer is fair game
22:51.20IrielAllowing explicit registration would be nice, especially if your code itself uses that mechanism
22:51.53Temdamn, now I actually want to write this thing instead of waiting for someone to do it to CDC
22:52.16AnduinLothari have plenty of other things that need doing if you're bored..
22:52.36Legorolgood evning
22:52.46TemI'm gonna go rumage around CDC's code
22:52.46Legoroljust finished updating these:
22:52.47Legorolhttp://www.wowwiki.com/UIOBJECT_GameTooltip
22:52.47Legorolhttp://www.wowwiki.com/Tooltip_Pseudo_Code
22:52.50Cairennhey lego
22:53.11Legoroli have tried to research as many of the finer points of tooltips as possible
22:53.34IrielDid you explore all the SetOwner/parent/hide/show combos?
22:54.22AnduinLotharwow... it's fricken spring break and i still dont have time to sleep in..
22:54.22Legoroli have tried to... but it drove me nuts,
22:54.27Legorolbecause i can't reproduce some of the bugs
22:54.39Legorolthings that i had earlier, for example that you can't SetOwner in OnLoad
22:54.50Legoroli have explored everything else that i could think of:
22:54.58Legorolhaving a parent, that gets hidden, shown, owner gets hidden, shown etc.
22:55.16Legorolthe only thing i can't reproduce is the issue with SetOwner in OnLoad, and it's driving me crazy
22:55.26Legorolespecially because i had it before, and because other people reported it too
22:57.46grollaha Legorol is back :D
22:57.54Legorolif someone can give me a 100% reproducible scenario where SetOwner is breaking in an OnLoad, i'd be extremely happy..
22:57.55grollu found out why imp error wont show my message?
22:58.16Legorolsorry groll havent looked yet
22:58.20Legorolits on my todo list
22:58.22grollargh :S
22:58.26grolli reeeeeally need it
22:58.39groll:P
22:58.55grollif i get more on 40 ppl online during a raid i'm scrwed to type manyally otherwise :P
22:59.42Legorolok i'll take a look now
23:00.04grollthank you so much :)
23:00.41malrethhey, Legorol... nice work on http://www.wowwiki.com/UIOBJECT_GameTooltip
23:00.47Legorolthanks
23:01.10Legorolone of the things i finally managed to get right with 1.10 is what happens to the anchors of a tooltip with ANCHOR_NONE
23:01.20Legorolnow we can enumerate the anchors so i nailed that one
23:02.41malrethspurious is my favorite word
23:03.15LegorolWhen would an integer variable in Lua get printed out as "1.#INF"
23:03.25IrielWhen it's infinite
23:03.36Irielx = 1/0;
23:03.39malrethhttp://forums.worldofwarcraft.com/thread.aspx?fn=wow-interface-customization&t=349176&s=new&tmp=1#new
23:03.59Legorolso "infinite" is a special value that Lua can store?
23:04.10Legorolis it one of the possible values out of the integer range, or is it separate?
23:04.14malrethinf is a valid value in floating point math
23:04.17Irielit's not an 'integer'
23:04.20Irielthere's no 'integer' in lua
23:04.24Legoroloh yeah good point
23:04.25Irielor at least, none you can get to
23:04.26malrethlua uses double floats
23:04.32Irielinf and -inf are both valid values
23:04.37malrethwell, our lua does in WoW
23:04.41Irielas it nan
23:04.49Legorolcan i explicitly assign inf to a variable?
23:04.50Irielas IS nan, that is
23:04.51Legorolx = inf
23:04.51malrethnan is good with curry
23:04.57Irielx = 1/0;
23:04.59Irielthat's inf
23:05.01Irielx = -1/0;
23:05.02Irielthat's -inf
23:05.03Legoroloki
23:05.07Legoroland how do i get a NAN?
23:05.12Irielthere arent inf/-inf/nan constants that I know of
23:05.19malrethx=sqrt(-1)
23:05.21malreth?
23:05.30Legorolthat is a number... it's just complex ;-)
23:05.36malrethit's not a number
23:06.01malrethwell, not one that can be represented as a floating point number
23:06.04Legorolanyways, one of the funny things about tooltips is that if you set ANCHOR_NONE and then proceed to set the contents without explicitly specifying any anchors,
23:06.04Irielsqrt -1 is nan, yeah.. so is 0/0
23:06.16malrethNEVER do 0/0
23:06.17Legorolthe C engine sets a spurious TOPLEFT anchor to UIParent with x-offset of 1.#INF
23:06.20malrethOMG!
23:06.27malrethyou could have KILLED us all, Iriel
23:06.35IrielLegorol : What happens when you check a frame later?
23:06.43Legoroli have
23:06.45Legorolit is there
23:06.48Legorolit stays there
23:06.57Legorolit is a completely ordinary anchor, as if it got set via SetPoint
23:07.07Legorolthe only odd thing about it is that the x-offset is inf, the y-offset is 0
23:07.18IrielI wonder if the inf is coming from a calculation inside the API, rather than being stored that way
23:07.23Legorolit is this spurious anchor that explains some of the weird effects you can get with a tooltip
23:07.29malrethprobably has something to do with the underlying C code
23:07.30LegorolIriel: could be
23:07.36malrethi type too slow
23:07.38Legoroli am using tooltip:GetPoint(i) to get the xOfs
23:08.11IrielDid anyone else think it's wierd that the new taxi functions have separate get x and get y funcs rather than just one that retusn both?
23:08.25Legoroldidn't know :-)
23:08.42Legorolso i finally managed to explain the following: if you do this:
23:08.43Legoroltooltip:SetOwner(owner, "ANCHOR_NONE");
23:08.43Legoroltooltip:SetText("Hello");
23:08.43Legoroltooltip:SetPoint("TOPRIGHT", UIParent);
23:08.55Legorolyou'd expect a perfectly ordinary tooltip to show up in the top right corner, but it doesn't
23:08.59IrielWell, no
23:09.05IrielYou didn't call ClearAllPoints before SetPoint
23:09.06Legorolbut if you do this:
23:09.07Legoroltooltip:SetOwner(owner, "ANCHOR_NONE");
23:09.07Legoroltooltip:SetPoint("TOPRIGHT", UIParent);
23:09.07Legoroltooltip:SetText("Hello");
23:09.07IrielAll bets are off
23:09.09Legorolit works
23:09.18Legorolnot quite, Iriel
23:09.20Legorolthe order is the key
23:09.25IrielPerhaps
23:09.30LegorolSetX explicitly checks to see if there is any anchor already set
23:09.31Irielbut it's still 'undefined' behaviour of a kind
23:09.39Legorolif there is, it doesn't set any
23:09.45Legorolif there isn't, it sets the spurious topleft anchor
23:09.59Legoroli have represented this behaviour in the pseudo-code
23:10.18IrielIt's still bad form to EVER use SetPoint without a ClearAllPoints before it, unless you've been totally in control over anchors up to that point
23:10.22malrethwoo... all this spurious talk has made me tired... i'm going home
23:10.43Temwoah
23:10.45LegorolIriel, that's the thing.. since SetOwner does a ClearAllPoints, you have effectively done it
23:10.49Temanyone looked at events since 1.10 came out?
23:10.59TemWORLD_MAP_UPDATE seems to be firing CONSTANTLY
23:11.06Legorolok, look at it this way. would you expect this code to work:
23:11.07Legoroltooltip:SetOwner(owner, "ANCHOR_NONE");
23:11.07Legoroltooltip:ClearAllPoints();
23:11.07Legoroltooltip:SetPoint("TOPRIGHT", UIParent);
23:11.07Legoroltooltip:SetText("Hello");
23:11.11TemI wonder if that's an addon
23:11.13Legoroli certainly would
23:11.37Legoroloops, sorry, wrong one
23:11.44Legoroli meant this one:
23:11.44Legoroltooltip:SetOwner(owner, "ANCHOR_NONE");
23:11.44Legoroltooltip:ClearAllPoints();
23:11.45Legoroltooltip:SetText("Hello");
23:11.45Legoroltooltip:SetPoint("TOPRIGHT", UIParent);
23:12.14IrielLegorol : Well, normally, yes, but tooltips things when you call set methods on them, so who knows
23:12.32Legorolexactly
23:12.37IrielI agree with the validity of your observations and that care hsa to be taken with the things
23:12.39Legorolwell i'm just happy i documented the behaviour
23:12.54IrielIt was just that for a NON-tooltip object, calling a SetPoint without a ClearAllPoints before it is dodgy at best
23:13.00Legorolbecause these are the kinda smaller "gotchas" that can make or break things
23:13.02Irielwhich was more what I was trying to say 8-)
23:13.08Kirkburn|wowmalreth someone wants you to die, again
23:13.10AnduinLotharya so... both the ArcanePartyBars and ShardTracker bugs are tooltip issues
23:13.11Legorolsure, i agree with that one
23:13.18Kirkburn|wowGotta love em
23:13.20LegorolAnduinLothar: cool, so they are fixable
23:13.32Kirkburn|wowDamn, he's gone :(
23:13.33IrielSo far I think all of the addon issues have been one of:
23:13.35IrielA) Tooltip problems
23:13.35LegorolIriel: sorry if i came across more argumentative then i should've
23:13.41IrielB) Calling protected functions
23:13.48IrielC) Font change issues
23:13.56IrielD) Non-updated hooks
23:13.58AnduinLotharwow, an unknown entity just challenged me to a duel
23:14.07IrielAll of the major ones, anyway
23:14.20Irielthere have been some event sequence changes that bit me, too.
23:14.32LegorolIriel, if anyone asks: the current "best" practice for a tooltip that is used frequently is to SetOwner it once OnLoad
23:14.54IrielLegorol : I thought you managed to break that one?
23:14.56Legorolwe had some performance issues when we were SetOwnering each time
23:15.14Legorolit was only broken if the tooltip had a parent
23:15.23Legoroland even that, i can't reproduce at the moment, although some people had it
23:15.30Legorolin all cases removing the parent from the XML fixed it
23:15.42Temok, so I have an addon that's causing a crapton of WORLD_MAP_UPDATE events
23:15.51Legorolthis is why we went from SetOwnering each time to SetOwnering OnLoad
23:16.23Legoroli am not completely satisfied that the issue of SetOwner in OnLoad is settled
23:16.25IrielTem: See if something's calling any of the SetMap functions without checking first
23:16.31Legorolok enough rambling from me
23:17.00IrielTem: Specifically 'SetMapToCurrentZone()' or 'SetMapZoom(0)' OnUpdate
23:18.02Temoh, I bet it's MonkeySpeed
23:19.00Temyup
23:19.02IrielIt shoyuld probably be changed to use GetCurrentMapZone() first
23:19.24IrielUnless you have TWO addons doing the same thing but using different map zoom levels
23:19.52Legorolgroll: are you around?
23:19.58Temno, it appears to just be the one
23:20.03Temoh yeah I found it
23:20.03grollye sorry was ingame :p
23:20.19Teman OnUpdate calling SetMapToCurrentZone
23:20.58Legorolgroll: are you busy? can you help me debug the IEF issue?
23:21.07Legoroli'm not getting anywhere with it here, need your help
23:21.11grollbusy but not that busy :D
23:21.15Legorolok
23:21.28Legoroldo you have IEF from latest Cosmos version?
23:21.34Legorolif not, can you try with that one?
23:21.54grollwhen was last update?
23:21.59*** join/#wowi-lounge Depherios (n=Deph@67.189.88.161)
23:22.06Legorolum, just grab the current one on the website
23:22.07grolltoday?
23:22.18Kirkburn|wowWhy not the patcher?
23:22.18grolli updated at like hmm 7 hours ago perhaps
23:22.24Legoroloh right
23:22.30Legorolhasn't changed since
23:22.32IrielHey lego, I bet this is related to the OnLoad problem : http://forums.worldofwarcraft.com/thread.aspx?fn=wow-interface-customization&t=349283&p=1&tmp=1#post349283
23:22.57Legorolgroll: in that case, can you please try /script message("Hello") in-game?
23:23.00grollk then i got latest
23:23.01Legorolsee if you get Hello in IEF
23:23.22grollworked
23:23.25Temhmm, how do you convert the current real zone into a number that corresponds to the numbers returned by GetCurrentMapZone?
23:23.32grollwtf
23:23.32Tema big ass conversion table?
23:23.36grollNOW it works :S
23:23.47IrielGetMapZones
23:23.51IrielGetMapContinents
23:24.07Legorolthat explains why i couldn't reproduce it :D
23:24.11LegorolIriel: looking
23:24.19grolli havent changed a single thing though
23:24.22Legorolafaik Decursive's last version for 1.9 was missing SetOwner, like all addons
23:25.00grollcould it be a limitation on how many lines it can show Legorol?
23:25.02Kirkburn|wowIs that the same as http://forums-en.wow-europe.com/thread.aspx?fn=wow-interface-en&t=38660&p=1&tmp=1#post38660
23:25.26Kirkburn|wow^ decursive fix post
23:25.28Legorolgroll: i doubt it
23:25.49grollk cause now i have like 10 ppl online and it works, with 40+ it dont seem to work :/
23:25.56grolland as i said i changed nothing
23:26.35LegorolKirkburn|wow: that seems like a bogus fix
23:26.44Kirkburn|wowFair enough :)
23:26.44LegorolDecursive 1.9.0 uses tooltip scan and doesn't do setowner
23:26.48Legoroli'm getting 1.9.1 now
23:27.05TemIriel: does GetRealZoneText or GetMapZones return localized zone names?
23:27.09Templease say no
23:27.34IrielTem: Absolutely they do
23:27.42Temboth then?
23:27.46IrielTem: AND the ordering is based on localized ordering
23:27.59Temoh?
23:28.06IrielTem: There's no safe non-localized zone ID
23:28.08Temso 16 isn't always Teldrasil
23:28.17IrielNo
23:28.21Temok
23:28.27Irielif blizzard ever add or rename a zone, or you change language, all bets are off
23:28.27Temlossa bugs in BP speed then
23:28.52Adrinehttp://tachyonsix.com/graph2.png
23:28.52LegorolDecursive 1.9.1 has correct SetOwner before each SetX call
23:29.14Legorolah
23:29.18Legorolno it doesn't, it's missing one
23:30.08kremontehm, anybody have some good ideas for an addon to make? i lack entertainment
23:30.21kremonteAdrine: o_O?
23:30.38IrielAdrine : cool.
23:30.54grollkremonte i would have had one but right now i forgot what i needed :P
23:31.16Legorolhmm.. Decursive 1.9.1 in fact is missing SetOwner calls in a lot of places
23:31.26kremonteright now i have one that replaces what mages say in guild with
23:31.32kremonte[Mage] qqq qq q q qqqqq qqq
23:32.18Temkremonte: why would you want to do that?
23:32.22Codayuslol
23:32.31kremonteTem: guild chat since 1.10
23:32.42kremonte[Mage] WTF PRIESTS? THATS NOT FAIR
23:32.43Temwhat are mages bitching about now?
23:32.44Codayuswhy *wouldn't* you?  :-P
23:32.50kremonte[Mage] PRIESTS ALWAYS KILL MAGES, WTF
23:32.54Temgood lord we're a whiney bunch
23:32.57kremonte[Mage] NOW THEY OUTDPS US AND DO MORE BURST DAMAGE
23:33.01kremonte[Mage] WOW THIS IS SO GAY
23:33.04kremonte[Mage] BLIZZARD SUCKS
23:33.11kremonte[Mage] IM QUITTING UNTIL EXPANSION, WOW THIS IS GAY
23:33.13Temlol
23:33.13CodayusHeh, I wish priests could do that.
23:33.14kremonte[Mage] MAGES NEED A REVAMP
23:33.18Legorolinteresting..
23:33.20kremonte[Mage] AND PRIESTS CAN FUCKING HEAL TOO
23:33.20Temwe are getting one
23:33.22LegorolIriel: i think you are right!
23:33.22Temin 1.11
23:33.22kremonte[Mage] WOW THIS IS SO GAY
23:33.27AdrineAnyone interested in the source/a binary to play with? *grin*
23:33.28IrielOk, we get the idea kremonte
23:33.28kremonte[Mage] WOW I HATE MY LIFE
23:33.29Legorolit does seem to be the SetOwner OnLoad but
23:33.29Temkremonte:  we get the point
23:33.31Legorol*bug
23:33.32kremonteokay Iriel
23:33.33kremonte:P
23:33.36Adrine(I'm having way too much fun playing with it)
23:33.42kremonterofl, same time as a mage did a priest rant
23:33.45CodayusWhats really sad is the *priests* who think they can out-dps mages.  Dude!  I critted for over 1k with smite!  pwnz0r!  oO
23:33.46LegorolIriel: thanks! now i have something to play with :D
23:33.49kremonteAyaz's Frostbolt crits you for 4205
23:33.50Cairennkremonte: ><
23:33.54IrielLegorol : Can you reproduce it by hiding and re-showing IUParent?
23:33.57kremonteAyaz's Fireblast crits you for 1986
23:34.02kremonteCairenn: <3
23:34.08IrielLegorol : UIParent, even.. Or is it more pervasive
23:34.24LegorolIriel: i haven't loaded this version in the game yet
23:34.42Temkremonte: 4k frostbolt crits aren't really feasible without a beserking buff
23:34.49Legorolbut yeah, if you hide/show UIParent, that would destroy the tooltip
23:34.54kremonteTem: yes, ap pi zhc berserking
23:34.57Legorolthat's not an OnLoad issue though
23:34.59kremontei just thought it was funny
23:35.07kremonteit was simulataneous
23:35.09Legorolthat's an odd behaviour with tooltips (that i also documented):
23:35.12CodayusHere's a question - whats sadder - mages who think holy nova is better than Arcane Explosion?  Or priests who think that?
23:35.12Temkremonte: mages who go AP aren't frost mages
23:35.23Legorolcalling Hide onthe parent of a tooltip causes the tooltip to become invalidated and need another SetOwner
23:35.27kremonte31/20 Tem
23:35.29kremonte31/0/20
23:35.32Temholy nova is the win on vael
23:35.38kremonteno its not :x
23:35.40Temkremonte: that's the most gimped build ever
23:35.43Legorolit's very odd, it's effectively calling tooltip:Hide() if you do tooltip'sparent:Hide()
23:35.46kremonteTem: low range
23:35.46Legorolno other UI objects do that
23:35.47Cairennkremonte: it's one thing to copy and paste something like that when there is nothing going on in the channel, but when there is a conversation ongoing already, it is just spam
23:35.55Cairennso cut it out
23:36.00Legorolok, long story short:
23:36.02kremontei stopped 5 minutes ago -_-
23:36.19Temkremonte: it's pointless to go AP with a frost build
23:36.21LegorolIriel: if you have a tooltip that has a parent, hiding/showing the parent necessitates a new SetOwner
23:36.26kremonteTem: "it's for MC!"
23:36.33Legorolthat i can 100% reproduce
23:36.35kremontecause apparently fire mages are the weakest class in the game
23:36.37Temkremonte: you need at least 21 points in frost to be useful
23:36.44kremonteomg shatter
23:36.50Temand more like 28 to be effective
23:37.05kremontehey i'm not arguing with ya
23:37.08Temyou need shatter and ice shards minimum for damage
23:37.15Legorolok going to answer that post..
23:37.18Temand theres just no point in an ice build without iceblock
23:37.19kremontemy mage is level 30
23:37.26kremontebut i know many 31/0/20 mages
23:37.36Temtell them they are retards for me, k?
23:37.44kremontethey already know ;)
23:37.49kremontei remind them every time i 2 shot them
23:37.54kremontelol nerf warlocks
23:37.58Temindeed!
23:37.59kremonteand on that note
23:38.01kremontei need a mod to make
23:38.02kremonte._.
23:38.04IrielLegorol : You mean parent="..." parent, or owner parent?
23:38.14Legorolparent="" parent
23:38.16Legorolowner is owner
23:38.21Legorolthey are completely independent
23:38.38IrielI just wanted to be sure we were using consistent nomenclature 8-)
23:38.53Legorolok
23:38.54kremonteTem: any ideas? ._.
23:38.55Legoroli am trying to
23:39.12Legorolfor example, imagine you do this:
23:39.13Legoroltooltip:SetParent(UIParent)
23:39.13Legoroltooltip:SetOwner(MyOwnFrame, "ANCHOR_NONE");
23:39.15IrielSo, your 'dont set a parent' advice resolves the issue?
23:39.20Temkremonte: make one that auto-whispers those 31/0/20 mages and tells them they are retards
23:39.20Legorolyes
23:39.39Legorolin the above example, showing/hiding UIParent makes the tooltip become invalid
23:39.50IrielBetter would be queuing their names into a saved table, then wheneer you interact with a mailbox, send them in-game mail explaining WHY they are
23:39.51Legorolshowing/hiding MyOwnFrame has no effect on the tooltip
23:39.56kremonteTem:lol
23:41.00Kirkburn|wowWeird, I just an identical question (that I've never been asked before) asked in two totally different ways less than 15 mins apart on worldofwar
23:41.24Kirkburn|wows/just/just got
23:43.22LegorolIriel: do you know if there is any situation during game where UIParent gets hidden/shown?
23:43.29Legorol(except for Alt+Z)
23:44.21IrielZoning
23:44.32Iriel(thus my suspicion about that bug)
23:45.10Legorolright
23:45.19Legorolso on zoning, the tooltip definitely goes foobar
23:45.26Legoroland if the user is unlucky, it goes foobar on login too
23:45.37Legorolthat's the part i can't reproduce :-)
23:46.13IrielWorld map too
23:46.15IrielAnd cinematics
23:46.20Legorolright
23:46.40Legorolbottom line is, don't give your tooltip a parent
23:46.44Legorolit will only cause trouble
23:52.41Temalso, when the world map frame is visible
23:52.44Temit hides uiparent
23:52.53Temoh, Iriel beat me
23:53.18IrielIt's any UIPanel with area == "full"

Generated by irclog2html.pl by Jeff Waugh - find it at freshmeat.net! Modified by Tim Riker to work with blootbot logs, split per channel, etc.