00:00.19 | iriel|Working | Hm, I wonder if your DB server has a hardware issue. |
00:00.25 | Cairenn | we're back |
00:01.02 | Guillotine | ./cheer for WoWI |
00:02.14 | Guillotine | its back down :( |
00:03.06 | Cairenn | nope, still up here ... |
00:03.12 | Cairenn | just refreshed |
00:03.55 | Cairenn | iriel|Working: I don't know, it's possible, the last one did =/ |
00:04.32 | Guillotine | interesting. I'm getting the database error page |
00:04.50 | Cairenn | yup |
00:04.52 | Cairenn | down |
00:04.57 | Cairenn | poor dolby |
00:05.14 | Kirov | Does he get paid for this? |
00:05.32 | Cairenn | no one gets paid enough to go 2 days without sleep |
00:05.58 | Kirov | eek |
00:06.16 | Cairenn | and it's coming up on the 48 hr mark where he hasn't had more than 1/2 hr at a time |
00:06.28 | Kirov | is the server still getting attacked? |
00:06.43 | Cairenn | don't believe so |
00:07.35 | Ktron | Authentication... GO! |
00:08.24 | *** join/#wowi-lounge Parak (n=profi@user-0cev737.cable.mindspring.com) |
00:09.23 | Cairenn | and back |
00:10.09 | *** part/#wowi-lounge Ratbert_CP (n=KCummins@proxy-ce4.disney.com) |
00:10.29 | Guillotine | I feel dirty |
00:10.34 | Guillotine | I'm using worldofwar.net |
00:11.11 | Ktron | anyone on Draka at the moment? |
00:11.25 | Cairenn | not I |
00:11.31 | *** join/#wowi-lounge Kolth (n=amoeba@c-24-22-42-31.hsd1.or.comcast.net) |
00:11.36 | Cairenn | do I need to be? |
00:11.41 | Ktron | Nope |
00:11.46 | Cairenn | k |
00:11.59 | Ktron | just figured if people were, I'd go there to test, otherwise I'll just test on my normal server |
00:15.30 | Cairenn | *nod* |
00:16.31 | Kolth | Non-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.06 | cladhaire | Evening |
00:17.30 | Cairenn | hey cladhaire |
00:17.37 | iriel|Working | Kolth : No, but someone I work with says it was 'cool' 8-) |
00:18.01 | Kolth | Iriel :) 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.57 | Miravlix | 1: I lost all macros on Action Buttons. |
00:27.14 | Miravlix | 2: Errors is reported without function/file information |
00:28.03 | Miravlix | 3: The UI uses significantly more memory on my system |
00:29.45 | Ktron | If I wanted to define a function that users could use by doing a /script MyFuncName(), how would I do that _correctly_ |
00:29.54 | Ktron | or what should I look up heh |
00:36.00 | Ktron | Ah 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.39 | Eraphine | hrm I think IsMounted is broken |
00:47.04 | Ktron | is GetText broken? |
00:47.20 | Eraphine | Something about tooltips changed in 1.10 which is breaking tooltip scanning addons |
00:48.26 | Ktron | Ick |
00:49.05 | Ktron | that makes me sad |
00:49.06 | cladhaire | yeah, see http://svn.brokendreams.net/files/AceHeal.xml for how tooltips need to be fedined. |
00:49.11 | cladhaire | defined |
00:50.23 | End | you NEED to set an owner now is all it looks like |
00:50.29 | cladhaire | not true. |
00:50.40 | cladhaire | if its parented, and the parent is hidden it causes issues. |
00:50.42 | cladhaire | so no parent. |
00:50.49 | End | ah |
00:51.26 | End | well, my fix was just to set owner to UIParent |
00:51.34 | End | but I guess that works because UIParent isn't hidden |
00:51.40 | cladhaire | Not true |
00:51.44 | cladhaire | UIParent is hidden when you alt-Z |
00:51.45 | duke|ib | i can't believe people were still using registerforsave |
00:51.49 | cladhaire | and _can_ cause issues. |
00:51.55 | End | well yeah. I was about to say that |
00:51.59 | cladhaire | =) |
00:52.09 | cladhaire | the above is Legorol's magical mystical answer to all |
00:52.55 | Ktron | Booyah! thank you End, got Gypsy Buffmod back up and running:) |
00:53.43 | End | well, I pretty much said what cladhaire's link was doing apparently :P |
00:54.17 | iriel|Working | Y'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.35 | Legorol | hehe |
00:54.48 | End | I usually accidently click on other games |
00:54.51 | iriel|Working | Miravlix : I'm curious as to your claim the UI is using "significantly more memory" than it did before |
00:54.56 | Legorol | i 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.59 | iriel|Working | Legorol : Absolutely! I do it more often than i'd like to admit, actually |
00:56.46 | Legorol | besides, why exactly is your WoW icon next to a work related app ;-) |
00:56.50 | Ktron | yeah, cladhaire, your link wins |
00:56.57 | Legorol | shouldn't games icons be in a further location? :p |
00:57.38 | Legorol | cladhaire: it's even better if the tooltip is Ownered to WorldFrame or itself |
00:58.04 | Legorol | i 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.28 | Ktron | Now time to get back to trying to figure out how to define functions that the 'user' can use, say, in /script 's |
01:00.47 | iriel|Working | Legorol : 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.57 | iriel|Working | Legorol : However, MOST of the desktop icons are not work related |
01:01.44 | Legorol | iriel|Working: thanks for the indepth explanation, without that i wouldn't have been able to sleep easy tonight |
01:01.57 | Legorol | now 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.32 | iriel|Working | Legorol : C'mon, I know you love a thorough answer 8-) |
01:04.10 | duke|ib | i miss autotravel :( |
01:05.18 | Legorol | iriel|Working: true |
01:05.55 | Ktron | hm... 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.09 | Legorol | iriel|Working: btw, were you around when i was explaining how one can simulate hooking TurnOrActionStart/Stop? |
01:06.35 | Legorol | i 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.58 | Ktron | http://wow.pastebin.com/630033 , please be gentle |
01:08.07 | Legorol | grrrrr |
01:08.10 | iriel|Working | Legorol : I was, yes, recall our discussion on key binds 8-) |
01:08.21 | Legorol | oops, true |
01:08.27 | Legorol | my memory is failing me |
01:08.37 | Legorol | i need to get at least 1 more gig of RAM |
01:08.45 | Legorol | ok that was a horrible pun.. |
01:09.13 | kremonte | yeah |
01:09.16 | kremonte | i didn't get it at first |
01:09.16 | kremonte | =p |
01:09.35 | Legorol | Ktron: are you trying to make a slash command? |
01:09.51 | Ktron | Legorol, no, I want to make a function that can be called using /script |
01:09.56 | iriel|Working | Ok, G15 gripe #1 -- The ESC key is offset to the right |
01:10.04 | kremonte | SlashCmdList["foo"] = function bar() DEFAULT_CHAT_FRAME:AddMessage |
01:10.08 | Ktron | ie, in the pastebin, /script WSL("text"); |
01:10.15 | kremonte | ("foobar") end SLASH_foo1 = "/bar" |
01:10.15 | kremonte | keke |
01:10.18 | Legorol | Ktron: ok that works |
01:10.25 | kremonte | Ktron: that xml is borked |
01:10.26 | Ktron | hm... it doesn't seem to |
01:10.27 | Legorol | Ktron: you can simplify it further though, you don't have to define it OnLoad |
01:10.29 | Ktron | oh? |
01:10.30 | Ktron | heh |
01:10.35 | kremonte | yeah, lego is right |
01:10.40 | Legorol | oh yeah kremonte is right |
01:10.41 | kremonte | you don't even need an xml, or a frame at all |
01:10.45 | Legorol | you have an extra </Frames> |
01:10.49 | kremonte | just have the toc load the .lua directly |
01:10.56 | kremonte | and in the lua just have |
01:11.00 | Ktron | for some reason I thought you couldn't that |
01:11.04 | kremonte | function HelloWorld() sdfdf end |
01:11.12 | kremonte | it'll load, then you can /script HelloWorld =P |
01:11.21 | kremonte | that's how getlink works, entire addon sans xml :D |
01:11.28 | kremonte | je deteste xml. |
01:11.33 | Legorol | Ktron: http://wow.pastebin.com/630038 |
01:11.54 | Ktron | Legorol, yeah, I did that before you got to posting it, but thanks |
01:12.13 | Legorol | having said that, you are better off getting into the habit of having an XML, and including your .lua from there |
01:12.35 | Ktron | Legorol, why? |
01:12.45 | kremonte | Legorol: no! |
01:12.47 | kremonte | XML is evil |
01:12.49 | kremonte | and it does evil things |
01:12.50 | kremonte | for evil people |
01:12.53 | kremonte | who have evil intents |
01:12.55 | kremonte | like Shouryuu. |
01:13.06 | Legorol | personal opinion, but because having a .lua in the TOC only really works for simple and small applications |
01:13.22 | kremonte | works for anything that doesn't need a GUI or events |
01:13.26 | Legorol | for this case, where you just want a bunch of functions to use in macros/scripts, it's fine |
01:13.36 | Legorol | kremonte: true |
01:13.37 | Ktron | ah |
01:13.39 | Ktron | I can see that |
01:13.39 | kremonte | which may be a minority, but for things like getlink it's unneeded |
01:13.43 | iriel|Working | I doint believe you should EVER include .lua from an XML |
01:13.48 | Legorol | kremonte: as i said, for simple and small applications :p |
01:13.53 | kremonte | .lua from an .xml? ._. |
01:13.54 | iriel|Working | I think that's an out-dated approach |
01:14.08 | kremonte | Legorol: hehe, you should see my current getlink that i'm working on, 600 lines or so, sans xml :P |
01:14.13 | kremonte | iriel|Working: ? |
01:14.18 | kremonte | iriel|Working: you lost me |
01:14.19 | Legorol | iriel|Working: interesting |
01:14.31 | iriel|Working | kremonte : Lego recommended it as a matter of 'habit' |
01:14.36 | kremonte | are you talking about dynamic frames? :b |
01:14.43 | kremonte | i'm not sure how else one would have frames |
01:14.46 | iriel|Working | I have entirely the opposite feeling, use XML when necessary, if you use both, then list both files in the .toc |
01:14.50 | Legorol | no i think iriel|Working doesn't like <Script file=".."/> |
01:14.54 | kremonte | iriel|Working: aha. |
01:15.01 | kremonte | interesting :-) |
01:15.02 | iriel|Working | kremonte : I'm not saying "dont use xml", i'm saying "dont use <script file="...">" |
01:15.09 | kremonte | yupyup |
01:15.32 | Legorol | iriel|Working: i think you do have a point |
01:15.46 | Legorol | i can see potential issues with copy/pasting the XML that causes the file to be included multiple times |
01:15.51 | kremonte | that's pretty interesting, i never thought of that =^) |
01:16.00 | iriel|Working | The 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.20 | Legorol | iriel|Working: what about embedded addons? |
01:16.30 | iriel|Working | Legorol : they wouldn't have xml 8-)( |
01:16.33 | Legorol | e.g. I have a dir called AddOnA and inside it AddOnB |
01:16.39 | Legorol | they can have XML |
01:16.55 | iriel|Working | Legorol : Ah I see what you mean |
01:16.56 | Legorol | although if you reference their XML, you can just as well reference their lua |
01:17.03 | iriel|Working | Legorol : Then list AddonB's files in AddonA's toc |
01:17.09 | Legorol | yeah |
01:17.10 | iriel|Working | Legorol : You already have to bind them that tightly |
01:17.24 | iriel|Working | Legorol : And generally i dont think that's a very good structure anyhow |
01:17.27 | Legorol | i was thinking it looks slightly cleaner if i just list the sub-addons XML in the toc |
01:17.34 | Legorol | i agree it's not a good structure |
01:17.54 | Legorol | ok you convinced me, list Lua in TOC is better |
01:18.07 | iriel|Working | But I agree that for cleanliness it might work out better the way you describe , but ONLY in those kinds of cases. |
01:18.27 | Legorol | btw, don't mind me today.. |
01:18.38 | iriel|Working | Heh, this was just my personal preference, but I do at least have a reason for it 8-) |
01:18.40 | Legorol | i'd been bugfixing Cosmos straight for the past 3 days, and got very little sleep in the process |
01:19.08 | kremonte | "LFM BRD 60 ONLY FULL ON ROGUE" /who => level 58 guildless rogue |
01:19.16 | kremonte | i lol'd |
01:19.49 | Legorol | i think the time has come when i shall up my interface memory limit from 96 Mb to 0 |
01:20.13 | iriel|Working | You trust yourself not to allocate your client into oblivion? |
01:20.23 | kremonte | lol |
01:20.27 | kremonte | 0MB interesting |
01:20.30 | kremonte | what would happen? D: |
01:20.58 | End | I don't trust myself to set it to 0 :P |
01:21.34 | kremonte | hm, for nested loops, would i use j instead of the already used i? :p |
01:21.45 | kremonte | for i = 1,100 do for j = 1,100 do end end |
01:21.47 | iriel|Working | kremonte : 0 means 'no limit' in case you didn't know |
01:21.51 | iriel|Working | kremonte : That's what I usually do |
01:21.59 | iriel|Working | kremonte : I did go through an i, ii, iii phase, but I got over iut |
01:22.00 | iriel|Working | it |
01:22.03 | kremonte | so what happens if you do uhh |
01:22.05 | kremonte | 1 ? :P |
01:22.16 | Miravlix | I'm breaking 140 MB addon memory used |
01:22.19 | kremonte | ... |
01:22.20 | iriel|Working | chances are you dont get very far with 1 |
01:22.22 | Miravlix | This new patch is horrible |
01:22.24 | kremonte | 140MB? |
01:22.25 | kremonte | ... |
01:22.30 | kremonte | i have never gone over 30.. |
01:22.34 | iriel|Working | Miravlix : You keep saying that, I dont think that's the general consensus |
01:22.44 | iriel|Working | Miravlix : I think you have some brokenness going on in your world |
01:22.50 | kremonte | i don't see how 1.10 would bump up memory usage 100mb |
01:22.53 | Miravlix | Gaining 50 MB memory usage is freaking stupid |
01:23.02 | kremonte | the fact that you had 90 is um |
01:23.07 | kremonte | don't use lootlink : - ) |
01:23.13 | iriel|Working | Given NOBODY ELSE has this problem, are you sure it's the patch? |
01:23.14 | kremonte | sorry, shameless advertising ._. |
01:23.26 | Miravlix | krem: I don't use lootlink |
01:23.28 | iriel|Working | My _limit_ is lower than 50MB |
01:23.34 | Miravlix | and wtf difference does it make between a patch if I did |
01:23.43 | kremonte | how in the world would you have 90mb normally then? |
01:23.48 | Miravlix | It shouldn't jump 50 MB memory usage |
01:23.54 | kremonte | either way, patch or not that is insane |
01:24.34 | Miravlix | QuestHistory, ItemSync, Karma and a few other data addons |
01:24.38 | Miravlix | It runs up quick |
01:24.42 | iriel|Working | Stop blaming the patch though, unless you can PROVE it's the patch |
01:24.53 | iriel|Working | My money's on a broken or mis-updated addon |
01:24.58 | Miravlix | It is the patch |
01:25.02 | iriel|Working | How? |
01:25.03 | Miravlix | It didn't use that much memory before |
01:25.05 | kremonte | i want to learn how to make memory leakes in addons |
01:25.05 | Miravlix | it does now |
01:25.10 | iriel|Working | By what mechanism is the patch causing the problem? |
01:25.24 | kremonte | oh! that's where table.join is, it's concat! |
01:25.25 | kremonte | devtools ftw |
01:25.36 | End | have you updated any addons since the patch? |
01:25.49 | Miravlix | Initial memory went up from 82 MB to 115 MB |
01:26.04 | kremonte | disable all your addons. |
01:26.08 | kremonte | is your memory still 100mb? |
01:26.33 | Miravlix | Anyone have something more inteligent to suggest |
01:26.37 | kremonte | ... |
01:26.46 | kremonte | i'm trying to help you debug it |
01:26.51 | kremonte | and i'm not "inteligent"? |
01:26.55 | Kemayo|Work | I do: try disabling all your addons. |
01:26.57 | kremonte | sorry for trying. |
01:27.00 | Miravlix | Each addons memory usage got upped with the new patch |
01:27.18 | kremonte | then 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.26 | Miravlix | Bullshit |
01:27.33 | End | it's possible there might be a little overhead added, I suppose, but I have a lot of addons and see no difference |
01:27.42 | Miravlix | The addons doesn't use more variables |
01:27.54 | Miravlix | it's the same frames and variables that suddently use more memory |
01:28.04 | kremonte | i am using 27 addons, and my UI usage went... down |
01:28.07 | kremonte | by 1mb avg |
01:28.14 | Miravlix | I can't recode an addon because local test suddently is 10 bytes bigger |
01:28.15 | Cairenn | whoa 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.17 | End | we'd have to ask AnduinLothar if he sees any difference, he has like twenty billion addons installed ;p |
01:28.28 | Cairenn | take a deep breath and count to 10 |
01:28.35 | kremonte | 12345678911 |
01:28.37 | kremonte | where's 10 D: |
01:28.46 | Codayus | That doesn't take long in binary, you know. |
01:29.12 | Miravlix | Now I also have tooltip bugs up the wazoo that USES TEMP MEMORY, but that has nothing to do with barebone loading addons |
01:29.21 | Miravlix | Thats just loading the FRAMES and variables |
01:29.27 | Miravlix | And that takes up more memory |
01:29.29 | GenNMX|Thrae | There are 10 type of people in the word -- those that understand binary, and those that don't. |
01:30.02 | End | that joke is overused |
01:30.03 | Kemayo | Actually, 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.24 | kremonte | by 50mb? |
01:30.26 | End | but 50 meg? that seems a little too big |
01:30.28 | kremonte | doesn't seem that likely |
01:30.32 | Kemayo | I'm skeptical, I admit |
01:30.35 | cladhaire | who has 50 meg changes? |
01:30.38 | kremonte | unless you have a loooooooooooot of <fontstrings> lol |
01:30.48 | Codayus | unless some addon is badly abusing something font related. |
01:30.51 | End | I mean, I can believe an increase in memory usage, but 50 meg sounds a little big :O |
01:30.51 | GenNMX|Thrae | End: It makes 400-level assembly class a little more bearable ;) |
01:30.57 | End | hehe |
01:31.33 | iriel|Working | The other possibility is code signing, though slouken implied it didn't have that big a footprint. He could have been lying 8-) |
01:31.34 | Miravlix | It was from 82 to 115 BASE memory |
01:31.46 | kremonte | 115 base memory? sans addons? |
01:31.53 | kremonte | i thought that's what base meant =/ |
01:32.02 | Miravlix | Base memory is initial gc size |
01:32.28 | *** join/#wowi-lounge Syrsa (i=Syrsa@221x242x16x69.ap221.ftth.ucom.ne.jp) |
01:32.38 | kremonte | mines 23mb, with 27 addons loaded |
01:32.44 | kremonte | 25 active |
01:32.54 | kremonte | so... |
01:33.08 | cladhaire | i dont think mine went up at al |
01:33.11 | Miravlix | I 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.14 | kremonte | cladhaire: mine went down |
01:33.15 | Miravlix | that makes no sense |
01:33.22 | cladhaire | Miravlix: Depends on who wrote them |
01:33.24 | kremonte | cladhaire: by a whole meeeegah byte |
01:33.24 | cladhaire | =) |
01:33.29 | cladhaire | kremonte: *cheer* |
01:33.37 | Codayus | can you tell which addon is causing the bulk of the increase? |
01:34.28 | iriel|Working | Question, do you have any addon that instantiates CRAZY numbers of anonymous frames and regions? |
01:34.39 | iriel|Working | I'm talking THOUSANDS of them |
01:34.40 | *** join/#wowi-lounge Wobin_ (n=wob@221.221.29.122) |
01:35.45 | Syrsa | Hello everybody (^_^)/ |
01:35.59 | Cairenn | hi |
01:36.00 | Miravlix | Iriel: No |
01:36.16 | Miravlix | Worst frame addon I have is AllInOneInventory |
01:36.27 | iriel|Working | Miravlix : Ok, that would have been something that might have caused more UI memory use than 1.9 |
01:37.06 | kremonte | Miravlix: /dump GetNumFrames() |
01:37.09 | kremonte | how many? |
01:37.23 | End | wow, I have 11224 |
01:37.28 | kremonte | o_O |
01:37.32 | kremonte | i have 5609 ._. |
01:38.02 | Syrsa | I 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.14 | End | uh, heh, inherit...heh |
01:38.33 | kremonte | <frame ... inherit="Options~"> |
01:38.43 | kremonte | inherits? |
01:38.45 | kremonte | i'm not sure |
01:38.46 | kremonte | xml is evil |
01:38.52 | kremonte | just like troll priests |
01:39.01 | End | well yeah, you do have to use xml to inherit, since that's the only time virtual frames really exist |
01:39.19 | kremonte | oh |
01:39.23 | Syrsa | Even with the new CreateFrames thing? |
01:39.23 | kremonte | i didnt read the question huh |
01:39.28 | kremonte | i have no idea ._. |
01:39.30 | Tain | You can't inherit from XML when creating frames in Lua. |
01:39.43 | Tain | You have to do all or nothing. |
01:39.50 | kremonte | Can't spell entertainment without tain. |
01:40.00 | Tain | Create your frame in XML to inherit it, or recreate the frame you're inheriting from in Lua. |
01:40.39 | Syrsa | Darn... But thanks Tain. |
01:41.06 | Syrsa | OptionsButtonTemplate is a Blizzard thing I thought, so I'd have to inherit it in the XML I guess... |
01:41.15 | Tain | Yeah unfortunatly. |
01:41.55 | kremonte | if i do, say |
01:42.06 | kremonte | function foo(bar) if not bar then bar = "foo" end end |
01:42.18 | kremonte | does bar become global? |
01:42.30 | kremonte | (if i call simply foo()) |
01:42.55 | End | Why would it become global? |
01:43.04 | kremonte | if not bar implying bar is nil ._. |
01:43.19 | Syrsa | Aren't all variables without local in LUA global? |
01:43.19 | kremonte | well i guess it wouldn't, then =P |
01:43.22 | End | well, bar is still defined as a variable for that function though |
01:43.27 | kremonte | ah, ok end |
01:43.31 | kremonte | not quite Syrsa |
01:43.37 | kremonte | local foo = "bar" |
01:43.41 | kremonte | foo = "blar" |
01:43.45 | iriel|Working | kremonte : No, args are implicitly local |
01:43.47 | kremonte | foo = "blar" but it's still local |
01:44.02 | kremonte | aye, i get it now, fanks |
01:45.58 | Legorol | iriel|Working: this is grasping at straws, but how big is the overhead with the new taint flag in every single Lua value |
01:46.10 | kremonte | taint? |
01:46.11 | Legorol | is it possible that this could've caused Miravlix's increased mem usage? |
01:46.21 | Legorol | kremonte: it's to do with the Lua protection system |
01:46.33 | Legorol | that stops addons from calling functions only reserved for the blizzard ui |
01:47.07 | Legorol | part of the protection system is that every Lua variable is now using a tiny bit more memory |
01:47.23 | Legorol | however, it should be an insignificant overhead |
01:47.41 | iriel|Working | Legorol : I dont know, slouken implied it wasn't much, but I haven't measured it. |
01:47.48 | iriel|Working | Legorol : One might end up with very data-dependent results tho |
01:47.54 | Legorol | yeah |
01:47.55 | Tain | Ug wait you can't do: frame:SetPoint("CENTER") anymore |
01:48.02 | Legorol | that's why i was thinking that it could cause Miravlix's problem |
01:48.04 | Legorol | at least in part |
01:48.27 | Legorol | Tain: you can't?? |
01:48.37 | Legorol | you should be able to, if the frame has a parent |
01:48.39 | Tain | I'm getting errors. |
01:48.41 | Legorol | did you check to make sure it does? |
01:49.11 | Tain | Parent is UIParent, just double-checked. |
01:49.35 | Legorol | Tain, you are right |
01:49.37 | Tain | SetPoint is kicking an error to me listing out the full args |
01:49.38 | Legorol | darness |
01:49.58 | Tain | Not a huge deal, but still a change. |
01:50.21 | kremonte | 1.10 nerfed warlock drops |
01:50.21 | kremonte | D: |
01:50.29 | Syrsa | "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.30 | kremonte | guildie just got a relic X) |
01:52.14 | iriel|Working | Syrsa : That is indeed correct |
01:52.29 | iriel|Working | Syrsa : But there are various ways of specifying something as local |
01:52.43 | iriel|Working | for i=1,10 do -- i is implicitly declared local |
01:52.51 | iriel|Working | function func(i) ... end -- i is implicitly declared local |
01:53.15 | Syrsa | oh... Thanks (^_^) |
01:53.17 | iriel|Working | You can also re-define what 'global scope' refers to, but that's probably going too far 8-) |
01:53.20 | Legorol | so uhm this new Background Downloader thing.. |
01:53.47 | Legorol | whilst i understand it's mostly harmless, is Blizzard completely in the clear with regards to enabling a p2p application without user consent? |
01:54.04 | Legorol | i 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.24 | Legorol | nor do i want to go EULA-whoring and pretend to be a lawyer |
01:54.43 | Legorol | i'm just interested in people's feelings on this |
01:54.55 | Legorol | i do think the background downloader is great, i don't think the way it was enabled/communicated is great |
01:55.22 | Legorol | now for your 0.02€ |
01:55.25 | Tain | I'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.06 | iriel|Working | Is the background downloader P2P? |
01:58.16 | iriel|Working | Their FAQ doesn't imply that it is |
01:58.36 | ForgottenLords | why was SetFontHeight() removed? |
01:58.46 | iriel|Working | ForgottenLords : Because it's part of SetFont |
01:58.59 | ForgottenLords | Oh... |
01:59.00 | iriel|Working | ForgottenLords : And we have GetFont |
01:59.25 | iriel|Working | ForgottenLords : It's important to note that Font Path + Font Height + Flags defines a 'font texture set' |
01:59.33 | Legorol | iriel|Working: it is |
02:00.07 | Legorol | it'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.02 | Tain | It is p2p, it's bit torrent based. |
02:02.09 | iriel|Working | So in background form it's running in standard P2P mode, not in from-blizzard mode? |
02:02.17 | AnduinLothar | someone call? |
02:02.39 | *** join/#wowi-lounge Guillotine (n=Guilloti@ns.motek-services.com) |
02:02.44 | Tain | Your momma. Oh, but she was calling me. |
02:03.11 | AnduinLothar | ah, it was end.. something about mem usage? |
02:03.48 | Tain | Yes 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.00 | kremonte | 50mb more? |
02:04.06 | kremonte | that's a lot. |
02:04.15 | ForgottenLords | will FrameA:SetFont(FrameB:GetFont()) work? |
02:04.20 | Tain | What's 50mb between friends? |
02:04.23 | Legorol | iriel|Working: that's correct |
02:04.29 | groll | i got the same |
02:04.29 | ForgottenLords | kk, thanks |
02:04.31 | Legorol | you can turn off the p2p mode, and it's supposed to save that setting |
02:04.35 | groll | i use about 5 meg more |
02:04.38 | groll | it seems |
02:04.38 | Legorol | (which at the moment it doesn't due to a bug) |
02:04.40 | End | AnduinLothar, you have a lot of addons right? I'm just curious how your memory usage is like |
02:04.43 | Legorol | but the default is to start in p2p |
02:04.45 | iriel|Working | Tain: So perhaps it is the taint overhead, I can measure it at some point. |
02:05.03 | AnduinLothar | dunno, i'd have to play.. |
02:05.09 | iriel|Working | Tain: If i'm lucky I can remember where I put my last set of test scripts |
02:05.10 | Guillotine | i know my adons are certainly using much more |
02:05.16 | Legorol | i also use quite a few addons, my initial mem usage is 87 Mb |
02:05.19 | Tain | I 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.22 | Legorol | that hasn't changed appreciably with 1.10 |
02:05.23 | Guillotine | what was before about 40mb is now over 64 |
02:05.27 | Legorol | i also have questhistory, lootlink etc. |
02:05.48 | AnduinLothar | i had to dissable a lot of my addons this patch |
02:05.54 | iriel|Working | If it's taint overhead , it'd be related to NUMBER of objects, not SIZE of objects |
02:05.57 | Tain | I do know that I'm still struggling with trying to convert ActionBarButtonTemplate to pure Lua code. |
02:06.05 | Legorol | iriel|Working: true |
02:06.12 | Legorol | but most objects in WoW UI tend to be tables |
02:06.21 | Legorol | with not very big entries |
02:06.29 | AnduinLothar | there are 162 folders in my addon folder, but i think over half of them are dissabled |
02:06.31 | Legorol | so the taint overhead would roughly scale with size of tables |
02:07.01 | GenNMX|Thrae | Could the changes to XML be responsible for the increase in memory? |
02:07.13 | iriel|Working | GenNMX|Thrae : very unlikely unless you have a LOT of anonymous tables |
02:07.46 | Legorol | hm, my mem usage did go up somewhat |
02:07.49 | iriel|Working | Which is to say, it'll have some overhead, but likely not obscene |
02:07.58 | Legorol | until now i had my mem threshold on 96 Mb and that was sufficient |
02:08.05 | Legorol | now i'm passing 96 Mb dynamically every so often |
02:08.08 | iriel|Working | Basically, the taint change MUST have added some overhead, but: |
02:08.39 | AnduinLothar | mmm cant get through auth |
02:08.41 | iriel|Working | 1) It's hard to say how much, because we dont know the implementation well enough |
02:08.47 | iriel|Working | AnduinLothar : Give it time, it's slow |
02:09.03 | Legorol | ok, 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.05 | iriel|Working | 2) 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.17 | iriel|Working | Legorol : You probably should assume 4 extra bytes |
02:09.20 | Legorol | iriel|Working: actually it must've been in in 0.10 PTR too |
02:09.24 | Guillotine | gryphen! rawr |
02:09.31 | Legorol | iriel|Working: i am trying to make estimate on lower bound, hence the 1 byte |
02:09.33 | iriel|Working | Legorol : I count that as 1.10 8-) |
02:09.40 | Legorol | oh right |
02:09.44 | iriel|Working | Legorol : But i can promise it's not 1 byte 8-) |
02:09.45 | Legorol | anyways, so the estimate: |
02:09.47 | iriel|Working | Legorol : So assume 4 8-) |
02:09.50 | Legorol | ok |
02:09.53 | Legorol | so 4 bytes |
02:10.08 | Legorol | typical table entry in lootlink is say 20-char long string |
02:10.19 | Kirov | heh |
02:10.23 | iriel|Working | The string isn't important, it wont change |
02:10.33 | iriel|Working | but the 80 byte table entry would have expanded to 88 bytes |
02:10.33 | Legorol | iriel|Working: they have to be tainted too |
02:10.37 | iriel|Working | (Remember, table entries are HUGE) |
02:10.41 | Kirov | lootlink entries are more like 80 character strings |
02:10.42 | iriel|Working | the reference is tainted, not the string itself |
02:10.49 | *** join/#wowi-lounge Guillotine (n=Guilloti@ns.motek-services.com) |
02:10.49 | Legorol | yeah |
02:10.54 | Legorol | ok |
02:10.55 | Kirov | the search fields alone are 26 |
02:11.01 | Legorol | ok, then lets look at it this way: |
02:11.12 | Legorol | let's count number of table entries in a typical lootlink table, multiply by 4, |
02:11.18 | Legorol | thats' how much overhead the taint field is cuasing |
02:11.27 | Legorol | at least for lootlink |
02:11.55 | iriel|Working | Here'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.58 | Legorol | my lootlink has 140k entries or so |
02:11.58 | Guillotine | has anything changed with the functions to get buff names? Gypsybuffs is no longer showing the names |
02:12.03 | iriel|Working | 32 BIT field, sorry |
02:12.20 | iriel|Working | Guillotine : It'll be the tooltip SetOwner thing |
02:12.22 | Legorol | how do you get the 10%? |
02:12.30 | Legorol | 4/80 is 5% |
02:12.54 | Legorol | ehm... hold on, that's not a good approach |
02:13.20 | Guillotine | Iriel: its not the tooltip that isn't showing the name. its the actual frame |
02:13.30 | Legorol | we 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.38 | Legorol | this assumes that not many table entries refer to the same data |
02:13.59 | Legorol | it looks to me like lot less than 10% |
02:14.16 | Tain | Feh 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.27 | Syrsa | Before 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.05 | Miravlix | RPHelper_Tooltip:SetOwner(this, "ANCHOR_NONE") for the win! |
02:15.16 | Miravlix | Read the nice thread we made about the changes |
02:15.36 | Syrsa | Where can I read it? |
02:15.45 | iriel|Working | Legorol : 80 bytes is 2 32 byte objects plus overhead |
02:16.01 | Miravlix | You can no longer have orphaned tooltips |
02:16.06 | Miravlix | they need to have a owner |
02:16.14 | iriel|Working | Legorol : Each one gathers 4 bytes of taint data (if we assume that) |
02:16.18 | Miravlix | If they don't have an owner they don't get drawn |
02:16.31 | Syrsa | Ooooh.... Thank you (^_^) |
02:16.35 | Legorol | iriel|Working: ok, i didn't know that the 80 bytes were two objects |
02:16.38 | iriel|Working | Legorol: Oh, actually, ignore me a minute 8-) |
02:16.46 | Wobin_ | ps ANCHOR_NONE? What else can it anchor to? |
02:16.47 | Legorol | will do :-) |
02:16.49 | iriel|Working | Legorol: Because the 80 is awfully large 8-) |
02:16.55 | Wobin_ | Or is that like ... bottomleft etc? |
02:17.12 | Miravlix | Wobin: <insert wiki link here> |
02:17.30 | Legorol | paste warning: |
02:17.33 | Legorol | Anchor StringAppears atEquivalent point setting |
02:17.34 | Legorol | ----------------------------------------------------------------------------------------------------------------- |
02:17.34 | Legorol | ANCHOR_LEFTtopleftSetPoint("BOTTOMRIGHT","owner","TOPLEFT"); |
02:17.34 | Legorol | ANCHOR_RIGHTtoprightSetPoint("BOTTOMLEFT","owner","TOPRIGHT"); |
02:17.34 | Legorol | ANCHOR_TOPLEFTtop, left adjustedSetPoint("BOTTOMLEFT","owner","TOPLEFT"); |
02:17.35 | Legorol | ANCHOR_TOPRIGHTtop, right adjustedSetPoint("BOTTOMRIGHT","owner","TOPRIGHT"); |
02:17.37 | Legorol | ANCHOR_BOTTOMRIGHTbottomrightSetPoint("TOPLEFT","owner","BOTTOMRIGHT"); |
02:17.39 | Legorol | ANCHOR_BOTTOMLEFTbottomleftSetPoint("TOPRIGHT","owner","BOTTOMLEFT"); |
02:17.41 | Legorol | ANCHOR_NONEundefinedClearAllPoints(); |
02:17.43 | Legorol | eeeek |
02:17.45 | Legorol | ok i'll just pastebin that |
02:18.01 | Legorol | http://wow.pastebin.com/630116 |
02:18.37 | Kirov | ANCHOR_CURSOR |
02:18.49 | *** join/#wowi-lounge Guillotine (n=Guilloti@ns.motek-services.com) |
02:18.52 | iriel|Working | Legorol ; 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.32 | Wobin_ | aha! |
02:19.33 | iriel|Working | iriel|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.08 | Legorol | iriel|Working: hold on a sec, i don't quite follow you there |
02:20.17 | Legorol | each Lua object has the taint flag now, right? |
02:20.25 | Legorol | what are the kind of things that consume memory? |
02:20.26 | iriel|Working | Each lua value yes |
02:20.39 | Legorol | the Lua values themselves (the struct or union or whatever it was) |
02:20.43 | Legorol | strings |
02:20.44 | iriel|Working | values, tables (which are basically bunches of values, plus a little bit of static data), and strings. |
02:20.47 | Legorol | functions |
02:20.52 | iriel|Working | and functions, yes |
02:21.03 | Legorol | so, the taint overhead *only* affects values |
02:21.03 | iriel|Working | (well, closures and prototypes, if you want to be pedantic) |
02:21.09 | Legorol | right |
02:21.13 | groll | Legorol you had any time to check up on the buffbot? :) i guess not though :P |
02:21.16 | Legorol | it will not affect the actual string data |
02:21.20 | iriel|Working | values and things that contain values (closures, tables) |
02:21.22 | Legorol | nor the function prototype/closure |
02:21.38 | Legorol | ok it affects those too, right |
02:21.52 | Legorol | the problem is, we don't know what fraction of the heap is consumed by Lua values, |
02:22.05 | Legorol | and what is consumed by strings and prototypes |
02:22.18 | Legorol | the more you have of the latter, the less significant the taint overhead |
02:22.23 | Legorol | as far as i see it at least |
02:22.32 | iriel|Working | Well, the LARGER the latter, the less significant the taint |
02:22.39 | Legorol | yeah sorry true |
02:22.41 | Legorol | that's what i meant |
02:22.59 | Legorol | e.g. let's take a simple example, where all your Lua variables contain strings |
02:23.12 | iriel|Working | So, Miravlix is probably right, much of that bloat IS the patch's fault 8-) |
02:23.14 | Legorol | then you have the Lua value, which has the taint overhead, plus the actual string data it points to, which doesn't |
02:23.54 | Legorol | iriel|Working: if i have only string variables, and all of the strings are say 20 bytes long, |
02:24.05 | Legorol | the overhead is 4/(16+20), isn't it? |
02:24.16 | Legorol | 16 for the Lua value, 20 for the string |
02:24.40 | iriel|Working | Assuming "20 bytes long" means "require 20 bytes of storage" - yes |
02:24.45 | Legorol | right |
02:25.15 | Legorol | what i'm trying to say is that to get a significant effect from the taint overhead, you need |
02:25.31 | Legorol | lots of Lua values that are numbers or point to different strings that are short in length |
02:25.33 | iriel|Working | But the thing is, may strings are shared |
02:25.43 | iriel|Working | Many values are numbers or booleans |
02:25.44 | Legorol | in a lootlink database type setting, they aren't |
02:25.53 | Legorol | it's hard to estimate, i think |
02:26.10 | Legorol | i was thinking taht addons that have large number of Lua values would be the database type ones |
02:26.26 | Legorol | Miravlix was claiming around 50% increase in mem usage |
02:26.39 | Legorol | database type addons would have short strings, yes, but independent ones |
02:26.51 | iriel|Working | Closer to 40%, but still large |
02:26.54 | GenNMX|Thrae | What exactly is the "taint" overhead? |
02:27.01 | iriel|Working | Now, this assumes 4 bytes is correct |
02:27.20 | iriel|Working | GenNMX|Thrae : the amount of additional memory required to implement protected functions properly |
02:27.20 | Legorol | iriel|Working: i am saying i don't agree that you can get anywhere near 40-50% with 4 byte taint |
02:27.37 | iriel|Working | Legorol : Agreed |
02:27.46 | Legorol | ok right |
02:27.47 | iriel|Working | Legorol : I'll have to measure the new size |
02:27.53 | iriel|Working | But not until later |
02:27.56 | Legorol | sure |
02:28.28 | kremonte | wow |
02:28.33 | kremonte | some people make me cry |
02:29.02 | kremonte | "Wow Blizz sucks, fucking CTRA and Flexbar don't work now, they have to fix it" |
02:30.17 | Codayus | lol |
02:31.57 | Guillotine | I'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.50 | Tem | I have a fix Guillotine |
02:42.54 | Tem | don't use it |
02:43.00 | Guillotine | wow. thanks |
02:43.02 | Guillotine | :P |
02:43.04 | Tem | lol sorry |
02:43.05 | Guillotine | I got it to work |
02:43.07 | Tem | I couldn't resist |
02:43.10 | Guillotine | just have to redo all my bars... |
02:43.15 | Tem | that sucks |
02:51.51 | Tem | oh hell |
02:52.03 | Tem | when I didn't want to log in, I was able to get past the loging server |
02:52.07 | Tem | now that I want to... |
02:52.30 | Legorol | *sigh* someone started a thread on test realm forum saying: 28/3/06 PTR not working |
02:52.42 | Tem | >< |
02:52.43 | Wobin_ | rofl |
02:52.50 | *** join/#wowi-lounge Guillotine_ (n=Guilloti@ns.motek-services.com) |
02:53.00 | Legorol | you gotta love'em |
02:53.14 | Tem | well in their defence, that's a EU style date |
02:53.46 | Tem | so, the patch has only been live -- what? -- 12 hours? for them. |
02:54.35 | Wobin_ | not really |
02:54.37 | Wobin_ | Or an Aussie style date |
02:54.54 | Wobin_ | Or SE asian |
02:55.27 | kremonte | wtf |
02:55.31 | kremonte | nested arrays arent working ;~; |
02:55.55 | kremonte | local a = {[1] = {] [2] = {}} |
02:55.59 | kremonte | er |
02:56.06 | kremonte | local a = {[1] = {} [2] = {}} |
02:56.11 | kremonte | gives me a syntax error |
02:56.14 | kremonte | >_> |
02:57.18 | kremonte | any idea on that ^? |
02:59.35 | kremonte | boo, wake up! >< |
02:59.48 | GenNMX|Thrae | kremonte: local a = { [1] = {}, [2] = {} } |
02:59.54 | kremonte | ... |
02:59.56 | kremonte | that was my problem |
02:59.57 | kremonte | the entire time |
03:00.00 | kremonte | a comma. |
03:00.39 | GenNMX|Thrae | kremonte: Hence why I suggest using additional spaces, it makes it easier to spot such errors for me |
03:00.50 | kremonte | it's a huge table, thrae |
03:00.56 | kremonte | lots of spacing |
03:00.59 | kremonte | just had a tiny example for ircness |
03:01.03 | GenNMX|Thrae | Ah |
03:01.34 | GenNMX|Thrae | s/] /], / <-- if you have vi or sed |
03:01.47 | kremonte | o_O? |
03:01.49 | kremonte | vi is evil |
03:01.51 | kremonte | EVIL |
03:01.54 | kremonte | eVIl |
03:03.23 | Ktron|dinner | vi, vim, and elvis are my hommies |
03:03.43 | Ktron | emacs is the enemy |
03:03.51 | Ktron | pico is for wusses |
03:04.14 | kremonte | i use pico :p |
03:04.23 | Wobin_ | gvim =) |
03:04.28 | Wobin_ | I <3 gvim |
03:05.00 | L|Elviso | ? :) |
03:08.06 | Legorol | does anyone play WoW on a Mac? what is the equivalent of a right-click with the mouse on a Mac? |
03:09.59 | kremonte | a supteenuple click!' |
03:10.13 | kremonte | 17 clicks baby |
03:11.44 | cladhaire | command-click legorol |
03:12.13 | Legorol | cladhaire: do you have a Mac? |
03:12.21 | cladhaire | Nope =) |
03:12.21 | Legorol | bummer |
03:12.39 | cladhaire | why do you ask? |
03:12.40 | Legorol | was wondering if the right-click keybinding's key is still BUTTON2 on a Mac as well |
03:13.12 | cladhaire | Hrm, good question O.o |
03:13.34 | cladhaire | well, goodnight all |
03:17.03 | Kirkburn | Time for bed! |
03:17.16 | Kirkburn | 5:17, not too shabby |
03:17.36 | Kirkburn | 5 man scholo rocks |
03:18.14 | Kirkburn | Night night |
03:32.13 | *** join/#wowi-lounge zespri_work (n=andrews@203.184.58.251) |
03:36.18 | L|Elviso | anyone know how to insert your target's name into a macro, other than %t? |
03:37.27 | kremonte | UnitName("target")? :p |
03:37.53 | L|Elviso | I shall try it :b |
03:38.19 | kremonte | in /script of course |
03:44.08 | *** join/#wowi-lounge slouken (n=Sam@ip68-5-42-243.oc.oc.cox.net) |
03:44.17 | Cairenn | hey slouken |
03:44.22 | slouken | Hey. |
03:44.28 | slouken | It's hot out there, whew! |
03:44.43 | Miravlix | It's cold as hell. :p |
03:44.46 | Miravlix | Hey slouken |
03:44.55 | Cairenn | he's referring to the flames in the forums |
03:45.01 | Cairenn | and yeah, it's a tad warm |
03:45.30 | Miravlix | This patch has been very annoying for addons. |
03:46.03 | Gryphen | there has been worse hehe |
03:46.13 | Miravlix | Some changes we didn't figure out until after US had gone down for maintenance, making it a real headache getting code fixed |
03:46.19 | Cairenn | indeed there has been Gryphen |
03:46.27 | Miravlix | Nope |
03:46.44 | Miravlix | I've not since US Beta had to work for 3 days without propper sleep due to a WoW patch |
03:47.00 | Gryphen | ive seen that a few times |
03:47.04 | Gryphen | and more |
03:47.28 | Gryphen | the end of framexml days were some of the worst |
03:47.41 | Miravlix | There was no end of FrameXMl |
03:47.44 | Miravlix | Not until 1.10 |
03:47.55 | Miravlix | Now it's totally killed |
03:48.09 | Miravlix | before then we could gradually move on to 'better' ways |
03:48.16 | Gryphen | well feb of last year was a big change for it |
03:48.27 | Gryphen | but disagree as you want |
03:48.49 | Miravlix | But new events, disabled API's, having to call function or your code silently breaks |
03:48.58 | Miravlix | Thats major headaches. |
03:53.21 | Miravlix | Whats the point in breaking an addon because it calls RegisterForSave |
03:53.58 | Miravlix | 99.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.18 | slouken | So 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.15 | Miravlix | Thank god I'm a druid and got new /dance emotes or I would be killing people in the streets |
04:00.27 | kremonte | you got relics -_- |
04:00.32 | Gryphen | but no sealion emote :( |
04:00.37 | Miravlix | Well, I do tend to kill people in the streets, but you know... |
04:01.01 | Legorol | hi slouken |
04:01.03 | Wobin_ | I love the catdance |
04:01.20 | Miravlix | It's not as much dance as music listening emotes |
04:01.26 | Legorol | it's great, it looks like I can resurrect TackleBox ( a fishing helper AddOn ) despite the protected functions |
04:01.33 | Legorol | without exploiting a loophole |
04:02.28 | slouken | Hey Leg |
04:02.37 | Cairenn | :) |
04:02.43 | Gryphen | just double the carpal tunnel |
04:02.45 | slouken | Leg, how you do dat? |
04:02.50 | End | hmm..bear dance...... |
04:02.51 | End | :D |
04:03.21 | Legorol | slouken: event trigger sequence is: WorldFrame:OnMouseDown, BUTTON2 keybinding (down), WF:OnMouseUp, BUTTON2 keybinding (up) |
04:03.33 | Legorol | in WF:OnMouseUp, i redirect the BUTTON2 binding to my own function |
04:03.37 | Legorol | and cast a spell from there |
04:03.48 | Legorol | and simulate the execution of BUTTON2 (up) by calling MouselookStop() |
04:03.54 | slouken | Hmmmm |
04:03.56 | Legorol | or is this considered an exploit? |
04:04.05 | Gryphen | bug |
04:04.08 | Gryphen | hehe |
04:04.11 | slouken | I don't think it'll work |
04:04.13 | Gryphen | never and exploit |
04:04.14 | Legorol | it does work |
04:04.17 | Legorol | i am using it :-) |
04:04.38 | Legorol | the point of this is to be able to cast a spell with right-clicking the mouse |
04:04.52 | Legorol | without affecting right-clicks on NPCs |
04:04.57 | Miravlix | It's not giving us decrusive movement bots. |
04:05.12 | Legorol | it's a replacement for hooking TurnOrActionStart/Stop |
04:05.32 | slouken | Could you show code? |
04:05.33 | Miravlix | But it does allow Fishing Addons, EasyBuffers and similiar harmless addons |
04:05.42 | Legorol | slouken: sure, it's already public in Cosmos |
04:05.45 | Legorol | i can email you a copy if you like |
04:05.52 | Legorol | or i can make a whittled down proof-of-concept one if you like |
04:05.53 | slouken | I didn't think OnMouse* counted as a hardware event |
04:05.58 | Legorol | it's not |
04:06.02 | slouken | ? |
04:06.05 | Legorol | that's why i'm not actually casting from OnMouse* |
04:06.12 | slouken | I'm confused |
04:06.20 | Legorol | I use OnMouseUp to do SetBinding to redirect the BUTTON2 binding to my own function |
04:06.29 | Legorol | OnMouseUp returns, then the BUTTON2 binding is executed |
04:06.39 | Legorol | i do the actual spellcast from the BUTTON2 binding, which is a hardware event |
04:06.51 | Legorol | it might be easier for me to make a proof-of-concept addon and mail it to you |
04:07.03 | slouken | Sure |
04:07.24 | Legorol | ok i'll get right on it |
04:09.45 | slouken | Thanks! |
04:12.10 | Miravlix | We need to make a library for this |
04:12.24 | Miravlix | Unless slouken disables it |
04:14.00 | Wobin_ | omg |
04:14.03 | Wobin_ | I can connect from here |
04:14.06 | Wobin_ | ... |
04:14.12 | Wobin_ | This is like... woah |
04:15.45 | Miravlix | Make a little queue library that people can absorb into there addons, so we don't overrun the hook |
04:18.44 | L|Elviso | anyone else have their edit arrows disabled in 1.10? |
04:18.47 | L|Elviso | in the chat box |
04:19.01 | Miravlix | Edit arrows? |
04:19.10 | L|Elviso | aka cursor keys |
04:19.11 | Miravlix | Never seen any arrows in chat |
04:19.12 | Wobin_ | yeah |
04:19.19 | Wobin_ | there's a fix |
04:19.21 | Wobin_ | one sec |
04:19.22 | Miravlix | Alt-works |
04:19.25 | Gryphen | works here |
04:19.46 | L|Elviso | ah ok, hold alt down and it works |
04:20.47 | Wobin_ | replace 'SetIgnoreArrows' with 'SetAltArrowKeyMode' |
04:20.50 | Wobin_ | in your addons =) |
04:22.37 | L|Elviso | ah ok |
04:25.13 | L|Elviso | works great Wobin_, thanks |
04:31.59 | Tem | hmm that's udd |
04:32.01 | Tem | odd |
04:32.17 | Tem | the world map has a black background on the sides |
04:32.40 | Tem | and I can't click down to the worldframe anymore :( |
04:33.11 | Tem | oh wait |
04:33.15 | Tem | I can click through |
04:40.32 | Wobin_ | bah. |
04:40.36 | Wobin_ | Now my addon works |
04:40.44 | Wobin_ | After fixing some -other- addon |
04:41.25 | Miravlix | Yeah aint' shared environments great |
04:41.49 | Wobin_ | 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.18 | Miravlix | If it works, don't fix it |
04:42.44 | Wobin_ | Well... so I can advise others =P |
04:42.45 | Miravlix | Who was the other druids here |
04:42.51 | Gryphen | i am |
04:43.05 | Miravlix | Anyone seen the new quest (alliance) from a new druid trainer in the Stormwind park? |
04:43.05 | Gryphen | currently a fishing moonkin |
04:43.40 | Gryphen | havent seen it, just heard about the new one in ungoro crater |
04:46.15 | Miravlix | Yeps, that one trying it at the moment |
04:46.28 | Miravlix | But none of the items seem to drop |
04:54.14 | End | I am a druid as well |
04:55.16 | Wobin_ | actually... |
04:55.30 | Wobin_ | I'm kinda glad that most of the 'problems' with my addons are the tooltip issue |
04:55.35 | Wobin_ | and that it's relatively easy to fix |
04:55.39 | End | well, it's easy...yeah |
04:55.47 | Wobin_ | (ie I don't have to wait til the author goes and fixes it) |
04:56.29 | End | I've had tooltip issues with decursive, selfcast and enginventory so far |
04:59.30 | Cairenn | More than just one person complaining about UI mem usage increases: http://www.wowinterface.com/forums/showthread.php?t=4216 |
04:59.49 | Wobin_ | yeah, I'm at 30M atm |
04:59.59 | Wobin_ | usually around early 20s |
05:01.51 | L|Elviso | Slouken, any chance of getting API functions to show how much mem each addon uses? :) |
05:02.07 | Wobin_ | oo |
05:02.15 | Wobin_ | That would be... enlightening |
05:02.25 | iriel | It's infeasible tho |
05:02.32 | Wobin_ | true |
05:02.38 | Wobin_ | but enlightening all the same =) |
05:03.08 | L|Elviso | infeasible how? just curious |
05:03.27 | Wobin_ | shared memory space? |
05:03.27 | iriel | Well, objects aren't "owned" by addons |
05:03.35 | L|Elviso | i see |
05:03.56 | iriel | And if you call a method that allocates memory, who is reponsible for that memory? The caller? or the method that allocated it? |
05:04.25 | iriel | There ARE addons out there which try and approximate 'responsibility' based on which addons' entrypoint the allocation happened after |
05:06.48 | Cairenn | warmup? isn't that the name? |
05:06.54 | Cairenn | (of one of them) |
05:10.29 | Wobin_ | I'm not sure if warmup does that... |
05:10.33 | Wobin_ | It's more of a timer |
05:10.45 | Cairenn | oh that's right |
05:10.54 | Cairenn | sorry, my confusion |
05:10.55 | Wobin_ | 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.06 | Wobin_ | (from tekk's post) |
05:15.12 | Miravlix | You might as well get used to it, I'm always right. |
05:15.28 | Miravlix | And when I'm not right it's just because slouken did it wrong |
05:15.29 | Cairenn | Miravlix: >< |
05:17.02 | Miravlix | ( Referaring to the ongoing significant memory useage change in 1.10 conversation. :p ) |
05:17.29 | iriel | Miravlix 8-) |
05:18.39 | iriel | There'a always been incentive to use fewer,larger strings for storing large amounts of data, this just increases it 8-) |
05:22.11 | Miravlix | Sorry, I had better thing to do, I've no idea what you guys figured out about this. |
05:22.43 | Miravlix | var1, var2, var3, var98327474 = bad? |
05:22.55 | Miravlix | tableVar = good? |
05:23.02 | iriel | No |
05:23.10 | Kirov | both = bad |
05:23.12 | Kirov | heh |
05:23.18 | iriel | More that if you're storing thousands of them, doing |
05:23.50 | iriel | x="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.50 | Miravlix | tableVar.var1 tableVar.var2 has the same problem with to much overhead? |
05:24.07 | Wobin_ | then loadstring(x)? |
05:24.12 | iriel | Integer keyed tables have somewhat less overhead |
05:24.32 | iriel | Wobin_ : That's actually an interesting idea, but I was initially just thinking parsing it in code, but loadstring might be cooler |
05:24.59 | iriel | Wobin_ : Though that does create more overhead, I suspect, in that you have to compile and create a function adn then discard it |
05:25.02 | Wobin_ | I only just noticed the functionality of loadstring in the patch notes |
05:25.08 | Miravlix | x="var,var,var,var,var" is redicolous |
05:25.23 | iriel | Well, here's the deal |
05:26.04 | iriel | pre 1.10, every "lua value" (That is simple value, or a string/table/function/userdata reference) was 16 bytes in size |
05:26.19 | iriel | Then for those refrence types, you also had the size of the object |
05:26.39 | iriel | tables being (essentially) multiples of the lua value size |
05:26.46 | Wobin_ | "Too many worldmap overlays!" ? |
05:27.00 | iriel | In 1.10, that 16 byte value now appears to be 24 bytes or so |
05:27.09 | iriel | (Wobin_ - You have an outdated addon installed) |
05:27.30 | iriel | We'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.51 | iriel | Slouken might perk up and let us know just how many bytes the taint flag added to the value object 8-) |
05:27.57 | iriel | I haven't had time to test it experimentally yet |
05:28.02 | Wobin_ | (Iriel: Ta =) Prolly ct mapsomething) |
05:28.26 | Legorol | iriel: so now the recommendation is for me to in fact dump my saved variable as a single string ;-) |
05:28.37 | Legorol | instead of as a table |
05:28.38 | Legorol | j/k |
05:28.43 | iriel | Legorol: *poke* |
05:29.04 | Legorol | i'm glad i got FastCast working in TackleBox though |
05:29.04 | iriel | Legorol : Though if you're going to keep them in memory for ages, and only reference them rarely, perhaps! |
05:29.19 | iriel | Anyway, back to my explaination |
05:29.41 | iriel | Even 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.13 | iriel | Because 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.21 | MentalPower | gnight folks, I'll read Iriel's explanation tommorrow when my brain gets a rest :) |
05:31.50 | iriel | So for example, in TargetCensus I use an encoding like ["lvl_55"] = "am=275;ao=275;as=2.00;df=275", |
05:31.52 | Miravlix | So basically trying to be OO and use table classes is fubared too? |
05:32.07 | iriel | For 'normal' use, absolutely not |
05:32.19 | iriel | but if you're goingt o be serializing 10,000 of them in a database, then yes |
05:32.26 | iriel | That's no different than most other languages though |
05:32.47 | Legorol | iriel, how much memory does a string take up? do you have any idea? |
05:33.01 | iriel | The 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.02 | Legorol | i'm not talking about the Lua value that references it, but the actual string |
05:33.16 | iriel | Legorol : I dont recall, and didn't write it down (sorry) |
05:33.23 | Legorol | oki |
05:33.40 | Legorol | i'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.30 | Legorol | seems like around 25-35% increase |
05:34.34 | Legorol | which is quite a bit |
05:36.36 | iriel | Let's see, there's a next pointer, and then 2 marker bytes, a reserved byte, a hash (integer), and size (integer) ? |
05:36.45 | iriel | Plus the size of the string itself |
05:38.16 | iriel | so 20ish bytes, plus string data, which is no doubt aligned on a 4 or 8 byte boundary |
05:43.27 | Kaelten|Work | there isn't anyway to catch a stack overflow before it happens is there? |
05:43.56 | Legorol | Kaelten, hi! |
05:44.05 | Legorol | are you planning on updating EnhancedTrades for 1.10? :- |
05:44.07 | slouken | Hi Iriel, Kaelten |
05:44.07 | Legorol | :-) |
05:44.08 | Kaelten | hey legorol |
05:44.39 | Kaelten | Yep, as soon as I figure out why KCI is randomly stack overlowing |
05:44.46 | Kaelten | hey slouken, how you been |
05:44.48 | iriel | Kaelten : If you know roughly where they're happening you could chedk the stack size with the debug function |
05:44.51 | slouken | Good |
05:44.59 | iriel | Kaelten : But that'd be quite a lot of overhead |
05:45.09 | Legorol | slouken: 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.25 | Legorol | curiousity's been eating me alive |
05:45.38 | Kaelten | hmm |
05:45.40 | Legorol | you are such a tease sometimes... |
05:45.45 | slouken | Heheh |
05:45.47 | Kaelten | iriel, remember that explode split function? |
05:46.04 | iriel | Kaelten : I do |
05:46.20 | Kaelten | for some reason its causing a stack overflow randomly now. |
05:46.47 | iriel | Can you pastebin it? |
05:47.27 | Kaelten | http://ace.pastebin.com/630284 |
05:48.03 | Legorol | iriel, what happened to the capital I in your name |
05:48.15 | Legorol | someone ate half of it and made it small? |
05:48.36 | Iriel | 8-) |
05:49.58 | *** join/#wowi-lounge malreth (n=malreth@cpe-72-177-88-84.austin.res.rr.com) |
05:50.20 | Kaelten | iriel: this is the one that has been cuasing the stack overflows |
05:50.22 | Kaelten | if (not string or type(string) ~= "string") then error("Bad String was a " .. type(string), 2)end |
05:50.24 | malreth | patch 1.10 is punishment for all you sinners who use addons! |
05:51.07 | Kaelten | heh if people who use them is sinners than what does that make us who write them? |
05:51.18 | malreth | the devil! |
05:51.27 | malreth | Demons! All of you! |
05:51.43 | Legorol | Kaelten: looking at the code you pasted, it seems to me that if the separator is not found in the string, |
05:51.55 | Legorol | Split will return the original string twice |
05:52.07 | Legorol | which would cause infinite recursion, hence stack overflow |
05:53.09 | Iriel | Legorol : Are you sure? |
05:53.16 | Kaelten | hmm |
05:53.30 | Legorol | no, i'm not sure :D |
05:53.31 | Iriel | Does 'error' actually terminate execution? |
05:53.38 | Iriel | I have a feeling that error fires, and a nil gets returned |
05:53.39 | slouken | yep |
05:53.52 | Miravlix | Gazmicks Shoppinglist gives a stack overflow every time Auctioneer finish an AH scan |
05:53.55 | Iriel | Maybe someone hooked 'error', badly |
05:54.12 | Kaelten | hooked error? |
05:54.13 | Kaelten | hmm |
05:54.22 | Kaelten | I suppose that could be, I'm running BugSack |
05:54.32 | Iriel | try /script error("Hello") DEFAULT_CHAT_FRAME:AddMessage("Arrrgh") |
05:54.42 | Iriel | if you see "Arrrrgh" then you're in trouble 8-) |
05:56.14 | Iriel | I'm not sure that would explain the exact behavior tho |
05:56.45 | Iriel | Let me just rearrange this code a bit so I can follow it better |
05:59.20 | Iriel | The no separator logic seems a bit iffy |
05:59.30 | Miravlix | Goodnight, going to take me a month to catch up on sleep after this patch. |
06:00.18 | Kaelten | how so iriel? |
06:00.39 | Iriel | Lego's summary is indeed correct, if there's no separator, you return the input string twice |
06:00.43 | Iriel | Because of that x-1 |
06:01.11 | Kaelten | hmm |
06:01.16 | Iriel | I think you MEANT to return "", "Input" |
06:01.17 | Iriel | right? |
06:01.37 | Iriel | Or did you want "Input", "" ? |
06:01.41 | Kaelten | actually "Input", "" I think |
06:02.11 | Kaelten | so if not strfind(string, sep) then return string end |
06:02.17 | Iriel | Almost |
06:03.42 | Kolth | Ah, Iriel: SetIgnoreArrows(bool) got changed to SetAltArrowKeyMode(bool) |
06:03.57 | Kaelten | hmm I have Explode returning basically string, nil |
06:05.39 | Iriel | Does anyone call Split directly? |
06:05.40 | Iriel | Or only via exploed? |
06:05.43 | Iriel | explode, that is |
06:05.46 | Kaelten | it happens very rarly |
06:05.51 | Kaelten | mostly through explode |
06:05.55 | Iriel | Ok, let em rejigger this to be more efficient for you |
06:09.59 | Iriel | http://ace.pastebin.com/630294 |
06:10.02 | Iriel | I THINK that should work |
06:11.20 | Iriel | Oops, typo |
06:11.33 | Iriel | http://ace.pastebin.com/630296 |
06:12.37 | Iriel | You MIGHT want to change line 21 to be if (not b or b== |
06:12.41 | Iriel | ack |
06:12.45 | Iriel | You MIGHT want to change line 21 to be if (not b or b=="") then |
06:12.57 | Iriel | If you want to preserve your strip-last-element-if-blank logic |
06:14.01 | Iriel | Anyway, 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.17 | s|loup | hi |
06:17.38 | Cairenn | hey loup |
06:19.21 | Kaelten | hmm well so far so good, we'll see how it works out. |
06:19.27 | s|loup | hm 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.39 | Kaelten | thanks much, I'm off to bed. |
06:19.46 | Kaelten | nope loup |
06:20.18 | Iriel | No, you can save it for re-use later, but you cannot destroy it |
06:21.20 | s|loup | hm so can we get a function to destroy a frame in next time? |
06:22.22 | s|loup | for 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.35 | s|loup | if i didnt need it i want to destroy it so i don't use the memory |
06:24.02 | Iriel | This debate has been had |
06:24.09 | Iriel | The simple answer is "no" |
06:24.18 | Iriel | It's too hard to know whether it's "safe" to remove a frame |
06:24.57 | Iriel | The 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.20 | s|loup | sry dont know about the debate |
06:25.44 | Iriel | If 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.11 | Iriel | I 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.42 | Iriel | Dynamic creation + free pool is still infinitely better than what we had before 1.10, even if it's not perfect |
06:28.41 | s|loup | yes 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.00 | Kemayo | It 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.12 | Kemayo | (I just wanted to vent.) |
06:30.42 | Iriel | s|loup : You can, it'll allocate what it needs. |
06:30.48 | s|loup | i 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.14 | Iriel | s|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.29 | Iriel | s|loup (By turn off I mean, unregister events and hide the frame) |
06:31.51 | Iriel | Kemayo : Before PLAYER_ENTERING_WORLD? or after? |
06:32.00 | s|loup | thats what i do now but the frame uses memory also when its off? |
06:32.36 | Iriel | well, yes, but re-creating frames use time and memory, so you're still ahead of the game. |
06:33.27 | Kemayo | Before -- 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.38 | Iriel | And of course, any user who has a problem with those extra frames can ReloadUI() 8-) |
06:33.38 | s|loup | hm k so i try to arrange with the given system ;) |
06:35.27 | ckknight | hey all |
06:37.48 | s|loup | hi |
06:41.04 | Cairenn | hey ckknight |
06:41.52 | ckknight | how's it going? |
06:42.06 | Cairenn | fading fast here, keep trying to fall asleep at keys |
06:42.11 | ckknight | hey, how do I get the difficulty of a target? i.e. whether it's green or not |
06:42.34 | Ktron | heh |
06:42.49 | Wobin_ | level range? |
06:43.18 | Wobin_ | if it's within a certain level range it's green, yada red yada grey? |
06:43.49 | Kemayo | You can use GetDifficultyColor(level). |
06:44.22 | ckknight | thank you |
06:46.01 | ckknight | okay, I forget what to compare it to to check if the color is trivial |
06:48.17 | Wobin_ | grey? |
06:48.43 | ckknight | it's a stored tablle |
06:50.27 | Wobin_ | What WoW needs is more exclaimation marks |
06:50.50 | [MoonWolf] | WoW!!!11oneone!1elven |
06:50.51 | Wobin_ | Searing Lava Spider suffers 25 damage from Vidant's Deep Wound!!!!!! |
06:51.08 | Wobin_ | It'll make it more reminiscent of MUDs |
06:51.19 | [MoonWolf] | lol |
06:51.24 | Wobin_ | The Searing Lava Spider's death cry echos across the land!!!! |
06:51.31 | Cairenn | interesting: http://forums.worldofwarcraft.com/thread.aspx?fn=wow-interface-customization&t=346778&s=new&tmp=1#new |
06:54.01 | Wobin_ | I've pretty much stated that on the wowace forums, but not as a new post |
06:55.14 | malreth | it's not a bug if it was done on purpose. |
06:55.17 | malreth | :) |
06:55.24 | ckknight | apparently there' s a UnitIsTrivial("target") |
06:55.28 | Ktron | My mage is carrying 674 Silk cloth |
06:55.43 | malreth | send me some |
06:55.53 | Iriel | there is indeed |
06:55.57 | Iriel | it means "is this unit grey to me" |
06:55.57 | Ktron | heh, that's over 20g in silk cloth |
06:55.59 | Iriel | more or less |
06:56.07 | Ktron | after I make it all into bandages |
06:56.12 | Ktron | which is the sensible thing to do on this server |
06:56.31 | Ktron | Just going to go get Under Wraps now |
06:56.47 | Ktron | and hopefully I'll be able to make some heavy silk bandages, otherwise this will take forever heh |
06:59.27 | Ktron | I've been playing the AH for a while heh |
07:00.00 | Ktron | ack, wait a minute |
07:00.01 | Ktron | blech |
07:00.10 | Ktron | they changed the vendor price on me |
07:00.11 | Ktron | oh well |
07:19.41 | ckknight | is wowi still being attacked? |
07:19.50 | ckknight | cause 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.09 | ckknight | it 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.03 | L|Elviso | ckknight, 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.20 | Kemayo | wowi has been pretty good for me for most of the evening. |
07:47.38 | Kemayo | L|Elviso: As a fellow author of BossPanel plugins, I am curious... |
07:48.13 | krka|work | i should write a Bosspanel speedometer |
07:48.21 | krka|work | my current speed display sucks |
07:48.27 | krka|work | night cair |
07:48.32 | Kemayo | Goodnight Cairenn. |
07:48.51 | Kemayo | krka: There's one already. Not updated for 1.10, but it seems to work. :-) |
07:49.43 | Kemayo | http://www.wowinterface.com/downloads/fileinfo.php?s=&id=4718 |
07:53.01 | krka|work | yes, but does it use MapLibrary? |
07:53.41 | L|Elviso | Kemayo: curious as to the probs? |
07:55.05 | Kemayo | L|Elviso, yup. |
07:55.20 | Kemayo | krka: I have no idea. It says it's a rip from MonkeySpeed. |
08:09.29 | L|Elviso | kind of in the middle of AQ20, but I'll get what I can out |
08:09.59 | L|Elviso | 1) BP tooltips are randomly breaking, where the only thing that will be visible is the header and an empty box |
08:10.12 | L|Elviso | although that might be caused by clearfont, I'd need to test it |
08:10.36 | L|Elviso | 2) none of the position settings are saved between reloads (like if I move bars around) |
08:12.02 | Iriel | L|Elviso : I assume you've updated clearfont for 1.10 |
08:12.47 | L|Elviso | yes |
08:18.24 | Tem | there's definately some BP positioning issues |
08:18.28 | Tem | but my tooltips are fine |
08:18.31 | ckknight | ? |
08:18.53 | [MoonWolf] | tem, are you using a custom font ? |
08:18.59 | Tem | yes |
08:19.20 | Tem | CF |
08:19.50 | L|Elviso | the tooltips will work fine for about 5m, and then get fubar'd until i /reload |
08:20.06 | ckknight | odd |
08:20.07 | Tem | my stuff on the right side keeps changing order |
08:20.24 | Tem | it's raining in STV on hakkar |
08:20.38 | Tem | and it looks terrific |
08:20.57 | [MoonWolf] | :0 |
08:21.00 | [MoonWolf] | weather is good. |
08:21.13 | Tem | a truly excellent job |
08:21.15 | L|Elviso | yes I'm definitely enjoying the weather |
08:21.28 | L|Elviso | one of those "little touches" |
08:21.40 | Ktron | I still haven't seen the weather |
08:21.50 | Tem | I'm level 14 so I shouldn't be anywhere near STV |
08:21.59 | Tem | but 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.23 | Kemayo | I 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.09 | L|Elviso | grrrr this is so f'g frustrating |
09:15.07 | Kolth | What's that? |
09:15.50 | L|Elviso | I'm trying to test some stuff on BP, so I went to my char select screen |
09:16.02 | L|Elviso | and chose that alt in the drop-down, then disabled all addons but BP ones |
09:16.11 | L|Elviso | but it reset ALL the addons for ALL my chars |
09:16.29 | L|Elviso | so now I have to pick through them all, for all 6 chars, and enable 1-by-1 |
09:16.30 | Kolth | Yeah, that's buggy. |
09:16.32 | ckknight | yea, I don't like that |
09:16.40 | Kolth | I messed mine up like that |
09:16.56 | L|Elviso | twice in 2 days, the first time I thought I did something wrong in my grogginess |
09:17.13 | Kolth | back up your \wtf folder :) |
09:17.27 | L|Elviso | that's still a pain |
09:17.35 | L|Elviso | for software that's been out over a year now |
09:17.50 | Kolth | The per-char is only months old. |
09:17.58 | L|Elviso | true |
09:18.10 | L|Elviso | doesn't make me any less agitated though! ;p |
09:18.21 | Kolth | Blizzard is a professional company -- it's just sad. |
09:19.15 | L|Elviso | I should write a .bat to backup the addons.txt, and then reinstate them on call |
09:20.00 | Kolth | That'd do a better job. |
09:25.47 | L|Elviso | I used AceHeal in conjunction w/XRaid and oRA today on my druid, it all worked very well |
09:26.06 | L|Elviso | a few things I have to get used to over my old setup, but all-in-all very nice |
09:34.29 | L|Elviso | yay, think I fixed sanity inventory |
09:35.12 | L|Elviso | hrmm, or not |
09:39.30 | L|Elviso | Everyone 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.43 | Tem | it's the middle of the night for the US |
09:43.52 | Tem | which 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.10 | L|Elviso | I'm in the US, but I'm nocturnal :) |
09:47.06 | Tem | aye, me too |
09:47.29 | Tem | I just spent 40 minutes tracking down a Jack in the box that was open |
09:47.46 | Tem | because it's the only place around here that would be open right now that sells chockolate shakes |
09:47.52 | Tem | and I just had to have one |
09:49.23 | [MoonWolf] | :P |
09:49.28 | L|Elviso | haha, pregnant or high? (j/k bad joke) |
09:49.47 | [MoonWolf] | both :P |
09:51.15 | s|loup | high pregnant ^^ |
09:51.56 | Tem | neither? |
09:52.17 | Tem | am I not allowed to just have a craving for a shake? |
09:52.28 | L|Elviso | I dunno, sounds suspicious! |
09:57.07 | Tem | It relates to me seeing one of the rush hour movies on tv last week |
09:57.30 | Tem | chris tucker says something like "damn I'm gonna go get me a shake" |
09:57.52 | Tem | after which I thought, "I haven't had a shake in AGES" |
09:58.03 | Tem | so I went out looking for someplace to get one |
09:58.54 | Tem | naturally it was like 3 AM so only Jack in the Box was open |
09:58.54 | Tem | I went to 4 stores |
09:58.54 | Tem | 3 were closed |
09:58.54 | Tem | er, 2 were closed |
09:58.55 | Tem | and there other two had "broken" shake machines |
09:59.03 | Tem | s/there/the/ |
09:59.04 | [MoonWolf] | hehee |
09:59.18 | Tem | so tonight the craving re-surfaced |
10:02.48 | L|Elviso | why do I sometimes see |
10:02.58 | L|Elviso | <Tem> s/there/the/ |
10:03.16 | L|Elviso | is that pseudocode to insert a word or something? |
10:03.27 | Tem | it's regex in some form or another |
10:04.02 | L|Elviso | I'd seen it before but didn't realize the revelance until I saw your typo |
10:04.13 | L|Elviso | *relevance |
10:04.15 | [MoonWolf] | i triggers purl to do a correction on what you said. |
10:04.25 | Tem | it'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.49 | L|Elviso | 10 print "lol" |
10:04.59 | L|Elviso | run |
10:05.43 | [MoonWolf] | function reply() echo("haha funny") end |
10:05.47 | Tem | another banana intersting banana thing banana is banana that banana you banana can banana also banana do banana a banana replace banana all |
10:05.57 | Tem | s/banana // |
10:06.01 | Tem | curses! |
10:06.07 | L|Elviso | lol |
10:06.09 | Tem | another banana intersting banana thing banana is banana that banana you banana can banana also banana do banana a banana replace banana all |
10:06.13 | Tem | s/banana //g |
10:06.21 | L|Elviso | who is purl? rofl |
10:06.30 | Tem | purl: who are you? |
10:06.33 | purl | I think you lost me on that one, Tem |
10:06.34 | L|Elviso | a script I assume, but what purpose |
10:06.47 | Tem | the main purpose is logs |
10:06.50 | Tem | purl, logs |
10:06.52 | purl | apt/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.18 | Tem | but I like her here for this: |
10:07.21 | Tem | ~emulate stewie |
10:07.23 | purl | I come bearing a gift. I'll give you a hint. It's in my diaper, and it's not a toaster. |
10:07.31 | Tem | ~botsnack |
10:07.31 | purl | aw, gee, Tem |
10:07.37 | [MoonWolf] | ~ponder |
10:07.38 | purl | I think so, but where will we find an open tattoo parlor at this time of night? |
10:07.42 | L|Elviso | ~help |
10:08.31 | L|Elviso | ~commands |
10:08.39 | L|Elviso | ~usage |
10:08.43 | L|Elviso | damn |
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.19 | Kolth | ~spam |
10:09.20 | purl | ACTION sings, Spam, Spam, Spam, Spam, Spam, Wonderfull spam! |
10:10.02 | L|Elviso | I thought they fixed the DM 'spoits... |
10:10.26 | Tem | they did |
10:10.29 | Kolth | They said they fixed em? |
10:10.36 | Tem | or so says anduin |
10:10.39 | L|Elviso | 1.9 or 1.10? |
10:10.42 | Tem | 1.10 |
10:11.02 | L|Elviso | I hope so....I've seen 3 hunters in the past 2 days w/full DM gear, including treants bane |
10:11.10 | L|Elviso | on a new server |
10:11.24 | [MoonWolf] | report |
10:11.37 | [MoonWolf] | they gm can find out if it was legally aquired. |
10:14.23 | Tem | test |
10:14.29 | Tem | s/.//g |
10:14.41 | Tem | test2 |
10:14.43 | Tem | s/./a/g |
10:15.29 | [MoonWolf] | no true regex |
10:19.52 | L|Elviso | ~slashdot |
10:19.59 | L|Elviso | nice |
10:20.20 | L|Elviso | purl: ircstats |
10:20.20 | purl | Currently 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.44 | L|Elviso | purl: forget |
10:24.10 | L|Elviso | purl: wtf |
10:24.21 | L|Elviso | purl doesn't love me anymore |
10:24.51 | L|Elviso | purl: nickometer |
10:25.06 | L|Elviso | purl: nickometer Elviso |
10:25.29 | Maldivia | purl: nickometer L|Elviso |
10:25.33 | Maldivia | :) |
10:25.50 | [MoonWolf] | nickeometer me! |
10:26.00 | L|Elviso | purl: nickometer MoonWolf |
10:26.07 | Maldivia | purl: nickometer [MoonWolf] |
10:26.15 | L|Elviso | i see |
10:26.27 | Maldivia | special chars = baad |
10:26.37 | [MoonWolf] | ha i am 6% less lame then L|Elviso |
10:26.48 | L|Elviso | purl: listkeys |
10:27.05 | Tem | purl, stop listening to the bot-spammers. |
10:27.07 | purl | ACTION leaps to his feet and stops listening to the bot-spammers. |
10:27.09 | L|Elviso | purl: listkeys blootbot |
10:27.14 | Maldivia | [MoonWolf]: and what about the last 3%? |
10:27.32 | [MoonWolf] | he gets those for free |
10:27.52 | L|Elviso | purl: piglatin my name is purl and I like to speak piglatin! |
10:28.09 | Maldivia | purl pepe ? |
10:28.45 | Tem | I don't have to sit around for this abuse |
10:28.54 | s|loup | his name is purl and he likes to speak latin |
10:28.57 | L|Elviso | purl, mock Tem |
10:28.59 | purl | ACTION pulls Tem's pants down and shows the world Tem's pink spotted underwear |
10:29.01 | Maldivia | Tem: go dream about it :) |
10:29.23 | L|Elviso | purl: quote |
10:29.27 | Tem|Sleep | purl, fix L|Elviso |
10:29.28 | purl | ACTION takes L|Elviso to the vet for a "special" visit. |
10:29.41 | L|Elviso | lol |
10:29.46 | Tem|Sleep | pwnt |
10:29.52 | L|Elviso | purl: lobotomy |
10:29.53 | purl | I feel different somehow. |
10:29.53 | Tem|Sleep | night everyone |
10:29.59 | L|Elviso | Cyas Tem |
10:30.31 | L|Elviso | purl: math 5!4!3!2!1! |
10:32.57 | L|Elviso | purl, how long until robots take over the world? |
10:38.20 | Kolth | Elviso: Can I bug you about Hunter talents quicklike? |
10:39.15 | L|Elviso | sure |
10:39.30 | Kolth | Leveling, I'm focusing 100% on Beast. Sound right? |
10:39.44 | L|Elviso | its probably the strongest |
10:40.17 | Kolth | Is that basically what you used leveling? |
10:40.26 | Kolth | I'm straight-shotting to Bestial Wrath |
10:41.15 | L|Elviso | I leveled way before the 1.7 overhaul |
10:41.16 | L|Elviso | so no |
10:41.24 | L|Elviso | but looking back, I would've |
10:41.28 | Kolth | k, thanks |
10:41.37 | Kolth | The talents are fairly straight-foward with that out of the way. |
10:41.50 | L|Elviso | one of the finer points of BM is it's for the most part independent of your gear |
10:42.23 | Kolth | BM? |
10:42.29 | L|Elviso | beast mastery |
10:42.35 | Kolth | Oh :) |
10:43.03 | L|Elviso | I've been tempted to start another hunter just to level him using BM |
10:43.09 | L|Elviso | because 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.31 | Kolth | Moon, what would you do leveling? |
10:45.56 | Kolth | Marksmanship is great, but can a pet keep aggro? |
10:46.02 | [MoonWolf] | take marksman to aimed shot, then take bm |
10:46.39 | L|Elviso | aimed 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.08 | Kolth | I'm interested in Aimed Shot, but I'm unsure. |
10:47.24 | Kolth | Maybe I'll try it out once I get Beastial Wrath |
10:47.54 | Corrodias | how are end-game raids aided by aimed shot? |
10:48.13 | L|Elviso | its the best dps/mana shot, that and multishot |
10:48.17 | [MoonWolf] | this is a leveling build w are talking about. |
10:48.32 | Corrodias | is it better DPS than normal shots? |
10:48.34 | L|Elviso | leveling up, every few levels you will hit the point where your pet's growl will become really weak |
10:48.53 | L|Elviso | Corrodias: it's better than arcane |
10:49.03 | [MoonWolf] | everything is better then arcane |
10:49.28 | Kolth | End-game Hunters use Aimed and Multi |
10:49.30 | Corrodias | arcane 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.37 | Corrodias | its damage per second for a single shot is infinite |
10:49.41 | L|Elviso | with a weak growl, and an aimed shot crit, your pet WILL lose aggro |
10:50.05 | Corrodias | what i mean is, are you actually doing damage -faster- with aimed shot than with normal shots? |
10:50.19 | Corrodias | since it has a long cast time |
10:50.30 | [MoonWolf] | disengage the run away start shooting again |
10:50.39 | Kolth | Corrodias: It's tons more damage than Arcane Shot. |
10:50.53 | Corrodias | (that is irrelevant to my question) |
10:50.58 | L|Elviso | disengage takes time (mob runs to you > d/e > you run away), and it's hardly full-proof |
10:51.05 | Kolth | You 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.37 | L|Elviso | well, 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.50 | Corrodias | ah, it's only a 3 second cast time... it has been a while. maybe it is a little faster DPS, after all |
10:53.58 | Corrodias | oh, that's right, you can fire a normal shot just before you start the aimed shot, can't you? |
10:54.17 | Kolth | Corrodias: I'd imagine since all other shots are like that. |
10:54.29 | Kolth | (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.55 | L|Elviso | Corrodias: 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.02 | krka|work | anyone here using MapLibrary btw? i'd want a copy of that part of your savedvariables if so |
11:16.20 | L|Elviso | no, sorry |
11:18.14 | groll | who made bosspanel now again? |
11:19.30 | [MoonWolf] | ccknight |
11:19.38 | [MoonWolf] | ckknight* |
11:25.28 | s|loup | how long is the time to join a bg when starting the port-window? |
11:25.34 | s|loup | 2 minutes? |
11:25.58 | L|Elviso | I believe so |
11:26.04 | s|loup | k thx |
11:26.05 | Kirov | Is there any way to check how many variables a function takes? |
11:26.24 | Kirov | apart from just entering random crap till it gets unhappy |
11:30.55 | krka|work | no |
11:42.36 | Miravlix | krka: 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.57 | L|Elviso | anyone got a sec to help me with some GUI XML? |
12:15.09 | Kirov | sure |
12:15.15 | Kirov | I'm dead right now in game |
12:15.20 | L|Elviso | k, let me upload SS and code |
12:16.46 | L|Elviso | http://kenman.net/wowi/border.jpg |
12:16.56 | L|Elviso | I'm trying to get rid of that fuzz around the outer border |
12:17.28 | L|Elviso | http://wow.pastebin.com/630594 |
12:17.37 | Wobin_ | have you tried bribing them with donuts? |
12:30.19 | L|Elviso | Kirov, you should die again so you can help me :) |
12:30.43 | Kirov | hehe |
12:31.56 | Kirov | http://wow.pastebin.com/630612 |
12:34.37 | Kirov | if you really want the smaller border, try 24x24 |
12:35.01 | L|Elviso | still there :\ |
12:35.10 | L|Elviso | I don't mind that bone-type border, I like that |
12:35.24 | L|Elviso | it's the square background look to the borer that's ugly |
12:35.46 | Kirov | Yeah, this should fix it |
12:40.03 | L|Elviso | did you have something else coming? |
12:40.59 | Kirov | no |
12:41.34 | L|Elviso | oh |
12:41.39 | Kirov | play with edge size and see if you can change it |
12:41.44 | Kirov | er, tilesize |
12:42.10 | L|Elviso | ok, thx |
12:43.00 | Kirov | hmm |
12:43.07 | Kirov | I'm trying to reproduce what you're seeing, and I can't |
12:43.25 | L|Elviso | you see it in the SS though, right? |
12:44.39 | Kirov | yeah |
12:46.11 | L|Elviso | this 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.22 | Kirov | Yeah |
12:47.41 | Kirov | I have a frame that's moved 4.5 units to try and fix something =) |
12:48.48 | Kirov | ah |
12:48.51 | Kirov | I think I found it |
12:49.08 | Kirov | nope |
12:49.10 | Kirov | >.< |
12:50.42 | Kirov | ooo! |
12:51.08 | L|Elviso | DOH |
12:51.19 | Kirov | "$parentBG" |
12:52.17 | Kirov | see it? |
12:52.28 | L|Elviso | yes |
12:54.09 | L|Elviso | is that significant? I'm a WoW UI n00b :) |
12:54.55 | Kirov | delete that |
12:55.00 | Kirov | and your problems will be solved |
12:55.56 | Kirov | http://wow.pastebin.com/630645 |
12:55.59 | L|Elviso | from <layer> to </layer> ? |
12:56.03 | Kirov | yep |
12:57.18 | L|Elviso | now we're talkin! |
12:57.28 | L|Elviso | appreciate it, Kirov |
12:58.06 | Kirov | btw |
12:58.23 | Kirov | does itemmagic let you enter in full item ids? |
12:58.32 | Kirov | or just base itemids |
12:58.50 | L|Elviso | full |
12:58.58 | [MoonWolf] | what will it do ? |
12:58.58 | L|Elviso | but its limited |
12:59.18 | Kirov | Limited how? |
12:59.21 | L|Elviso | like I made a [Hand of Ragnaros of Markmanship] |
12:59.26 | L|Elviso | that had +91 RAP |
12:59.38 | L|Elviso | and the tooltip was there |
12:59.49 | L|Elviso | but when I tried to create the item link, it booted me |
12:59.49 | Kirov | right, but it'll kick you from the server now |
12:59.52 | [MoonWolf] | it converts itemid's to links ? |
12:59.55 | L|Elviso | yes |
13:00.03 | [MoonWolf] | i'll love you for that |
13:00.08 | L|Elviso | i'm just modifying the original |
13:00.10 | [MoonWolf] | that makes testing mendeleev so much easyer |
13:00.25 | L|Elviso | the original had a "query server" box, but would disco you if it hadn't been seen |
13:00.40 | L|Elviso | mine will auto-query the server, and it wont boot you if it hasn't been seen |
13:00.49 | [MoonWolf] | awesome |
13:00.53 | L|Elviso | it'll politely tell you it hasn't been seen |
13:01.04 | L|Elviso | hehe |
13:01.15 | L|Elviso | it'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.02 | L|Elviso | the 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.23 | Kirov | http://wow.pastebin.com/630653 |
13:05.24 | L|Elviso | I'm not sure if that'd be needed or not |
13:05.27 | Kirov | Will prevent some of the more egregious bad items |
13:05.36 | L|Elviso | like DI boots? |
13:05.51 | Kirov | Well, if you try to make a backpack of agility, it won't let you |
13:06.18 | Tain | There should be enchanted bags. |
13:06.38 | L|Elviso | oh, hrmmm |
13:06.46 | Miravlix | BuffBotTooltip:SetOwner(this, "ANCHOR_NONE") |
13:06.46 | Miravlix | BuffBotTooltip:SetUnitBuff(unit,buff_index) |
13:07.02 | Miravlix | What am I missing here since the tooltip is empty still |
13:07.12 | L|Elviso | I'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.24 | s|loup | have you checked if unitexists? |
13:07.36 | AnduinLothar | and 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.58 | Kirov | !? |
13:08.05 | [MoonWolf] | why put a setowner there..... |
13:08.26 | AnduinLothar | there's a tooltip scan |
13:08.40 | Kirov | Shit, is "ANCHOR_NONE" bad? |
13:08.41 | Miravlix | Unit is player |
13:09.04 | AnduinLothar | no, it's the correct call, it is nto however 'fast' |
13:09.52 | s|loup | miravlix can you pastebin some more code pls? |
13:10.36 | Kirov | AnduinLothar - right, but is it causing all the crash lag issues people have been experiencing in this patch? |
13:10.36 | Miravlix | I try to read BuffBotTooltipTextLeft1:GetText() but it returns nil |
13:10.42 | s|loup | maybe u should use http://www.wowwiki.com/API_GameTooltip_SetPlayerBuff |
13:10.45 | Kirov | Now that everything and their grandma uses it |
13:11.01 | Miravlix | s|loup: Nope |
13:11.17 | AnduinLothar | if they are using CastOptions it is |
13:11.27 | Miravlix | I'm not concerned with the sort order |
13:11.37 | Miravlix | and thats the only issues with unitbuff over player |
13:12.14 | s|loup | its got only trouble with "player" or also with other unitids? |
13:12.33 | Kirov | I do almost identical code in my AQAutoMount with out issue |
13:13.01 | Miravlix | I've fixed 9384793847 SetOwner bugs |
13:13.04 | [MoonWolf] | Kirov, almost , that might yust be almost enough to not cause it. |
13:13.07 | Miravlix | But this one just doesn't work |
13:13.39 | Kirov | Miravlix - what is "this" in this example? |
13:13.56 | Miravlix | BuffBotTooltip:SetOwner(UIPARENT, "ANCHOR_NONE") |
13:13.56 | Miravlix | BuffBotTooltip:SetUnitBuff(unit,buff_index) |
13:14.02 | Miravlix | But there is no tooltip |
13:14.11 | Kirov | Is it actually UIPARENT? |
13:14.15 | Kirov | or UIParent |
13:14.19 | Miravlix | It was this before |
13:14.22 | s|loup | UIParent |
13:14.23 | Miravlix | I just changed it |
13:14.46 | Miravlix | I quoted the same lines 5 lines ago... |
13:15.14 | s|loup | no there you said 'this' instead of 'UIPARENT' |
13:15.32 | Miravlix | Yes I*M TRYING TO FIX THE FUCKING CODE |
13:15.37 | s|loup | ^^ |
13:15.42 | s|loup | dont panic |
13:15.44 | Miravlix | So I changed it and pasted what I had just changed |
13:16.00 | s|loup | get a cup of tea *hersyourtea* |
13:16.06 | Miravlix | And I had fucking mistyped what I had changed but not yet reloaded and tried in game |
13:17.54 | Miravlix | There we go, when all else fail, figure it out yourself |
13:18.26 | Miravlix | Some design of the function means this isn't a propper value. |
13:18.46 | Kirov | hmm |
13:18.50 | Kirov | testing this myself |
13:19.08 | Kirov | using "player" as the unit results in an empty tooltip |
13:19.28 | Kirov | Even when I make it visible |
13:20.42 | Miravlix | It's my SetOwner as I expected that was wrong |
13:20.53 | Miravlix | With a propper owner it works |
13:21.34 | Kirov | most curious |
13:22.01 | Miravlix | Not really |
13:22.10 | Miravlix | a broken owner is just as bad as no owner |
13:25.02 | Miravlix | What 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.16 | AnduinLothar | cast optiosn seems to work without the anchor... odd |
13:27.32 | Miravlix | Didn't I do a SetOwner for castoptions in onload or something? |
13:28.29 | AnduinLothar | wonder if it works on zoning |
13:29.24 | krka|work | damn... font-settings in css seems very odd |
13:29.36 | krka|work | doesn't seem to inherit very well |
13:29.38 | Miravlix | Naah, don't think I touched CO |
13:29.49 | krka|work | i have to specify for the exact element, not any parents |
13:29.56 | Miravlix | I can see Mug added anchor before every tooltip call |
13:30.09 | Miravlix | they all need to be wiped and one made |
13:30.38 | AnduinLothar | looks liek you can just wipe the one in CastOptions.ActionButton_UpdateUsable |
13:31.03 | AnduinLothar | and move the local pagedID = ActionButton_GetPagedID(this); up two lines and make the one bellow it IsUsableAction(pagedID); |
13:31.05 | Miravlix | Maybe, he has 10 of them all over |
13:31.22 | Miravlix | I don't know if UpdateUsable can be called before any of the others |
13:32.57 | Miravlix | Why not just stuff one CastOptionsTooltip:SetOwner(UIParent, "ANCHOR_NONE"); |
13:33.03 | Miravlix | into CastOptions.Onload? |
13:33.16 | Miravlix | Do our owner get wiped on zoning? |
13:33.18 | AnduinLothar | not sure if it works for zoning |
13:33.36 | Miravlix | Then PLAYER_ENTERING_WORLD SetOwner? |
13:33.46 | AnduinLothar | ya, in addition to onload |
13:34.37 | Miravlix | Why in addition?, PEW happends onload and onzone |
13:35.05 | AnduinLothar | onload woudl catch anythign happening vars loaded |
13:35.40 | Miravlix | Hmm, my onload code is broken, just commented all setowners and stuck one in onload, but it isn't working |
13:37.02 | AnduinLothar | oh wow, they changed the stats on my star of mystaria |
13:37.18 | AnduinLothar | :/ made it a caster amulet |
13:37.20 | Miravlix | Prolly because of MCom |
13:37.27 | Miravlix | What? |
13:37.45 | AnduinLothar | used to have agil, they changed it to +1% spell crit |
13:38.19 | AnduinLothar | i think.. |
13:38.50 | Miravlix | The version I get is +9 sta +9int +8 spi and 1% to hit with spells |
13:39.03 | AnduinLothar | ya, that's what it is now.. |
13:39.53 | Miravlix | I guess reading errors has it's uses... |
13:39.56 | Miravlix | Error: Interface\AddOns\CastOptions\CastOptions.lua:2974: attempt to index global `CastOptionsTooltip' (a nil value) |
13:40.13 | Maldivia | tooltip:SetOwner(...) :) |
13:40.18 | Maldivia | or? |
13:40.40 | Maldivia | ohh wait, yeah - actually reading ftw :) |
13:42.57 | Miravlix | Okay, I need to stuff it into OnVarsLoaded |
13:43.28 | Miravlix | Now to find a zone to see if that wipes our owners |
13:44.57 | Miravlix | No negative effect on zoning I can see |
13:45.04 | AnduinLothar | try a bg |
13:45.27 | AnduinLothar | i kept having trouble in bgs with ismounted that way.. |
13:45.44 | krka|work | hmm... why not SetOwner before usage? |
13:45.50 | krka|work | that would probably be easiest / safest |
13:45.53 | AnduinLothar | lag for frequent calls |
13:46.06 | krka|work | anyone measured how much time SetOwner takes? |
13:46.12 | krka|work | compared to SetUnitBuff or something |
13:46.41 | AnduinLothar | 1 setowner causes lag in a ActionButton_UpdateUsable hook |
13:46.54 | AnduinLothar | noticible frame lag |
13:49.09 | krka|work | weird |
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.43 | Kirov_ | Each SetOwner cost about 0.1 milliseconds |
13:50.52 | JoshBorke | good morning |
13:50.55 | Miravlix | woha thats A LOT |
13:52.15 | AnduinLothar | * # of action buttons * fps = lag |
13:52.45 | [MoonWolf] | YEAH |
13:52.48 | krka|work | let's see.... 12 action buttons (default) * 0.1 ms = 1.2ms |
13:53.22 | krka|work | not 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.59 | krka|work | default shows 1 bar afaik |
13:54.02 | Miravlix | I have 5 bars visible |
13:54.07 | Kirov_ | heh |
13:54.09 | krka|work | 3.6 ms lost per frame |
13:54.09 | krka|work | hm |
13:54.13 | Miravlix | Default people is not important |
13:54.13 | [MoonWolf] | that hurts. |
13:54.21 | Miravlix | Default ppl doesn't have addons |
13:55.08 | Miravlix | And it could be more, if things get evaluated more than once |
13:56.06 | Kirov_ | uhg |
13:56.06 | Miravlix | I've always hated the insane number of function calls in some of the Cosmos addons |
13:56.59 | Miravlix | Just a barebone UI is something like 100K functions calls pr. 30 seconds |
13:58.58 | Miravlix | Can't get into any BG's at any level on my server |
13:59.33 | Miravlix | So when CO and others hooks in to the barebone UI we easily double/triplle or worse the number of calls |
14:00.46 | Miravlix | Bottom line is, your 0.1ms is 30-100ms after things gets done |
14:01.05 | krka|work | hm |
14:01.22 | krka|work | could do this perhaps: |
14:02.34 | Miravlix | I 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.50 | Kirov_ | Has anyone looked to see how text gets set in tooltips? |
14:02.57 | krka|work | function 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.06 | krka|work | should be pretty fast |
14:03.20 | Kirov_ | ie: are they calling "settext" or their own internal method |
14:03.20 | krka|work | oops, forgot some ends: |
14:03.26 | krka|work | function 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.24 | Miravlix | In a function that gets called 100K times in 30 seconds |
14:04.34 | Miravlix | thats going to generate a nice amount of GC |
14:05.17 | Maldivia | how will that cause any gc? |
14:06.08 | krka|work | i am wondering the same thing |
14:06.27 | krka|work | function 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.53 | krka|work | usage: TooltipSet(tooltipRef, "SetUnitBuff", 3) |
14:08.23 | krka|work | think i will add some tooltip helpers to my util-pack |
14:08.49 | Maldivia | hmm, can you use tooltip:GetAnchorType() to test if it's owned/anchored ? |
14:08.58 | s|loup | and what is tooltipRef["SetUnitBuff"] ? |
14:09.15 | krka|work | tooltips have the function SetUnitBuff defined |
14:09.49 | Maldivia | tooltip["SetUnitBuff"](tooltip, arg1, arg2, arg3) -- is the same as tooltip:SetUnitBuff(arg1, arg2, arg3) |
14:10.16 | krka|work | exactly |
14:10.32 | s|loup | thought only . can be replaced by [] |
14:10.41 | krka|work | well, : can be replaced by . |
14:10.54 | Maldivia | t:s() is syntax sugar for t.s(t) |
14:11.04 | Kirov_ | GetAnchorType is considerably faster that doing the set itself |
14:11.04 | Miravlix | No problems in BG's |
14:11.11 | krka|work | tooltip:A(x, y, z) -> tooltip.A(tooltip, x, y, z) -> tooltip["A"](tooltip, x, y, z) |
14:11.29 | Kirov_ | 0.0001 milliseconds |
14:11.49 | krka|work | mine would work too... unless the owner gets unset somehow? |
14:11.50 | krka|work | can that happen? |
14:11.56 | Maldivia | but what does GetAnchorType return for tooltips where SetOwner has not been valled? |
14:11.58 | Maldivia | called* |
14:12.23 | krka|work | we can use IsOwned i suppose |
14:12.26 | Maldivia | well, apparently, the owner can be unset, otherwise the SetOwner in OnLoad would work everytime |
14:12.41 | Maldivia | IsOwned requires a frame reference, to check if it's owned by that frame |
14:12.54 | krka|work | so use a refence to UIParent |
14:13.03 | Maldivia | WorldFrame |
14:13.10 | krka|work | fine, worldframe :P |
14:13.19 | krka|work | is it because the owner needs to be visible? |
14:13.45 | Miravlix | The higher up the hiracy the worse |
14:13.55 | Miravlix | WorldFrame gets a lot more trafic |
14:14.13 | krka|work | so, setting it to itself should work? |
14:14.49 | krka|work | function 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.51 | s|loup | can an object be the owner of itself? |
14:14.51 | krka|work | would that work? |
14:15.06 | s|loup | i dont think so |
14:15.08 | krka|work | exactly what does setting the owner do? |
14:15.11 | krka|work | why do we need it? |
14:15.31 | Miravlix | No idea |
14:15.44 | krka|work | we have no clue what SetOwner does? |
14:15.46 | s|loup | owner is the trustee of the object? |
14:15.56 | Miravlix | Doesn't 'help' making it any less bloody annoying that we need to set it and we have no idea why |
14:16.39 | AnduinLothar | mira, can you commit your castoptions fix plz |
14:16.59 | Miravlix | Will do |
14:18.09 | s|loup | hm looks like setowner is the same as setanchor |
14:18.11 | Kirov_ | hmm |
14:18.17 | Miravlix | Hmm, faith? SVN is lagging so I can't commit. :) |
14:18.46 | s|loup | but also to say to what object to arrange |
14:18.54 | krka|work | blizzard uses SetOwner to place the tooltip relative other frames |
14:19.42 | s|loup | so can u use frame-functions on a gametooltip |
14:19.47 | krka|work | and 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.57 | krka|work | yes |
14:20.17 | s|loup | then GetAnchor should work, shouldnt it? |
14:20.22 | krka|work | maybe |
14:21.06 | krka|work | basically, we just need to set the owner to a frame that's always visible |
14:21.16 | krka|work | i think |
14:21.25 | Maldivia | and WorldFrame is always visible |
14:22.47 | krka|work | exactl... hm |
14:22.58 | Miravlix | Most of the addons I've OWNED!!1! use hidden frames |
14:23.16 | Miravlix | Didn't seem like it needed to be anchored to a visible frame. |
14:24.22 | krka|work | then it must be something else |
14:24.38 | krka|work | was that before or after 1.10? |
14:24.47 | Miravlix | I just did tooltip:SetOwner(this, "ANCHOR_NONE") in the updates so far |
14:24.58 | Miravlix | BuffBot is the first addon where this didn't work in |
14:25.58 | krka|work | what is "this" in those cases? |
14:26.26 | Miravlix | Depends on how the function is called |
14:26.28 | Legorol | morning |
14:26.40 | Miravlix | But this is initialized by the frame that triggers a call |
14:26.52 | krka|work | maybe something overwrites this somewhere? |
14:26.54 | krka|work | morning lego |
14:26.57 | Legorol | Miravlix: that should've worked |
14:27.14 | krka|work | can you grep buffbot for "this"? |
14:27.16 | Legorol | in 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.28 | Miravlix | I used UIParent for BuffBot and forgot about it |
14:27.32 | Legorol | thing to check for: who is the parent (as opposed to owner) of the tooltip? |
14:27.52 | krka|work | the parent must always be visible atleast? |
14:27.53 | Legorol | tooltips work best when they don't have an explicit parent |
14:27.59 | Miravlix | BB's code gives me the creeps for some reason so I'm going to forget it now that it works |
14:28.00 | Legorol | krka: no, doesn't have to be |
14:28.14 | Legorol | Miravlix: so how did you fix it in BB? |
14:28.20 | krka|work | my krkaButtons got bugged yesterday |
14:28.25 | krka|work | the tooltip:Set... didn't work |
14:28.32 | Miravlix | tooltip:SetOwner(UIParent, "ANCHOR_NONE") |
14:28.36 | Legorol | right |
14:28.43 | krka|work | after i had applied the fix btw |
14:28.45 | Miravlix | We use UIParent in CO too |
14:28.47 | Legorol | maybe sometimes it can matter who the owner is |
14:28.55 | krka|work | it started giving errors after i received a quest |
14:28.58 | Legorol | maybe the owner has to be visible |
14:29.15 | Legorol | krka: strange |
14:29.19 | krka|work | <PROTECTED> |
14:29.34 | Legorol | krka: i strongly recommend you SetOwner the tooltip each time before you use it |
14:29.35 | Miravlix | After you reviced a quest??? |
14:29.44 | Miravlix | Legorol NOOOOOOOOOOOOOOOOOOOOOOOOO |
14:29.50 | Legorol | it's not a significant performance overhead |
14:29.51 | Miravlix | SetOwner is a Expensive call |
14:30.03 | Miravlix | It's the reason CO is lagging everyone |
14:30.05 | Legorol | really.. |
14:30.13 | Legorol | wow, nice of you to have figured that out |
14:30.18 | krka|work | Legorol, what would unset the owner though? |
14:30.28 | Miravlix | Andu figured it out |
14:30.32 | Legorol | how do you propose to unset it, krka? |
14:30.33 | krka|work | CO? |
14:30.41 | krka|work | no idea, i am asking :) |
14:30.48 | Legorol | Miravlix: that'd explain why it was lagging only for some people |
14:30.50 | krka|work | should be enough to set it once |
14:30.54 | Miravlix | I just removed all SetOwners and made one VarLoaded SetOwner |
14:30.55 | Legorol | SetOwner is probalby very CPU intensive |
14:31.13 | Miravlix | CastOptions |
14:31.17 | Legorol | krka: there are cases where it's not enough to set it once |
14:31.26 | Legorol | if the tooltip gets hidden for some reason, |
14:31.31 | Legorol | then you have to re-SetOwner |
14:31.49 | Legorol | for example, if the tooltip has a parent and you call parent:Hide(), for some weird reason tooltip:Hide() also gets called |
14:31.58 | Legorol | after which you need to re-SetOwner |
14:32.17 | Legorol | which is one of the reasons why i'm telling everyone not to have a parent for their tooltip |
14:32.34 | krka|work | ah, makes sense |
14:33.20 | krka|work | so either always setowner, or have no parent |
14:33.52 | krka|work | why can't we just use tooltip:IsOwned(frame) ? |
14:34.02 | krka|work | (see my function definition above) |
14:34.58 | Miravlix | I 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.08 | Legorol | krka: because hiding the tooltip doesn't remove owner |
14:35.22 | Legorol | after a tooltip:Hide(), tooltip:IsOwned(tooltip) would still return true |
14:35.24 | krka|work | then the problem isn't really that it needs an owner |
14:35.34 | Legorol | you are correct, it's not that |
14:35.40 | Legorol | SetOwner performs a bunch of init-code |
14:35.42 | Miravlix | It needs an anchor |
14:35.53 | Legorol | when you Hide() the tooltip, it destroys some internal state, |
14:35.57 | Miravlix | But if thats true why do SetOwner |
14:35.59 | Legorol | which has to be reinitialized |
14:36.02 | Miravlix | and not just SetAnchor? |
14:36.46 | Legorol | http://www.wowwiki.com/Tooltip_Pseudo_Code |
14:37.01 | Legorol | Lua-style representation of the function of most tooltip functions |
14:37.12 | Legorol | it's fairly accurate, although i haven't updated it for 1.10 yet |
14:37.16 | Legorol | most of it still applies though |
14:37.20 | krka|work | ah... the valid bit |
14:37.21 | krka|work | gotcha |
14:37.53 | Legorol | yup, it's an abstract representation of some unknown internal state that needs resetting |
14:38.02 | Legorol | i don't know *why* it's implemented like this |
14:39.33 | krka|work | hmm.... my gametooltip is hidden="true" in xml |
14:39.43 | Legorol | that doesn't matter |
14:39.43 | *** join/#wowi-lounge Osagasu (n=Kronus@rhhe10-109.2wcm.comporium.net) |
14:39.44 | krka|work | is that "performed" after or before OnLoad? |
14:39.48 | Legorol | that just specifies initial state on load |
14:40.12 | Legorol | krka: afaik, it isn't performed as such |
14:40.19 | krka|work | i see |
14:40.23 | krka|work | but it's ok for it to be hidden? |
14:40.24 | Legorol | if hidden="true" then the object starts hidden |
14:40.41 | krka|work | i thought the problem was that the new engine ignores hidden stuff |
14:40.42 | Legorol | if hidden="false", then presumably at some point its Show() gets called |
14:41.21 | Legorol | the thing that gets ignored on hidden stuff is OnUpdate |
14:41.26 | Legorol | and that has always been like that |
14:41.58 | Legorol | i think slouken did tweak something a littlebit so that if hidden="true", then less things happen to the object to start with |
14:42.10 | Legorol | e.g. the layout engine doesn't calculate its position etc. |
14:42.25 | Legorol | but when you call Show() (which the tooltip Set methods implicitly do) it does work stuff out |
14:45.01 | krka|work | so i shouldn't need to have hidden=true |
14:45.20 | krka|work | without an anchor, it won't be visible anyway |
14:46.20 | Miravlix | I just need a simple list |
14:46.28 | Miravlix | If this then you need to Setowner |
14:46.40 | Miravlix | so far the list has onload in it, but what other conditions |
14:46.54 | krka|work | on tooltip hide i guess |
14:47.06 | krka|work | or should probably remove all tooltip hide |
14:47.11 | krka|work | and replace all tooltip show with setowner |
14:47.25 | Kirov_ | http://wow.pastebin.com/630839 |
14:47.48 | Kirov_ | am I doing something wrong here? |
14:48.36 | krka|work | why do you ask? |
14:48.40 | krka|work | do you get any errors? |
14:48.44 | krka|work | doesn't it work as you like? |
14:49.25 | krka|work | http://wow.pastebin.com/630842 |
14:49.34 | krka|work | that's the only error i found |
14:50.48 | Kirov_ | forgot to inherit too |
14:50.59 | krka|work | oh right |
14:52.10 | Kirov_ | hmm |
14:52.14 | Kirov_ | not working still |
14:53.38 | *** join/#wowi-lounge Andalia_ (n=xx@p54ADB757.dip0.t-ipconnect.de) |
14:53.59 | s|loup | onload is before on entering world isnt it? |
14:54.09 | krka|work | i think so |
14:54.12 | s|loup | so it cant write to default chat frame? |
14:55.03 | Miravlix | I'm going to strangulate you if you make addons that SPAMS on load |
14:55.19 | s|loup | hihi |
14:55.30 | Miravlix | I 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.16 | s|loup | as i think the most addons tel the status after event Variables_loaded |
14:56.33 | Miravlix | no, most do it onload |
14:57.02 | Miravlix | But I only want to hear from an addon if it has something IMPORTANT to tell me. |
14:57.06 | Kirov_ | If I manually set that function to each font object it works, but not onload |
14:57.56 | s|loup | hm im going home cu |
14:59.53 | Kirov_ | oi, way too tired for this code |
15:00.01 | Miravlix | I find the concept of tooltip:hide() confusing since we want our tooltip to be hidden mostly |
15:00.06 | Kirov_ | I was setting the gametooltip instead of the settexttooltip |
15:00.10 | Miravlix | there is veyr few addons that has visible tooltips |
15:00.32 | Kirov_ | Miravlix - except that all of WoW's ui has nothing but shown tooltips |
15:00.37 | Kirov_ | or rather, one tooltip |
15:00.52 | Miravlix | It's not shown |
15:00.59 | Miravlix | I sure as hell can't see buffbots tooltip |
15:01.18 | Kirov_ | I'm refering to Blizzard's own UI for WoW |
15:01.22 | Miravlix | Neither any of CastOptions |
15:01.25 | Kirov_ | They don't use hidden tooltips |
15:01.32 | Kirov_ | They don't need to, obviously |
15:01.52 | Kirov_ | But their optimizations are focused on fixing their ui, not others |
15:02.29 | Miravlix | Blizzard tooltips was broken? |
15:02.33 | Kirov_ | slouken does what he can, but he has people telling him what he can and can't do. |
15:02.42 | Kirov_ | no |
15:02.56 | Kirov_ | But Blizzard's tooltips only ever have to show anything when they're actually being shown. |
15:03.48 | Miravlix | And why does that make SetOwner significant? |
15:03.50 | Kirov_ | 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.39 | Miravlix | So what excatly does forcing SetOwner fix in the Blizzard UI? |
15:05.01 | Kirov_ | Doesn't fix anything |
15:05.10 | Miravlix | Then why was it needed? |
15:05.17 | Kirov_ | But might save some memory or performance |
15:05.30 | Miravlix | IT SLOWS DOWN |
15:05.43 | Kirov_ | When it's called, yes |
15:05.44 | Miravlix | And 1.10 uses way more memory |
15:07.03 | Miravlix | I don't think Blizzard care at all about memory |
15:07.25 | Miravlix | But if Bliz UI is using SetOwner then it's SLOWER now than it was before with the new SetOwner functionality |
15:07.44 | krka|work | but blizzard doesn't do that OnUpdate |
15:07.52 | krka|work | only on mouseovers, afaik |
15:08.01 | Kirov_ | Actually |
15:08.22 | Miravlix | I sure hope none of us is doing tooltip scanning in OnUpdate |
15:08.27 | krka|work | i am! |
15:08.28 | Kirov_ | Any item or action that has a cooldown is doing a SetOwner every .1 second |
15:08.34 | krka|work | lazy tooltip scanning though |
15:08.39 | Miravlix | Then your freaking crazy |
15:08.45 | krka|work | why? |
15:08.54 | Miravlix | Because it's slow and cost FPS |
15:09.10 | krka|work | i haven't noticed it being slow at all |
15:09.37 | Miravlix | Tooltip scanning is just about the slowest thing in the UI |
15:10.07 | Miravlix | Only thing slower must be moving things around in your inventory |
15:10.19 | Kirov_ | heh |
15:10.23 | krka|work | i do it _lazily_ |
15:10.27 | Kirov_ | that's because those are server side |
15:10.49 | krka|work | i scan spellbook, inventory, actions, buffs |
15:10.57 | krka|work | and bag |
15:11.01 | *** join/#wowi-lounge Cide (i=Cide@81-226-233-5-no60.tbcn.telia.com) |
15:11.11 | krka|work | spellbook updates almost never |
15:11.14 | Miravlix | In OnUpdate? |
15:11.20 | krka|work | no, on demand |
15:11.43 | krka|work | my buttons request it on update though |
15:11.50 | krka|work | but it doesn't actually scan unless something has changed |
15:12.11 | Miravlix | Then it isn't OnUpdate tooltip scanning |
15:12.12 | krka|work | probably scans buffs most frequently |
15:12.25 | krka|work | yes it is. i request buff status OnUpdate |
15:12.36 | krka|work | if some target has changed, i scan |
15:12.46 | Miravlix | On update tooltip scanning is doing SetOwner, tooltip:SetSomething do something with the tooltip |
15:13.18 | krka|work | my way is also OnUpdate scannign |
15:13.36 | Miravlix | Nope |
15:13.40 | krka|work | why not? |
15:13.56 | Miravlix | I could write the same code without an OnUpdate function |
15:14.06 | krka|work | ok... let's say you want to know buff on targettarget |
15:14.13 | krka|work | my addon can handle that |
15:14.20 | krka|work | thus: scan on OnUpdate |
15:14.47 | Miravlix | Nope |
15:15.22 | Miravlix | You aren't performing a full run OnUpdate |
15:15.40 | Miravlix | Your just decided to implement an event handler in an OnUpdate function |
15:15.57 | krka|work | not really |
15:16.18 | Miravlix | yes, really, it isn't an OnUpdate function in the normal sense |
15:16.32 | krka|work | i scan targettarget directly upon OnUpdate |
15:16.33 | Miravlix | It's a bunch of if condition then do that |
15:16.42 | Miravlix | and then you set flags with the normal event handler |
15:16.49 | krka|work | not for targettarget |
15:18.20 | Miravlix | What 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.53 | krka|work | didn't say it was every frame |
15:19.02 | Miravlix | OnUpdate is every frame |
15:19.11 | krka|work | but i don't scan every frame |
15:19.28 | Miravlix | ... |
15:19.40 | Miravlix | As I said you aren't really onupdate tooltip scanning |
15:19.48 | Miravlix | Your just using it as a event handler |
15:20.01 | krka|work | whatever |
15:20.32 | Miravlix | Oh get real here |
15:21.04 | Miravlix | Try making an onupdate() function that tooltip scans all targetstargets buffs/debuffs ever frame update |
15:21.12 | Miravlix | and tell me that isn't going to kill your FPS? |
15:21.37 | Miravlix | That was the fact at the beginning of the conversation |
15:22.42 | krka|work | no |
15:22.51 | Miravlix | But no it was more fun to make this freaking stupid conversation |
15:22.57 | krka|work | OnUpdate isn't the same as _every_ call to OnUpdate |
15:23.05 | Miravlix | Yes it is |
15:23.14 | Miravlix | OnUpdate = a pr. frame function |
15:23.45 | Miravlix | That you implement an OnUpdate event handler, is a completely different solution to what OnUpdate does |
15:24.01 | Miravlix | Your taking OnUpdate normal functionality and building in a throttler |
15:24.55 | Miravlix | So your code in the end will never get executed OnUpdate |
15:25.04 | Miravlix | but On other conditions |
15:25.22 | Miravlix | Your Event handler gets executed on Update, that is true, but not your sub code |
15:26.27 | krka|work | what if it gets executed on 99% of OnUpdate calls? |
15:27.08 | Miravlix | Thats around 40 times pr. second on my system |
15:27.31 | Miravlix | Thats going to reduce my FPS to nothing |
15:27.37 | krka|work | where do you draw the line for whether it's done on OnUpdate or not? |
15:28.02 | Miravlix | function onupdate() a = a + 1 end |
15:28.06 | Miravlix | Thats done onupdate |
15:28.31 | Miravlix | function onupdate() if Flag then end |
15:28.39 | Miravlix | Then if is performed on update |
15:28.45 | Miravlix | but then <code> isn not |
15:31.03 | Miravlix | if UnitBuff("targettarget", 1) then tooltip scan for details end |
15:31.43 | Miravlix | That 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.55 | Miravlix | But 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.41 | krka|work | really? |
15:33.54 | krka|work | don't think it would be that bad |
15:34.04 | Miravlix | 40+ tooltip scans pr. second is bad |
15:34.32 | Miravlix | Just onload scanning the spellbook is bad |
15:34.39 | Miravlix | Thats why we all started using textures |
15:35.32 | JoshBorke | i 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.28 | Miravlix | With SetOwner tooltip scanning done badly is horrible slow |
15:37.30 | ckknight | okay, 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.45 | krka|work | i 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.55 | krka|work | i scan the spellbook and stuff |
15:41.57 | krka|work | though not on update |
15:45.10 | krka|work | how long would it take me to write a simple BossPanel plugin? |
15:45.12 | Miravlix | Unless you hook/onupdate in bad ways, the fps cost should be so small that I couldn't detect it |
15:45.31 | Miravlix | The problem is with 170 addons all taking there bite out of FPS, it becomes an issue |
15:45.50 | krka|work | you said simply 40+ scans per second is bad enough |
15:46.04 | Miravlix | Yes |
15:46.25 | Miravlix | Make a test onupdate that scans your own buffs every onupdate |
15:46.37 | Miravlix | and tell me if you can move at all |
15:46.41 | krka|work | ok |
15:46.59 | krka|work | for i = 1, 40 do tooltip:SetPlayerBuff(1) end |
15:47.00 | krka|work | that enough? |
15:47.32 | krka|work | <PROTECTED> |
15:47.41 | krka|work | have to use a timer |
15:47.41 | Miravlix | actually simply tooltip:SetPlayerBuff(1) |
15:47.51 | krka|work | yeah, that's be enough |
15:49.21 | Miravlix | Atleast I beleive it's that line thats slow |
15:49.37 | Miravlix | Not the reading of tooltipleftright1super |
15:50.48 | *** join/#wowi-lounge Kirkburn (n=George@151.56.202.113) |
15:50.50 | Cide | hi Maldivia? |
15:51.15 | Maldivia | Cide: nevermind, saw you posted a reply in one of the thread in the forum (CT_RA CastSpellByName hook) |
15:51.22 | Cide | aye |
15:51.27 | Miravlix | tooltip:Set<Something>, tooltiptextleft1:GetText()) |
15:51.34 | Miravlix | The GetText() might be slow too |
15:52.15 | Miravlix | I've never tested what part of a full tooltip scanning function that is the slow part |
15:53.14 | Miravlix | I know that CastOptions doing SetOwner, Set<function>, read in hooks made the UI grind to a halt |
15:53.18 | Miravlix | Wasn't even onupdate |
15:53.37 | krka|work | when did it happen then? |
15:54.04 | Miravlix | CO hooks a lot of functions they get called something like 100K times pr. 30 seconds |
15:54.20 | Maldivia | Miravlix: ok, just did an OnUpdate full player buff and debuff scan, with name, type and description |
15:54.24 | Maldivia | didn't loose a single fps |
15:55.01 | Miravlix | Then why is it sutch a problem everywhere else? |
15:55.33 | Miravlix | Full tooltip scan? |
15:55.51 | *** join/#wowi-lounge [MoonWolf] (n=moonwolf@f176182.upc-f.chello.nl) |
15:57.09 | krka|work | can you increase amount of scans until you notice it? |
15:57.14 | krka|work | would be nice to have some hard data |
15:58.13 | Maldivia | hmm, let me try |
15:59.23 | Maldivia | ofcourse, I'm limited by the fact, that I can only put 5 buffs onmyself to test with :) |
16:00.01 | Miravlix | for i=0, i < 100, 1 then |
16:00.05 | Miravlix | 5x100 |
16:00.27 | ckknight | does know one know how to deal with a button-in-a-button? |
16:00.32 | ckknight | no one* |
16:00.47 | Miravlix | I know nothing of the gui stuff. |
16:01.00 | JoshBorke | for SetJustifyH("directon") what is direction? |
16:01.04 | Maldivia | having a loop with 100 full reads every frame was noticeable |
16:01.20 | ckknight | Josh|Blah, "LEFT", "CENTER", "RIGHT" |
16:01.27 | JoshBorke | ckknight: danke |
16:01.31 | Miravlix | Can you pastebin the code? |
16:01.38 | JoshBorke | what does it Justify to though? |
16:01.45 | ckknight | its own width |
16:01.49 | Miravlix | this is left justified |
16:01.52 | JoshBorke | hm |
16:01.55 | Miravlix | <PROTECTED> |
16:02.08 | Miravlix | <PROTECTED> |
16:02.11 | JoshBorke | what about a checkbox? |
16:02.13 | ckknight | I'm sure he understand what left, right, and center are |
16:02.23 | Gryphen | lol |
16:02.31 | ckknight | JoshBorke, likely the width of the checkbox |
16:02.39 | JoshBorke | lol, indeed, i know the difference between left, right and center :-P |
16:02.46 | Gryphen | you sure? |
16:02.52 | JoshBorke | bah, i wish i could test at work :-/ |
16:03.10 | Maldivia | Miravlix: http://wow.pastebin.com/630946 |
16:03.18 | JoshBorke | i want to center the text associated with a checkbox within the center of the parent frame |
16:04.34 | Miravlix | What did your GC say to the function? |
16:05.01 | Kirkburn | People who use ClearFont here, have you had any problems? |
16:05.09 | Maldivia | Miravlix: there's no GC on that method |
16:06.09 | Miravlix | Your creating strings with it |
16:06.34 | Maldivia | well, not really |
16:06.42 | Maldivia | I'm just referencing string in the string-table |
16:07.04 | Miravlix | That complicates the equation, because it uses an already created string |
16:09.12 | Miravlix | But in 99.9% cases all tooltip scanning would be against already existing strings |
16:10.30 | Miravlix | So what are we talking here your executed the tooltip scanning 40 * 5 * 30 |
16:10.58 | Miravlix | 6000 times pr. 30 seconds |
16:11.20 | Miravlix | CO does 100K function calls pr. 30 seconds |
16:12.04 | Maldivia | hmm, bugger - where's a working version of TraceEvent :) |
16:13.02 | Miravlix | Oh, same code, but this time make it into a function called from onupdate |
16:13.12 | Miravlix | I wonder if this will make it a lot worse |
16:13.20 | Miravlix | try both local and non local function |
16:13.45 | Maldivia | well, there's already a function call, since it's <OnUpdate> ScanMe_OnUpdate() </OnUpdate> |
16:14.24 | Miravlix | Yes, but after that your doing it the best possible way |
16:14.30 | Miravlix | all variables is local |
16:15.03 | Maldivia | not 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.17 | Miravlix | Just removeing all the locals should be enough to change things significantly |
16:15.33 | Maldivia | no |
16:15.41 | Maldivia | wont change anything |
16:15.56 | Maldivia | then you're just accessing the same 4 global variables |
16:16.00 | Miravlix | It's slower to use non local variables |
16:16.08 | Maldivia | well yeah, you'll have a bit slower access to the global variables |
16:16.16 | Maldivia | but nothing you should notice in those few iterations |
16:16.49 | Miravlix | Anyway, it's costly to do onupdate |
16:17.01 | Miravlix | Not if you only have 1 addon doing it though |
16:17.06 | Miravlix | In moderation all is fine |
16:17.28 | ckknight | but you can't trust people to self-moderate |
16:17.29 | Maldivia | well, no sane addon user would do a full buff/debuff scan in an OnUpdate |
16:17.38 | Maldivia | that's what UNIT_AURA arg1=="player" is for |
16:17.57 | Miravlix | ... |
16:18.06 | Miravlix | Thats what started the conversation, i said that. |
16:18.15 | Miravlix | and krka said he did it in OnUpdate. :p |
16:18.35 | Maldivia | but we all know krka isn't sane... hehe :) |
16:19.01 | Miravlix | But as the example show, it doesn't take much before we loss FPS. |
16:20.03 | Miravlix | One 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.37 | Miravlix | But to the best of my knowglede it's not CO's fault, it's the Blizzard Ui that calls CO |
16:21.50 | Miravlix | Something is creating a avalance effect in the UI, so more and more function calls is generated |
16:22.14 | Miravlix | Might start innocently enough with 40 OnUpdate calls pr. second |
16:22.26 | *** join/#wowi-lounge sharkhat (n=sharkhat@dhcp80ff254e.dynamic.uiowa.edu) |
16:22.34 | Miravlix | But it ends up with calling function pr. action button |
16:22.51 | Miravlix | Whats that 40*56 calls there |
16:23.25 | Maldivia | well, simple OnUpdate methods aren't bad |
16:23.35 | Miravlix | Yes they are |
16:23.40 | Maldivia | no |
16:23.47 | Miravlix | Because there is 170 'simple' onupdate handlers in my system |
16:23.57 | Maldivia | there are things you can't make without OnUpdates |
16:24.16 | Miravlix | Thats true and thats bad |
16:24.30 | JoshBorke | you can't make castingbars! |
16:25.04 | Maldivia | JoshBorke: well, theoretically you could with an animation :) |
16:25.33 | Miravlix | Hmm, I'm thinking I could serverly reduce the code by taking over the ActionButtons instead of hooking the 'end user' function calls |
16:25.57 | Miravlix | if I intercept it earlier, I could control what functions get called earlier |
16:26.52 | JoshBorke | maldivia :-P |
16:27.05 | Miravlix | Why can't you make CastingBars? |
16:27.15 | Gryphen | apb made them didnt it? |
16:27.17 | Miravlix | We do it with ArcaneBar and EnergyWatch too |
16:28.14 | Miravlix | EW isn't a Cosmos addon, but it use the CB technoligy to make a bar |
16:29.03 | Maldivia | how 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.44 | Miravlix | You mean with WoW Lua 1.10? |
16:30.52 | Maldivia | yeah |
16:31.30 | Gryphen | doesnt apb have some kind of onupdate simulation? |
16:32.18 | Miravlix | this:RegisterEvent("UNIT_ENERGY") |
16:32.18 | Miravlix | this:RegisterEvent("UNIT_MAXENERGY") |
16:32.49 | Maldivia | yes, 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.30 | Cide | hmm. |
16:33.38 | Cide | I have... |
16:34.04 | *** join/#wowi-lounge groll (n=hepp@62.119.159.41) |
16:34.18 | Cide | <GameTooltip name="CT_RATooltip" inherits="GameTooltipTemplate" parent="WorldFrame" hidden="false"> <Scripts> <OnLoad> this:SetOwner(WorldFrame, "ANCHOR_NONE"); </OnLoad> </Scripts> </GameTooltip> |
16:34.53 | Cide | but the tooltip still returns nil if I don't call SetOwner(WorldFrame, "ANCHOR_NONE") right before SetUnitBuff("player", 1) |
16:35.13 | Cide | did I miss something? it works for every other tooltip I've checked |
16:35.18 | Maldivia | do you call ClearLines() or Hide() anywhere ? |
16:35.33 | Maldivia | I think those two calls clears the owner |
16:35.47 | Maldivia | not sure though |
16:35.55 | Cide | nope |
16:35.56 | Cide | I don't |
16:36.58 | Cide | TextLeft/Right1:SetText("") but that shouldn't make a difference |
16:38.04 | Miravlix | I could prolly hook some function, but in the end I would prolly just be hanging off someone elses OnUpdate |
16:38.38 | Miravlix | Thats why it's so darn CRUCIAL to write good OnUpdate code |
16:38.48 | Maldivia | Miravlix: 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.02 | Miravlix | But whats your point? |
16:39.11 | Miravlix | I've never claimed OnUpdate wasn't needed |
16:39.26 | Miravlix | I claimed OnUpdate was bad. |
16:39.49 | Cide | it's bad if you use it bad :) |
16:39.56 | Cide | some things require it |
16:40.00 | Maldivia | and I'm just saying, OnUpdate isn't bad, only if used incorrectly |
16:40.05 | Miravlix | Naah it's just bad bad bad bad bad |
16:40.35 | Cide | how come? |
16:40.38 | Miravlix | Due to it being a frame based calling |
16:40.46 | Cide | which makes sense |
16:41.10 | Miravlix | That means that no matter how simple we make our onupdates it will always effect the system |
16:41.11 | Ktron | there 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.24 | Maldivia | Miravlix: that's why you Hide() when you don't need the OnUpdate |
16:41.30 | Miravlix | and when there is enough of them we get a slowdonw |
16:41.35 | Miravlix | even if they are all written well |
16:41.43 | Maldivia | Ktron: no Artifact items are found, but quality 6 is valid |
16:41.57 | Cide | if 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.10 | Cide | then a loop and a few (quick) function calls is nothing in comparison |
16:42.10 | Ktron | Alright... heh, but we don't know what 'color' they should be |
16:42.18 | Maldivia | Ktron: yes we do :) |
16:42.25 | Maldivia | Ktron: GetItemQualityColor(6) |
16:42.26 | Miravlix | But it's not a loop and quick functions calls |
16:42.39 | Cide | if it's written well, then the function calls are quick, yes |
16:42.42 | Ktron | woah, that's way easier than writing if elseifs to assign colors heh |
16:42.43 | Miravlix | Your assuming your addon is the only one running in the UI |
16:42.58 | Maldivia | Ktron: http://www.wowwiki.com/API_GetItemQualityColor |
16:43.09 | Miravlix | Lets get real here, people run more than one addon is a fairly well rounded setup |
16:43.23 | Maldivia | Ktron: likewise the string ITEM_QUALITY6_DESC for the description |
16:43.33 | Maldivia | Ktron: or well, 0 to 6 |
16:43.35 | Cide | yes, but the number of onupdates is the important factor, not the number of addons? |
16:43.51 | Miravlix | 40*1 is fine |
16:44.01 | Miravlix | 40*5*100 is bad |
16:44.17 | Cide | what would that be? |
16:44.22 | Cide | number of onupdate calls per second? |
16:44.31 | Miravlix | 40 frames pr. second |
16:44.41 | Cide | times what? |
16:45.14 | Miravlix | 6000 function calls pr. frame update |
16:45.18 | Ktron | is 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.29 | Cide | wait. |
16:45.31 | Miravlix | That was the test environment we created whereafter we got a slowdown |
16:45.48 | Maldivia | Ktron; local _, _, _, hex = GetItemQualityColor(iRarity) ? |
16:45.50 | Miravlix | This was using the worst function in game though |
16:46.00 | Cide | so 6k onupdates? |
16:46.11 | Ktron | underscores work as a null in lua? okay |
16:46.22 | Miravlix | No 1 onupdate doing 5 UnitBuff scans 100 times |
16:46.24 | Maldivia | Ktron: or use ITEM_QUALITY_COLORS[iRarity].hex |
16:47.02 | Cide | then that's not a quick function call |
16:47.16 | Cide | why would you call UnitBuff 500 times *in onupdate*? |
16:47.17 | Ktron | Maldivia, is the second one perferrable? |
16:47.29 | Miravlix | To see if the buffs changed |
16:47.33 | Cide | assuming the onupdate functions are well written, there shouldn't be an issue |
16:47.42 | Cide | so register UNIT_AURA or PLAYER_AURAS_CHANGED |
16:47.47 | Miravlix | since I have no other way of knowning than to tooltip scan them and compare them to a stored |
16:47.51 | Maldivia | Ktron: 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.52 | Miravlix | We are talking UnitBuff |
16:47.54 | Miravlix | not self |
16:47.58 | Cide | so UNIT_AURA |
16:48.23 | Ktron | Maldivia, so it's better to use the former statement, since ITEM_QUALITY_COLORS is being outdated |
16:48.24 | Miravlix | But thats besides the point |
16:48.32 | Miravlix | Can't we focus on the issue at hand here |
16:48.32 | *** join/#wowi-lounge Adrine (n=Adrine@208.187.119.42) |
16:48.39 | Cide | I'm trying to |
16:48.42 | Miravlix | thant rying to correct psedo code to illustrate it |
16:48.43 | Maldivia | Ktron: don't know - personally I use the function |
16:49.00 | Miravlix | It doesn't take much work in an OnUpdate before it has a system impact |
16:49.02 | Cide | but you're saying onupdate is bad because it causes slowdown, but I doubt it will if the code is fast |
16:49.11 | Miravlix | with 30-50 addons it quickly adds up |
16:49.15 | Ktron | Maldivia, alright, I'll stick with the former then... Thanks Maldivia |
16:49.22 | Cide | limit it to 1 check per X seconds then |
16:49.51 | Miravlix | Just registering an empty onupdate cost the system |
16:50.00 | Cide | yes, naturally |
16:50.15 | Cide | but computers are not really "slow" |
16:50.16 | Maldivia | most of my OnUpdates are limited to run every x ms or so |
16:50.41 | Miravlix | Yeah and everyone elses is limited to run too |
16:50.50 | Miravlix | Problem is when alll 50 onupdates run at the same time |
16:51.08 | Miravlix | Because they all use some event that triggered, etc. |
16:51.11 | Cide | not an issue if it's simple mathematics |
16:51.25 | Cide | ie adding arg1 to a variable 90% of the time |
16:51.54 | Miravlix | Scanning a tooltip was our worst case code |
16:52.04 | Cide | scanning a tooltip is slow, I have to agree |
16:52.13 | Miravlix | There is operation with a significant less impact |
16:52.26 | JoshBorke | morning Cairenn |
16:52.39 | Cairenn | hey :) |
16:52.42 | Miravlix | But even a = a + 1 is something |
16:52.46 | Cide | what I'm trying to say is, the usage of onupdate itself is not BAD, it's just bad if used incorrectly |
16:52.48 | Maldivia | scanning a tooltip isn't slow, nothing you'll notice... scanning 1000 tooltips you will notice though |
16:52.51 | Cide | well, give me a break there |
16:53.05 | Miravlix | And when you pool a big UI together, the small becomes a flash flood |
16:53.14 | Ktron | I 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.15 | Cide | a = a + 1 is *something*, but this is a computer |
16:53.36 | Maldivia | Ktron: not possible |
16:53.44 | Ktron | Maldivia, didn't it used to be possible? |
16:53.49 | Miravlix | We bascially have a very limited number of operations that WoW can handle pr. second |
16:54.05 | Maldivia | Ktron: you could, prior to 1.10, make liks to *.worldofwarcraft.com/* |
16:54.06 | Miravlix | It's way to easy to bump your head against this limit and create problems |
16:54.22 | Maldivia | Ktron: perhps other Blizzard sites aswell |
16:54.25 | Ktron | Maldivia, ah... oh well |
16:54.55 | *** join/#wowi-lounge Adrine (n=Adrine@208.187.119.42) |
16:55.10 | Ktron | Maldivia, 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.11 | Miravlix | Adding SetOwner to castoptions was all it took before it killed FPS |
16:55.28 | Cide | every frame? |
16:55.30 | Maldivia | Ktron: Yeah |
16:55.52 | Miravlix | Cide: CastOptions runs faster than OnUpdate. :) |
16:56.03 | Cide | so that's not a very smart thing to do. |
16:56.16 | Miravlix | Thats Blizzards fault |
16:56.20 | Miravlix | they wrote the UI that way |
16:56.23 | Cide | there are quite a few ways to cause FPS slowdown |
16:56.26 | Maldivia | Ktron: 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.29 | Miravlix | It generates one on update calls |
16:56.38 | *** join/#wowi-lounge Shouryuu|Schizo (n=Shouryuu@97.239.97-84.rev.gaoland.net) |
16:56.38 | Miravlix | that result in flash flood of function calls |
16:56.48 | Gryphen | hmm, why am i not seeing CO lag? |
16:56.51 | Shouryuu|Schizo | hello |
16:56.54 | Cide | I think think that's besides the point |
16:56.57 | JoshBorke | hello Shouryuu|Schizo |
16:56.59 | Miravlix | Gryphen: We fixed it? |
16:57.05 | Ktron | Maldivia, hm, that would greatly simplify what I'm trying to do, I'll try to find it |
16:57.07 | Gryphen | I havent ever seen any |
16:57.09 | *** part/#wowi-lounge Shouryuu|Schizo (n=Shouryuu@97.239.97-84.rev.gaoland.net) |
16:57.16 | Cide | onupdate is bad if it's coded bad, I can bet that you can have *a lot* of empty onupdates |
16:57.18 | Miravlix | Cide: 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.40 | Miravlix | and they get called an insane number of times pr. onupdate |
16:57.47 | Cide | why would you do that? |
16:57.56 | Miravlix | It easily breaks 200-300K function calls pr. 30 seconds |
16:58.05 | Miravlix | To make it work? |
16:58.24 | Miravlix | We hook useaction spellcast and all that to create the features CO gives the user |
16:58.25 | Cide | so you need 8.3k function calls a second? |
16:58.46 | Miravlix | And the BLIZZARD UI calls the hooked function that fast |
16:59.15 | Cide | what exactly does this function do? |
16:59.26 | Miravlix | UseAction? |
16:59.40 | Miravlix | It uses a button in the UI |
16:59.42 | Cide | no, the function you're calling |
16:59.48 | Cide | I'm familiar with UseAction |
16:59.50 | Miravlix | I'm not calling anything |
16:59.53 | Miravlix | I'm the one being called |
17:00.10 | Miravlix | I do useaction = myfunction |
17:00.22 | Cide | so what are you doing in the new useaction function? |
17:00.30 | Miravlix | Then the UI decides to call me 100-200K times pr 30 seconds |
17:00.31 | Cide | (assuming that is the one being called 8.3k times per second) |
17:01.17 | Miravlix | CastOptions provides a million features, like smart rank, smart cast, smart whatever |
17:01.43 | Miravlix | targettarget assist |
17:01.53 | Cide | why can't you set a threshold? for example, limit it to X calls per second |
17:02.21 | Miravlix | Because you can't not perform a UseAction call or the tohers when the UI request it |
17:02.40 | Miravlix | could you just ignore a chat_msg_monster Knockdown? |
17:02.40 | Cairenn | Cide: http://forums.worldofwarcraft.com/thread.aspx?fn=wow-interface-customization&t=348527&p=1&tmp=1#post348527 |
17:02.54 | Cide | you lost me |
17:03.05 | Miravlix | CT Raid Assist can't just ignore things going on |
17:03.11 | Miravlix | It has to react to them too |
17:03.28 | Cide | correct |
17:03.32 | Cide | but it uses events |
17:03.41 | Miravlix | And I uses hooks |
17:03.49 | Miravlix | The difference isn't really that big |
17:03.52 | Cide | I still don't get why you can't limit it |
17:03.55 | Miravlix | I only do something when requested |
17:04.05 | Cide | why do you need to compute the same thing 8.3k times a second, though? |
17:04.18 | Miravlix | So I should just skip every third UseAction call? |
17:04.36 | Miravlix | Oops sorry we skipped that the user cast flash heal |
17:04.40 | Cide | are you passing it to the default UseAction at all? |
17:04.52 | Miravlix | Yeah after modifying things |
17:05.16 | Cide | I figured |
17:05.18 | Shouryuu|Schizo | cool http://www.naturalpoint.com/trackir/ |
17:05.24 | Cide | you could either pass it straight on to it |
17:05.33 | Cide | and compute only X times/second and save the result |
17:05.44 | Cide | and pass it without calculating next time |
17:05.45 | Miravlix | And how do I decide that I should ignore the UseAction call? |
17:05.54 | Cide | don't |
17:06.00 | Cide | compute it and save it for X seconds |
17:06.08 | Miravlix | You can't save UseAction man |
17:06.15 | Cide | what are you modifying? |
17:06.28 | Miravlix | Smart Rank, chaning to self casting instead of on target |
17:06.33 | Miravlix | alt key down cast self |
17:06.44 | Miravlix | Change the rank to a lower one when the target isn't high enough |
17:06.46 | Cide | you hardly need that 6.3k times a second |
17:06.56 | Miravlix | Thats NOT my decission |
17:07.02 | Cide | it could be |
17:07.04 | Miravlix | it's the UI's decission to call the function calls |
17:07.16 | Cide | save alt key state, target level (max rank for skills) |
17:07.17 | Miravlix | And I need to check them ALL to see if I need to modify them |
17:07.40 | Cide | basically |
17:07.45 | Miravlix | No not basically |
17:07.55 | krka | instead of hooking UseAction, can't you just provide your own button? |
17:07.59 | Miravlix | Because it's the UI that decides to do those INSANE calls |
17:08.02 | Cide | right |
17:08.17 | Cide | so you outsmart the UI by saving the stuff you need |
17:08.17 | Miravlix | I have to check every single one to find the ones I change |
17:08.21 | Cide | calculate it in advance and store it |
17:08.27 | krka | why would the UI call UseAction 6.3k times a second? |
17:08.38 | Cide | reduce function calls to a minimum |
17:08.51 | krka | UseAction is only called by user |
17:09.02 | Miravlix | It calls the functions that CastOptions hooks 100-200K times pr. 30 seconds |
17:09.26 | Miravlix | The primary things is Button updates |
17:09.38 | krka | button updates? |
17:09.51 | *** join/#wowi-lounge malreth (n=malreth@cpe-72-177-88-84.austin.res.rr.com) |
17:10.01 | Miravlix | yes, we color buttons based on range |
17:10.47 | Miravlix | We hook, UseAction, useContainerItem, CastSpell, CastSpellByName, AttackTarget, CastPetAction, ActionButton_UpdateUsable, etc. |
17:11.03 | Cide | you don't have to update them for all of those |
17:11.06 | malreth | omg... onyxia now shoots lazers every 10 seconds! |
17:11.14 | JoshBorke | malreth: lol |
17:11.16 | krka | no such thing as a lazer! |
17:11.21 | L|Elviso | and that's only phase 1! |
17:11.22 | Miravlix | SpellTargetUnit, TargetUnit, ClearTarget, etc. |
17:11.32 | krka | Light |
17:11.33 | krka | Amplification |
17:11.33 | krka | by the |
17:11.33 | krka | Stimulated |
17:11.33 | krka | Emission |
17:11.34 | krka | of |
17:11.34 | JoshBorke | at 20% she despawns and says something like "it is not my time" |
17:11.36 | krka | Radiation |
17:11.36 | Cide | update action range during ActionButton_Update |
17:11.40 | Cide | er |
17:11.44 | Miravlix | No I only update buttons when updatebutton is called |
17:11.46 | Cide | ActionButton_UpdateUsable |
17:11.55 | malreth | krka: i know.. |
17:11.58 | Miravlix | But all in all it creates 200K calls |
17:12.00 | Cide | update range there, not for every call |
17:12.06 | Miravlix | and 200K calls costs |
17:12.14 | Cide | only if they are really costy |
17:12.15 | krka | update action range? just do that on update |
17:12.17 | Cide | sure, it still costs |
17:12.39 | Miravlix | Uhh, you don't understand at all |
17:12.48 | Miravlix | I don't have ONE BIG FUNCTON that all these hooks is sent to |
17:12.52 | krka | why would you need to hook UseContainerItem? |
17:12.58 | Cide | then I would suggest that you split it up |
17:13.00 | krka | You don't want to drink that potion, dave... |
17:13.13 | Miravlix | Cide: Split it up where? |
17:13.26 | Cide | OneSmallFunction_UpdateRange, hooking ActionButton_UpdateUsable |
17:13.29 | Miravlix | The UI is still going to run the code no matter if I put it in 100 addons |
17:13.29 | krka | first: why do you need to hook those? |
17:13.39 | Miravlix | wtf are you smoking |
17:13.46 | Miravlix | I just said we don't use ONE BIG FUNCTIOn |
17:13.51 | Cide | oh, sorry |
17:13.54 | Cide | I read "I have" |
17:14.08 | Miravlix | Each function is *tailor made* to just do the job it needs |
17:14.25 | krka | i wish i could get a tailor for my addons :( |
17:14.26 | Miravlix | if it did more than that Co wouldn't work at all, we need extreamly good code |
17:14.45 | Miravlix | to avoid FPS slowdowns |
17:14.51 | Cide | 8.3k calls per second might be unavoidable |
17:15.02 | Cide | I would think that it isn't, but if you say it is, ok then |
17:15.04 | Miravlix | No |
17:15.10 | Miravlix | Just tell blizzard to get a clue |
17:15.17 | Miravlix | and stop generating all those calls |
17:15.22 | Cide | calls aren't bad per say |
17:15.26 | Cide | costy calls might be worse |
17:15.33 | Miravlix | The UI generates INSANE number of function calls pr. second |
17:15.42 | Miravlix | I just catch 8.3K of them with 20 hooks |
17:15.51 | Maldivia | Miravlix: a quick look at CastOptions.CastSpellByName, I noticed something: --Trim off any trailing () |
17:16.04 | Miravlix | ? |
17:16.15 | Maldivia | Miravlix: what about CastSpellByName("Create Healthstone (Greater)()") |
17:16.31 | Maldivia | if you trim the trailing (), it will no longer work |
17:16.49 | Miravlix | No idea. Mugendai wrote CastOptions. |
17:16.50 | Cide | Miravlix: 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.13 | Maldivia | Miravlix: well, the pass it on |
17:17.14 | Miravlix | It is a measure of the flash flood function call structure of the UI |
17:17.21 | Cide | right |
17:17.26 | Miravlix | and that it could be cleaned up a bit so it doesn't go nuts like this |
17:17.28 | Cide | but that doesn't tell me anything |
17:17.36 | Miravlix | We don't need to get called 8.3K times pr second |
17:17.46 | Cide | which function is called so often? |
17:18.06 | Cide | if 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.11 | Miravlix | It's all of them combined, I don't have numbers for individual functions |
17:18.23 | Cide | then get the numbers |
17:18.26 | Cide | chances are it's ActionButton_UpdateUsable |
17:18.35 | Miravlix | Why? |
17:18.41 | Miravlix | It doesn't change my point |
17:18.47 | Cide | it's called by all action buttons |
17:18.50 | Cide | yes, it might |
17:18.51 | Miravlix | that you have to be darn carefull with your code |
17:19.17 | Cide | number of calls doesn't mean a lot if you don't know what they do |
17:19.19 | Miravlix | I also suspect that UpdateUsable is one of the really bad ones |
17:19.28 | L|Elviso | is there any way to make a fontstring wrap? |
17:19.42 | Miravlix | I don't need to know everything the UI does |
17:19.53 | Miravlix | to know that there is certain issues with the UI |
17:20.04 | Cide | perhaps |
17:20.19 | Cide | but saying onupdate is bad is an exaggeration, in my opinion |
17:20.41 | Cide | it's bad if it's used incorrectly, such as the action button code |
17:21.03 | Miravlix | It's not a good system due to the way it's implemented in WoW and that it cost FPS |
17:21.10 | Cide | how do you know that it costs FPS? |
17:21.14 | Cide | if you don't know what the functions do |
17:21.27 | Miravlix | Because WoW is serial |
17:21.39 | Cide | I know it DOES cost fps, but how much? |
17:21.41 | Miravlix | We know that for everything the UI does WoW can't update the graphics |
17:23.03 | Miravlix | As long as your concercerned about even the tiniest bit of cost in your addons then my point has gotten across |
17:23.35 | Miravlix | We all need to be fanatics about it to make the WoW addon system work |
17:24.06 | Miravlix | The less people that care, the worse things get with more addons |
17:24.44 | Cide | I think my point still applies |
17:25.01 | Cide | onupdate is bad if it's coded bad, not otherwise |
17:25.22 | Miravlix | OnUpdate is just bad because of the way WoW has implemented the UI |
17:25.29 | Cide | onupdate isn't bad |
17:25.34 | Miravlix | Just registering it is bad |
17:25.38 | Cide | no it's not |
17:25.42 | Gryphen | ugh |
17:25.44 | Miravlix | But it's a badness we have to live with |
17:26.25 | Cide | the 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.38 | krka | i agree with cide |
17:26.54 | Miravlix | But 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.10 | Cide | that would be a flaw in their knowledge :) |
17:27.30 | Miravlix | A year ago we all did mind numbingly stupid with the Lua memory model |
17:27.38 | Miravlix | because we didn't know we had to care |
17:27.47 | Cide | yes |
17:27.50 | krka | speak for yourself :P |
17:27.54 | Cide | I know I did :) |
17:28.20 | Cide | but still, you can't say a system is flawed if the users can't use it properly |
17:28.46 | Miravlix | The system is flaws both for us that can use it propperly and for those who easily use it badly |
17:28.56 | Cide | how come? |
17:28.56 | krka | i tend to avoid addons that are coded badly so i don't care |
17:29.02 | krka | and yes, i do look at the code |
17:29.05 | Cide | it works fine when people use it correctly |
17:29.45 | Miravlix | 50 addons all using OnUpdate the best possible way they can. |
17:29.53 | Miravlix | Still is an issue for the UI |
17:29.54 | Cide | is fine |
17:30.19 | Cide | sure, it could be a source of slowdown |
17:30.29 | Cide | but if it's "the best possible way they can", it won't be noticable in the long run |
17:30.31 | Miravlix | 50 addons all working together through say a library to use OnUpadate isnt as bad as 50 addons solo put together |
17:30.46 | Cide | possibly. |
17:30.55 | krka | i doubt that |
17:31.19 | Cide | it depends |
17:31.20 | krka | the library would have to be more efficient than the blizzard dispatch code |
17:31.45 | Miravlix | Thats easy, just remove all duplicate code in the 50 OnUpdate handlers |
17:31.49 | Miravlix | and you instantly have a gain |
17:31.53 | Maldivia | lol |
17:32.11 | Cide | assuming the duplicate code is a threshold to limit calls/second |
17:32.29 | Cide | that might help, but will it be noticable? hardly |
17:32.57 | Miravlix | It is noticeable |
17:33.22 | Cide | 49 calls of this.update = this.update + arg1 won't make a difference |
17:33.23 | Maldivia | and how will you go abour removing duplicate code? |
17:34.30 | Miravlix | Like it has been done for the past I don't know 30 years? With libraries |
17:34.53 | Maldivia | the 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.12 | Miravlix | But the coders keep having this obession with no dependencies |
17:35.28 | Miravlix | Resulting in us hitting the roof far earlier than we otherwise would |
17:35.28 | Cide | more importantly, the users |
17:35.34 | Cide | hitting the roof? |
17:35.40 | Cide | I don't know about a roof :) |
17:36.08 | Miravlix | The roof is the limit for how much the UI can do before it breaks the GFX engine |
17:36.17 | Miravlix | or impacts the GFX engine |
17:36.28 | Cide | anything impacts it |
17:37.14 | Cide | but still |
17:37.32 | *** join/#wowi-lounge duke|ib (i=dukeku@c-67-160-162-146.hsd1.or.comcast.net) |
17:37.39 | Cide | it's the code that's run that causes the slowdown, not the dispatch code or the system |
17:38.15 | Miravlix | The design of the system means we get a very limited number of operations pr. second the UI can handle |
17:39.08 | Cide | I still disagree |
17:39.10 | Miravlix | Take the best darn addons out there and put them together and the impact is to high. |
17:39.13 | Cide | why are calls per second important? |
17:39.18 | Cide | it's the speed of the calls that matters |
17:39.27 | duke|ib | yup |
17:39.31 | Miravlix | I said operations pr. second |
17:39.32 | Cide | if the calls are slow, then your impact will be much greater |
17:39.39 | Cide | right |
17:39.41 | duke|ib | although calls per second could be considered completed calls per second |
17:39.45 | duke|ib | not just calls made/second |
17:39.56 | Cide | but if you have a slow function call |
17:40.16 | Cide | that's generally from an increased number of operations, no? |
17:40.32 | duke|ib | can be |
17:41.00 | Cide | I don't see how the system causes a limited number of operations |
17:41.19 | Miravlix | The second the user loss FPS thats your limit |
17:41.36 | Cide | that doesn't have to do with calls per second, again |
17:41.38 | Miravlix | When they loss FPS they can't raid or PvP because they loss control of there char |
17:42.05 | Wobin_ | what's the interface number for 1.10 now? |
17:42.11 | Miravlix | 11000 |
17:42.15 | Wobin_ | ta |
17:42.20 | Miravlix | 1.10.00 |
17:42.41 | duke|ib | clever |
17:42.47 | Miravlix | Seems to be there new standard |
17:44.04 | Ktron | makes sense |
17:44.14 | Miravlix | How else would you define how much work we can do in the UI before we do to much? |
17:44.18 | Ktron | why wouldn't you use a standard interface number that matches the patch? |
17:44.46 | Miravlix | They don't upgrade the UI with 1.10.01 |
17:45.06 | Ktron | so don't change the number then |
17:45.08 | Cide | the speed of the calls, not the quantity |
17:45.09 | Miravlix | 11001 wont exist as UI version, just as a ptach |
17:45.33 | Miravlix | Ktron: Don't change the numbers? |
17:45.34 | Ktron | let the interface number match the most recent patch that changed the UI |
17:45.35 | Gryphen | unless there are significant ui changes |
17:45.42 | Miravlix | Uuh, I don't work for Blizzard and decide what number it is |
17:45.45 | Cide | the time it takes to call a function pales in comparison to any operations it does |
17:46.06 | Miravlix | I don't agree |
17:46.17 | duke|ib | blah, autobuff you will be missed ;_; |
17:46.25 | Miravlix | changing a function from global to local gives a valuable advantage sometimes |
17:46.52 | Miravlix | duk: Em is just lazy, we already have work arounds that would make AB work |
17:46.54 | Cide | it might with your 8.3k per seconds |
17:46.59 | Cide | but for your average function, it's nothing |
17:47.10 | Miravlix | Now your back to one UI one addon |
17:47.13 | duke|ib | Miravlix: i just miss having detect traps always put up on my rogue =P |
17:47.17 | Miravlix | It's NOT my 8.3K |
17:47.18 | Cide | it's the same |
17:47.20 | Miravlix | It's 170 addons |
17:47.28 | Miravlix | That all generates functions calls |
17:47.28 | duke|ib | that should be a damn tracking ability like hunters have |
17:47.34 | Cide | the speed to call speed ratio is the same |
17:47.42 | Miravlix | So lets say they do 100 calls |
17:47.55 | Miravlix | if all 100 calls is local instead of global that is a DIFFERENCE |
17:48.12 | Cide | aye |
17:48.18 | Cide | but let's call the time taken t |
17:48.24 | Miravlix | I'm profiling the GLOBAL UI |
17:48.32 | Cide | which gives t = n(callSpeed + functionSpeed) |
17:48.32 | Miravlix | Not indivdual addons |
17:48.44 | Cide | the ratio callSpeed / functionSpeed will be the same regardless of n |
17:49.02 | Miravlix | Combine it all and even the tiniest speed improvment suddently matters |
17:49.13 | Cide | but nothing compared to optimizing functionSpeed |
17:49.26 | Miravlix | Because it will be a tiny speed improvment in 170 addons |
17:49.43 | Miravlix | so it's 170*tiny = BIG HUGE FREAKING SPEED difference |
17:50.15 | Miravlix | Everything we to is mutiplied in effect |
17:50.18 | Cide | yes |
17:50.27 | Miravlix | Either due to the UI itself calling is like nuts |
17:50.30 | Cide | but how fast is exactly a function call? |
17:50.36 | Cide | this is a modern computer, it doesn't take that long |
17:50.38 | Miravlix | or because of the number of opeartion totally |
17:50.57 | Miravlix | It takes 0.0003ms |
17:51.17 | Cide | and how long does the actual function take? |
17:52.08 | Miravlix | Just the difference between using local functions and global in 170 addons |
17:52.08 | Cide | no no |
17:52.08 | Miravlix | is a matter of many ms |
17:52.08 | Cide | the code executed |
17:52.13 | Miravlix | You wont reconice that the function call itself has a speed factor |
17:52.30 | Miravlix | before we even do anything in the function the system has lost time |
17:52.42 | Cide | time, yes. |
17:52.45 | Cide | how much time? not much |
17:53.14 | Miravlix | not much * 100 = much |
17:53.21 | Cide | perhaps |
17:53.24 | Cide | but does that matter? |
17:53.36 | Miravlix | Yes, thats why we loss FPS |
17:53.37 | Cide | optimizing the function itself would give a MUCH huger advantage |
17:53.42 | Cide | hardly |
17:53.49 | Legorol | So, I've been playing around with tooltips, trying to understand them completely |
17:53.50 | Cide | you lose fps from slow functions |
17:54.02 | Legorol | Miravlix, you had a case where calling SetOwner(this, "ANCHOR_NONE") didn't work |
17:54.07 | Legorol | what case was that? |
17:54.15 | Cide | that was me |
17:54.17 | Miravlix | BuffBot 2.35g |
17:54.24 | Cide | well, I had one too |
17:54.27 | Legorol | ok, in what sense did it not work? |
17:54.35 | Cide | I called it onload |
17:54.38 | Legorol | were you unable to set the contents of the tooltip? |
17:54.41 | Miravlix | Cide's is worse, his setowner vanish on him in one case |
17:54.57 | Legorol | Cide: you are calling it in OnLoad of the tooltip itself? |
17:55.02 | Legorol | does your tooltip have a parent specified in XML? |
17:55.06 | Miravlix | Mine just never worked, because this was wrong I guess |
17:55.09 | Cide | <GameTooltip name="CT_RATooltip" inherits="GameTooltipTemplate" parent="WorldFrame" hidden="false"> <Scripts> <OnLoad> this:SetOwner(WorldFrame, "ANCHOR_NONE"); </OnLoad> </Scripts> </GameTooltip> |
17:55.23 | Cide | works for every other tooltip I've used |
17:56.33 | Miravlix | Anything special about the functions you use the tooltip from? |
17:56.40 | Cide | not really |
17:56.50 | Legorol | Miravlix: i have played around a lot with SetOwner |
17:56.53 | Cide | they call SetUnitBuff(unit, num) and SetUnitDebuff(unit, num) |
17:57.00 | Legorol | turns out if you have ANCHOR_NONE, then it doesn't matter at all who you specify in SetOwner |
17:57.05 | Legorol | it's always taken to be UIParent |
17:57.14 | krka | yay, wrote my first bosspanel plugin |
17:57.15 | Miravlix | huh |
17:57.18 | Legorol | so having "this" as the Owner shouldn't be the real reason |
17:57.26 | Miravlix | SetOwner(This "ANCHOR_NONE") doesn't work |
17:57.33 | Legorol | that's why i'm so curious about that case |
17:57.36 | Miravlix | SetOwner(UIParent, "ANCHOR_NONE") works |
17:57.48 | Legorol | in BuffBot 2.35g? |
17:57.53 | Miravlix | Yes |
17:58.01 | Legorol | ok, i will try that too, very curious |
17:58.12 | Legorol | in 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.04 | Miravlix | line 471 of BuffBot.lua is where I added SetOwner |
17:59.17 | Miravlix | It's a bad place to do it, but BuffBot only does stuff on keypress |
17:59.26 | kaiden | Hey 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.30 | kaiden | anyone remember the name for it? |
18:00.19 | Miravlix | BarOptions from Cosmos adds keybind indicator to the buttons |
18:00.19 | Legorol | Miravlix thanks, i'll try |
18:00.23 | Legorol | did you have any custom modifications to 2.35g? |
18:00.40 | Miravlix | No that is the change on a freshly unpacked 2.35g |
18:01.13 | Legorol | ok |
18:01.34 | Miravlix | Only other change is updating Priest spells in BuffBotData.lua |
18:02.00 | Legorol | I don't have a copy of 2.35g, only 2.35p |
18:02.09 | Legorol | usual sites only have 2.35p :/ |
18:02.14 | Legorol | could you send me a copy of 2.35g? |
18:02.36 | Miravlix | Oh wait it is p |
18:02.44 | Legorol | ok |
18:02.51 | Legorol | then i got it :-) |
18:17.01 | *** join/#wowi-lounge groll (n=hepp@62.119.159.41) |
18:17.39 | L|Elviso | so what would be the LUA equivalent of 'break' ? |
18:18.15 | ckknight | break |
18:18.38 | L|Elviso | i tried that and got an error |
18:19.00 | Cide | it's just "break;" and not "break();" if that's what you tried |
18:19.01 | ckknight | what error? |
18:19.14 | ckknight | no semicolon needed, Cide |
18:19.18 | Cide | I know |
18:19.28 | Cide | I still use them, and will continue to do so :) |
18:19.33 | ckknight | why? |
18:19.38 | Cide | I find it easier to read |
18:19.39 | L|Elviso | "no loop to break" |
18:19.54 | ckknight | yea, you can only break in a loop |
18:19.55 | Cide | and it is, in fact, required for some statements |
18:20.06 | JoshBorke | L|Elviso: you can only break in a loop, you can return from functions |
18:20.08 | ckknight | Cide, only one I can think of |
18:20.11 | ckknight | a(b)(c)(d) |
18:20.17 | ckknight | outside of that, what is there? |
18:20.26 | L|Elviso | erm, when I return, it process the rest of the function... |
18:20.28 | Cide | iriel had one, but I forgot what it was |
18:20.36 | ckknight | pastebin your code |
18:20.38 | Cide | had to do with expressions split up on newlines |
18:20.39 | L|Elviso | and I do have an 'end' after the break |
18:20.42 | groll | Legorol sorry to bother again but are you around? :D |
18:20.47 | Cide | split up into several lines, that is |
18:21.39 | *** join/#wowi-lounge Qzot (n=nickell@sandbox.xerox.com) |
18:21.42 | L|Elviso | http://wow.pastebin.com/631194 |
18:22.09 | L|Elviso | I realize I could just encapsulate the rest of the fn() inside an else, but I don't like that way |
18:22.27 | ckknight | yea, you'd use return in that case, not break |
18:22.35 | ckknight | break gets you out of loops, return gets you out of functions |
18:22.40 | L|Elviso | but.....it keeps processing |
18:22.56 | L|Elviso | sec let me dbl check |
18:23.00 | ckknight | then that means userLink ~= nil |
18:24.56 | L|Elviso | maybe I'm missing something |
18:25.13 | ckknight | likely |
18:25.19 | L|Elviso | but it then errors on line 10 saying that "itemlink is nil" |
18:25.39 | ckknight | userLink ~= itemLink |
18:26.10 | Qzot | iLink vs. itemLink vs userLink |
18:26.24 | L|Elviso | hehe |
18:26.53 | Qzot | You prolly mean "userLink" there, since of iName==nil, prolly iLink==nil. |
18:27.27 | ForgottenLords | is Curse usuall down this long? |
18:27.41 | ForgottenLords | usually |
18:27.50 | L|Elviso | Qzot, yes |
18:27.57 | L|Elviso | however, still having a prb |
18:29.36 | L|Elviso | if 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.53 | Qzot | I would have guessed "", myself. |
18:30.20 | L|Elviso | perhaps that is it |
18:31.24 | L|Elviso | I owe you all....a Dr. P. |
18:31.28 | L|Elviso | that gotit |
18:31.53 | Qzot | I 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.51 | L|Elviso | is that addressed to me? |
18:37.49 | Qzot | Yes. You can get rid of a check. |
18:37.53 | L|Elviso | I'm not sure how to apply that |
18:38.21 | L|Elviso | simply take the check out? |
18:38.33 | Qzot | Delete lines 14 and 16 in your pasted code. Leave ChatEditFrameBox:Show() |
18:38.39 | Qzot | Yup. |
18:38.50 | Qzot | Always do the Show, whether it's currently visible or not. |
18:38.53 | L|Elviso | alrighty, sorry....Dr. P hasn't kicked in yet :) |
18:38.59 | L|Elviso | I gotcha. |
18:39.16 | Qzot | Hmm. 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.21 | Qzot | Are you asking someone to type in a link, a la "132:0:0:0"?? |
18:42.31 | L|Elviso | no, have you ever seen the original ItemMagic? |
18:42.49 | Qzot | Nope. |
18:42.53 | L|Elviso | well, you COULD type in x:y:z:a |
18:43.00 | L|Elviso | but it will accept simply x |
18:43.44 | L|Elviso | The user is expected to search for the item # on Allakhazam. |
18:44.13 | Qzot | Really?? The API doesn't mention that as legal input to GetItemInfo. |
18:44.55 | L|Elviso | I can upload the full addon if you want to look at it, it's 99% compete |
18:44.58 | L|Elviso | *complete |
18:45.11 | Qzot | Sec. |
18:48.17 | Qzot | http://wow.pastebin.com/631238 |
18:49.51 | L|Elviso | I'm not too good at reverse-engineering regex, what exactly does that do |
18:50.45 | Qzot | Actually, there should be a pair of parens just inside the quotes. I'll resend... |
18:51.08 | Qzot | But it looks for ddd:dd:d:dd, etc. |
18:51.23 | Qzot | But makes anything after the first set of digits optional. |
18:51.45 | L|Elviso | how would that improve what I have now? |
18:52.04 | Qzot | But it should read "(%d+:?%d*:?%d*:?%d*)" |
18:52.39 | Qzot | Would generate a call of the form GetItemInfo("item:foobar") |
18:52.43 | Qzot | *Wouldn't |
18:53.00 | Qzot | Would tolerate a space before the first digit. |
18:53.01 | Miravlix | I 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.18 | Qzot | Would tolerate crap after the item id. |
18:54.24 | L|Elviso | I see. I guess it could be handy for the space situation, but GetItemInfo fails very gracefully |
18:54.32 | L|Elviso | i.e. doesn't disconnect you |
18:54.34 | Qzot | True enough. |
18:54.53 | Qzot | Actually, excellent point. |
18:55.11 | Qzot | It opens open another possibility. |
18:55.14 | L|Elviso | that's why I made this, to query for AQ items, but not get disconnected if one hadn't been seen. |
18:56.09 | Qzot | Do you really care about having 2 separate error messages for blank, versus not recognizing the item? |
18:56.37 | Qzot | If not, get rid of the first 5 lines, and replace line 8 with... |
18:57.58 | Qzot | local iName, iLink, iRarity = GetItemInfo("item:" .. ItemMagicEdit:GetText()); |
18:59.40 | L|Elviso | yeah I suppose the blank error msg is overkill |
19:01.06 | Qzot | http://wow.pastebin.com/631268 |
19:01.16 | Qzot | But you actually still need userLink |
19:01.44 | L|Elviso | that's pretty similiar to what I had just made |
19:02.03 | Qzot | hehe |
19:02.12 | L|Elviso | http://wow.pastebin.com/631269 |
19:03.12 | Qzot | Yup. |
19:03.36 | L|Elviso | Know any foreing languages? :) |
19:03.47 | L|Elviso | *foreign |
19:03.51 | Qzot | Two. |
19:04.32 | Qzot | Three, figuring that English is foreign to most people in the world. :P |
19:04.39 | L|Elviso | heh |
19:05.12 | Tain | I know Lua, and C, and C# and.. |
19:05.19 | JoshBorke | Tain: lol |
19:05.41 | Qzot | Bah. 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.58 | Qzot | Not, APL, otoh... |
19:05.59 | *** join/#wowi-lounge zeeg (n=wguru@67.63.84.143) |
19:06.07 | Qzot | Or Fortran... |
19:06.10 | Tain | Nah, I'd say VB.NET and C# are dialects of the same language. |
19:06.12 | JoshBorke | oh noes, ace forums have been nerfed... |
19:06.21 | Shouryuu|Schizo | humm how do I leave a memo to someone? |
19:06.52 | Cairenn | Ace and CT are on the same server, and both are getting slammed with patch week insanity, thus ... =/ |
19:07.01 | JoshBorke | did you try /memoserv send <nick> <stuff> |
19:07.12 | Shouryuu|Schizo | nope,that;s what I wanted to know :P |
19:07.13 | JoshBorke | Cairenn: i just mean the new layout :D |
19:07.18 | Cairenn | ah |
19:07.37 | Cairenn | that I can't speak to ;) |
19:08.07 | Shouryuu|Schizo | great |
19:08.16 | [MoonWolf] | you dont like our new forums JoshBorke ? |
19:08.29 | Legorol | Cide, are you around? |
19:08.30 | JoshBorke | [MoonWolf]: i liked the old one better because all the text was smaller :-) |
19:08.34 | Cide | yes |
19:08.42 | Shouryuu|Schizo | nick Shouryuu |
19:08.47 | Legorol | i was trying to reproduce your tooltip issues and i can't |
19:08.47 | L|Elviso | So Qzot, were you volunteering for some localizations? :) |
19:08.53 | Legorol | i am trying with this tooltip: |
19:08.54 | Legorol | <GameTooltip name="CT_RATooltip" inherits="GameTooltipTemplate" parent="WorldFrame" hidden="false"> <Scripts> <OnLoad> this:SetOwner(WorldFrame, "ANCHOR_NONE"); </OnLoad> </Scripts> </GameTooltip> |
19:09.00 | Legorol | what 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.15 | Legorol | i.e. which SetX method do you use on it? |
19:09.15 | Cide | try hidden="true", I had that at first, but changing it didn't seem to do any difference |
19:09.28 | Cide | SetUnitDebuff("raidX", 1) |
19:09.38 | Legorol | i have tried both hidden=true/false |
19:09.39 | Cide | well, 1 is varying but you get the point |
19:09.45 | Legorol | right |
19:09.48 | JoshBorke | [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.58 | Legorol | do you know an easily reproducible way for me to test debuffs? |
19:10.03 | Legorol | it's not that easy getting one on myself.. |
19:10.16 | Shouryuu | duel? |
19:10.25 | Cide | I dueled another priest |
19:10.27 | *** join/#wowi-lounge Iriel (n=daniel@adsl-71-158-244-138.dsl.pltn13.sbcglobal.net) |
19:10.35 | Cairenn | hey Iriel :) |
19:10.39 | Iriel | Morning |
19:10.40 | JoshBorke | hello iriel |
19:10.52 | Shouryuu | haloo |
19:11.01 | Iriel | I 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.05 | Iriel | For anyone who cares |
19:11.20 | L|Elviso | Nice, Iriel, thanks. |
19:11.20 | Iriel | (Basically a re-hashing of the conversation between legorol and I last night) |
19:11.21 | kremonte | mmm i got home just in time for iriel to share infos! |
19:12.36 | kremonte | so basically iriel, data collection mods have the most significant overhead increase? |
19:12.42 | Iriel | I've been trying to restrain myself in the interface kit thread |
19:12.48 | Legorol | Cide, what was it that fixed it for you in the end? |
19:12.55 | Iriel | kremonte: Data collection mods that use lots of table entries will have the largest impact, yes |
19:13.05 | Qzot | Elviso: No volunteering here! I was just answering -- politely -- your question about knowing 2 foreign languages. |
19:13.11 | Cide | I added another CT_RATooltip:SetOwner(WorldFrame, "ANCHOR_NONE") right before the SetUnitDebuff call |
19:13.17 | Cide | which I'd rather not do, but ya |
19:13.17 | Iriel | kremonte: Those which bundle data up into moderately sized strings will likely come off much better |
19:13.31 | L|Elviso | Qzot: lol, that's fine. I appreciate your help regardless :) |
19:14.07 | [MoonWolf] | Iriel, nice writeup. |
19:15.20 | kremonte | Iriel: so more table entries is bad? |
19:15.42 | L|Elviso | Free translation work! http://wow.pastebin.com/631293 |
19:15.51 | *** join/#wowi-lounge Suntiger (i=moonwolf@f176182.upc-f.chello.nl) |
19:15.57 | kremonte | a={[b]="a", [c]="b"} opposed to a="b=c, c=b" |
19:16.16 | Shouryuu | L|Elviso want that translated? |
19:16.25 | L|Elviso | Would love it. |
19:16.31 | kremonte | darn you, i wanted to try frenching it :p |
19:16.33 | kremonte | frenchizing* |
19:16.40 | Shouryuu | well go ahead then :P |
19:16.41 | L|Elviso | is that legal? hehe |
19:16.42 | kremonte | get it, frenchizing, franchising? ahahaha. |
19:16.44 | ckknight | L|elviso, instead of having ITEMMAGIC_LOADED = " loaded.", you should have it do ITEMMAGIC_LOADED = "%s loaded." |
19:16.48 | Shouryuu | lol |
19:16.49 | ckknight | then do a format |
19:16.53 | Iriel | kremonte: if you're storing zillions of them, yes, they have quite a heavy overhead |
19:17.03 | L|Elviso | ckknight: what is %s? |
19:17.04 | ckknight | cause some languages may not like it tagged on the end |
19:17.20 | Iriel | kremonte: obviously tables are a lot FASTER than partsing strings tho, so it's the traditional footprint/speed tradeoff |
19:17.24 | ckknight | format(ITEMMAGIC_LOADED, "thing") == "thing loaded." |
19:17.31 | L|Elviso | rgr |
19:17.51 | ckknight | but then you could change ITEMMAGIC_LOADED to somethiing like "Loaded %s." later and not have to change your code |
19:18.15 | kremonte | Iriel: it's nice to get a basic understanding of this; thanks - i'm really really bad at optimizastion |
19:18.19 | kremonte | optimization |
19:18.50 | kremonte | Shouryuu, how do you say loaded? ._. |
19:18.55 | Qzot | For 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.55 | kremonte | chargé? |
19:19.23 | Qzot | *cough* "real *security*" |
19:19.46 | Shouryuu | kremonte Aye |
19:19.47 | ckknight | just make sure you have localized strings stand on their own instead of using them as concatenations |
19:19.56 | kremonte | yay, i guessed something correct! /cheer |
19:20.06 | Shouryuu | lol |
19:20.09 | kremonte | (CS Chargement en cours 4tw) |
19:20.16 | Shouryuu | haha |
19:20.30 | kremonte | ookay, no idea how to say toggle display D: |
19:20.34 | Kirkburn | I should really put myself into 'away' when I'm not here ... have I missed anything? |
19:20.37 | kremonte | this is like free homework |
19:20.42 | Shouryuu | yeah toggle is really hard |
19:20.45 | Shouryuu | there is no french word |
19:20.47 | kremonte | ._. |
19:20.55 | Kirkburn | Le toggle |
19:20.58 | kremonte | display on/off? |
19:21.00 | Shouryuu | looool |
19:21.03 | kremonte | Kirkburn: to toggle, toggler! |
19:21.09 | kremonte | togglre! |
19:21.13 | Kirkburn | :) |
19:21.15 | Shouryuu | yeah, you basicly have to paraphrase |
19:21.19 | Qzot | kremonte: There's an accent mark over the final 'e'. |
19:21.25 | kremonte | Je toggls le switch. |
19:21.26 | kremonte | :D |
19:21.34 | Shouryuu | Qzot He put it :P |
19:21.35 | Legorol | ok I figured out what was wrong with Miravlix's tooltip solution |
19:21.41 | Legorol | now on to Cide's problem |
19:21.49 | Qzot | Hmm. |
19:22.10 | Kirkburn | I figured out the answer to life, the universe and everything. Now onto ClearFont. |
19:22.14 | Legorol | Miravlix (if you are around), you were doing: BuffBotTooltip:SetOwner(this,"ANCHOR_NONE"), but "this" at this point was a nil value |
19:22.24 | Legorol | Kirkburn: weee |
19:22.27 | Shouryuu | I 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.45 | Shouryuu | ahhh |
19:22.49 | Kirkburn | People keep telling me it's broken, I keep telling them it's not. |
19:22.49 | Shouryuu | he scans the tooltip? |
19:23.26 | Miravlix | Leg: But why is this nil in that function, why is that function 'different'? |
19:23.29 | Shouryuu | that seems like it |
19:23.42 | kremonte | Shouryuu: has been = à étè? |
19:24.01 | kremonte | i'm really bad with past tense with être ._. |
19:24.03 | Shouryuu | no ' on the a |
19:24.11 | kremonte | oh. yeah, that's for "at" |
19:24.13 | kremonte | hehe |
19:24.15 | Shouryuu | it's avoit ete |
19:24.15 | Iriel | Why wouldn't you ro |
19:24.16 | Shouryuu | aye |
19:24.22 | Shouryuu | *avoir |
19:24.25 | Iriel | BuffBotTooltip:SetOwner(BuffButTooltip,"ANCHOR_NONE") ? |
19:24.33 | Iriel | this is a really dangerous thing to use randomly |
19:24.40 | Shouryuu | when you can replace the "a" with avoir, then you don't need a ' |
19:24.41 | kremonte | Entrez un 5-digit item # de wow.allakhazam.com\tpour verifier si l'item a étè voir sur ce serveur. |
19:24.43 | kremonte | ^ c'est correct? |
19:25.07 | Shouryuu | voir is wrong |
19:25.17 | kremonte | thought so ._. |
19:25.28 | Shouryuu | you wrote has been see, you need has been seeN |
19:25.28 | kremonte | i'm bad with voir dire lire |
19:25.31 | kremonte | my least favorite |
19:25.38 | Shouryuu | lol actualy me too :P |
19:25.43 | Shouryuu | My french is so bad |
19:25.47 | kremonte | ... |
19:25.54 | kremonte | you ARE french, you sillymuffin |
19:25.56 | Shouryuu | it's a ete vu |
19:25.57 | Shouryuu | lol |
19:25.59 | kremonte | VU |
19:26.01 | kremonte | THATS WHAT IT IS |
19:26.02 | kremonte | ETJLDJGN |
19:26.16 | kremonte | i get that wrong on every exam |
19:26.20 | Shouryuu | lol |
19:27.28 | Shouryuu | you could add a "a deja ete vu" |
19:27.35 | kremonte | deja is evil |
19:27.39 | Shouryuu | lol |
19:27.43 | Tain | I thought Shouryuu was born in like Nebraska or something. |
19:27.50 | kremonte | ._. |
19:27.56 | Shouryuu | the "already" is implied in english, not necessarely in french |
19:27.58 | Shouryuu | New yoorrkK! |
19:28.04 | kremonte | you were born in NY? :O |
19:28.05 | Tain | And he was stolen by gypsies as a baby. |
19:28.08 | kremonte | Shouryuu: another one i always get wrong, on/off? |
19:28.08 | Shouryuu | lol |
19:28.15 | kremonte | Shouryuu: INTERESSANT |
19:28.23 | Shouryuu | here you should put Activer/Desactiver |
19:28.36 | Shouryuu | well here as in a computer context |
19:28.42 | kremonte | ah |
19:28.44 | Shouryuu | otherwise it's Alumer/eteindre |
19:28.45 | Shouryuu | lol |
19:28.47 | kremonte | alumer! |
19:28.51 | kremonte | i love alumer |
19:28.57 | Shouryuu | there might be two ll.... |
19:29.01 | Shouryuu | I suck so much... |
19:29.09 | kremonte | alumer -> allumer -> alluminer -> alluminate -> illuminate OMG LIGHT SWITCHES ON |
19:29.20 | Shouryuu | ok it's allumer :P |
19:29.21 | L|Elviso | illuminati? |
19:29.31 | Shouryuu | as well :P |
19:29.36 | kremonte | wait, shouryuu |
19:29.45 | kremonte | activer/desactiver are verrrrbs |
19:29.52 | kremonte | i mean "affichage <on/off>" |
19:30.17 | L|Elviso | k, looks like we got the french /mostly/ covered...anyone want to do the Spanish/German translations? |
19:30.39 | Shouryuu | I *could* do spanish, but my spanish is so poor it wouldn't be that good |
19:30.54 | Shouryuu | affichage on/off... hummm |
19:30.57 | kremonte | i can do japanese! just kidding! |
19:31.04 | kremonte | Shouryuu : as in display on/off |
19:31.10 | kremonte | it might not be afficahge |
19:31.13 | Qzot | I can do the Tagalog, but I'd probably butcher parts of it. |
19:31.14 | kremonte | i dictionaried it |
19:31.16 | L|Elviso | mine 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.29 | Shouryuu | lol |
19:31.32 | Shouryuu | I know more |
19:31.44 | Shouryuu | I've been attenting spanish classes for like 5 years |
19:31.48 | Shouryuu | but my spanish is real sad |
19:31.59 | Shouryuu | kremonte dictionaries aren't your friends in translations |
19:32.12 | Shouryuu | you're still trying that Toggle thing? |
19:32.13 | kremonte | je sais =p |
19:32.13 | L|Elviso | I've spent 20 years immersed in a Spanish-heavy population :p |
19:32.17 | kremonte | oui |
19:32.19 | Shouryuu | hehe |
19:32.25 | kremonte | i'm just gonna do display on/off instead of toggle display |
19:32.28 | krka | general question: would there be any point to cache return values from stuff like UnitExists et.c.? |
19:32.38 | krka | or UnitClass maybe a better example |
19:32.45 | kremonte | depends what for |
19:32.47 | krka | i.e. how fast are those functions? |
19:32.52 | kremonte | the functions have very low overhead |
19:33.00 | krka | so no big overhead then |
19:33.04 | Shouryuu | depends on what L|Elviso ment by Toggle display.. what's "display"? |
19:33.14 | kremonte | the frame, i presume |
19:33.26 | kremonte | toggle display (of the frame) |
19:33.33 | L|Elviso | yes |
19:33.47 | Shouryuu | Afficher/Cacher(Dissimuler) |
19:33.47 | L|Elviso | could be open/close as well |
19:33.57 | L|Elviso | since one of the other lines is "close" |
19:34.05 | kremonte | Fermer ^_^ |
19:34.07 | Shouryuu | Dissimuler is a better word than cacher |
19:34.10 | Shouryuu | aye |
19:34.16 | Shouryuu | Afficher/Fermer is fine yes |
19:34.20 | kremonte | wait wait |
19:34.22 | kremonte | why verbs? |
19:34.43 | Shouryuu | what do you want to put? |
19:34.48 | kremonte | in which case, wouldnt it be afficher l'affichage? |
19:34.50 | kremonte | SOMETHING :p |
19:34.54 | Shouryuu | lol |
19:35.10 | Shouryuu | Ok its hard to explain |
19:35.19 | Shouryuu | I'll try |
19:35.20 | kremonte | rofl |
19:35.23 | Kirkburn | Wonderful, the main guy who's been complaining about ClearFont had FonTabulous installed *sigh* |
19:35.29 | kremonte | my guild is doing a 5priest strat dead run |
19:35.29 | Shouryuu | hahahaha |
19:35.53 | kremonte | BROKEBACK MOUNTAIN LOL |
19:36.01 | Shouryuu | lol |
19:36.13 | Kirkburn | Is Curse existant yet? |
19:36.51 | Kirkburn | *waits, waits* ... apparently not |
19:36.58 | L|Elviso | havent tried recently |
19:37.00 | Kirkburn | The title bit works :P |
19:37.03 | Kirkburn | But not the page |
19:37.08 | Tain | Curses, foiled again. |
19:37.12 | Kirkburn | OMG, I have a background! |
19:37.24 | Kirkburn | It's ... it's ... grey |
19:38.04 | Shouryuu | kremonte: 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.27 | kremonte | is it a dialog box? i thought itd just be a tooltip |
19:38.57 | L|Elviso | what's the current interface # to use? |
19:38.57 | Shouryuu | if it's a tooltip then Dissimuler is better than Fermer |
19:39.05 | Kirkburn | CG really should have created a cut down page for the patch days |
19:39.10 | Kirkburn | 11000 |
19:39.15 | L|Elviso | ty |
19:40.27 | Kirkburn | wowi no worky? |
19:41.03 | kremonte | L|Elviso: http://wow.pastebin.com/631324 |
19:41.14 | kremonte | errr |
19:41.18 | Kirkburn | Lol, 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.25 | kremonte | http://wow.pastebin.com/631325 |
19:42.28 | *** join/#wowi-lounge Kolth` (n=amoeba@c-24-22-42-31.hsd1.or.comcast.net) |
19:42.47 | L|Elviso | I have 1 more line for now, kremonte...if you don't mind |
19:42.53 | kremonte | MAIS BIEN SUR |
19:42.55 | L|Elviso | "Query for items by their unique #, which can be found on Allakhazam." |
19:43.07 | JoshBorke | question: how can i calculate the memory usage for my mod? |
19:43.07 | L|Elviso | more good sir? lol idk |
19:43.08 | kremonte | Shouryuu: query en francais est quoi :O |
19:43.23 | kremonte | bien sur = of c ourse ;P |
19:44.35 | L|Elviso | BINDING_NAME_ITEMMAGIC = "I HAVE NO IDEA" |
19:44.37 | L|Elviso | LOL |
19:46.15 | Legorol | Cide, when you were having these tooltip problems, was that on the live server? |
19:46.22 | Legorol | or was it back on the PTR in an earlier build |
19:46.53 | kremonte | Demandez un item par son # unique, que peut-être trouvé sur Allakhazam. |
19:46.57 | kremonte | i think that's it, elviso |
19:47.52 | Shouryuu | your first translation of that phrase was better krem |
19:48.10 | kremonte | huh? |
19:48.16 | kremonte | Demandez un item par son # unique, qui peut-être trouvé sur Allakhazam.* |
19:48.27 | Legorol | ouch! i just accidentally did WorldFrame:Hide() |
19:48.31 | Shouryuu | lol |
19:48.31 | kremonte | haha |
19:48.43 | L|Elviso | hahah |
19:48.45 | Legorol | that was the first time i did that, was quite funny :-) |
19:48.50 | Legorol | WoW went foobar |
19:48.55 | Shouryuu | haha |
19:48.56 | L|Elviso | how do you undo it, reload? |
19:49.04 | kremonte | is it possible to uh |
19:49.06 | L|Elviso | I want to try it |
19:49.08 | kremonte | WorldFrame:SetAlpha(.5) o_O |
19:49.09 | Shouryuu | lol |
19:49.20 | kremonte | aww |
19:49.20 | kremonte | its not |
19:49.44 | *** join/#wowi-lounge zespri (i=neffa@202.180.87.22) |
19:50.56 | JoshBorke | Legorol: lol |
19:51.28 | Shouryuu | doing [fF]ire in a string.find will search for both f and F right? |
19:51.38 | Legorol | L|Elviso: only way i could undo it is Alt+F4 |
19:51.56 | JoshBorke | don't put it in an onload? |
19:52.33 | L|Elviso | heh thats what I just did |
19:53.00 | L|Elviso | be a great line to sneak into my raidleader's CTRA, muahaha |
19:53.22 | Shouryuu | I'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.31 | Shouryuu | lol |
19:54.08 | krka | as if we don't have enough ways to crash WoW :P |
19:54.20 | Shouryuu | add a WorldFrame:Hide() on an event that triggers when you're fighting Majordomo :P |
19:54.30 | kremonte | see Shouryuu, i'd check |
19:54.36 | kremonte | but i have no idea what innerfire does =^) |
19:54.38 | kremonte | as of 1.10 even |
19:54.41 | kremonte | i have a level 12 priest tho :D |
19:54.55 | krka | ckknight, i tried BossPanel btw, and it appears to modify the bottom of the screen |
19:55.05 | krka | even when i selected that it use the top |
19:55.06 | Shouryuu | well Inner Fire in 1.9 was a 3 min buff, now it's a 10 min buff with 20 charges |
19:55.14 | Legorol | Shouryuu: it looks ok-ish, except your XML is borked |
19:55.19 | Shouryuu | I know |
19:55.20 | JoshBorke | what happens if you do UIParent:Hide()? |
19:55.26 | Shouryuu | I don't know XML |
19:55.28 | JoshBorke | is that the same as alt+Z? |
19:55.31 | Legorol | you don't have an OnLoad section in XML |
19:55.36 | Legorol | that would call your onload functio |
19:55.53 | Legorol | also, you need to have the <GameTooltip...> thing outside the <Frames> |
19:55.56 | Legorol | i'll touch it up a bit |
19:56.01 | Shouryuu | thanks :P |
19:57.12 | L|Elviso | so, uhhh.....you frenchies scared of "toggle display" or whaT? :P |
19:57.22 | Shouryuu | yeah :P |
19:57.24 | kremonte | il n'y a pas un mot pour "toggle" D: |
19:57.28 | Shouryuu | there is no french word for toggle |
19:57.33 | Shouryuu | aww he beat me to it |
19:57.37 | Legorol | Shouryuu: http://wow.pastebin.com/631368 |
19:57.39 | kremonte | les francais sont tout wussies |
19:57.43 | Shouryuu | haha |
19:57.44 | L|Elviso | how about, "Open/Close" |
19:57.54 | Legorol | i moved OnEvent in the right place, added OnLoad, |
19:57.58 | Legorol | and did the tooltip properly |
19:58.01 | Shouryuu | It depends what you want to open, and what you want to close :P |
19:58.04 | Shouryuu | thanks :P |
19:58.12 | kremonte | "AHHH non wai!!! toggler?! togglir?! togglre?! togglu?! |
19:58.16 | L|Elviso | i think you should know by now, lol |
19:58.20 | Cairenn | be very very careful folks, I will NOT tolerate any form of racial slander in this channel, whether joking or not |
19:58.33 | Legorol | Shouryuu: you won't get text into your frame this way though |
19:58.35 | kremonte | hey shouryuu admitted he was =P |
19:58.36 | Legorol | that part is all wrong |
19:58.48 | Shouryuu | about the frenchies? |
19:59.18 | kremonte | LOL |
19:59.18 | Shouryuu | I know, I don't know XML? |
19:59.18 | kremonte | i logged on my priest and i still have 1.9 inner fire active |
19:59.19 | kremonte | XD |
19:59.19 | Shouryuu | lol |
19:59.19 | Shouryuu | nice |
19:59.44 | kremonte | whoa |
19:59.45 | kremonte | wait |
19:59.49 | kremonte | 1.10 inner fire is worse? =/ |
19:59.55 | Shouryuu | not really |
20:00.03 | Shouryuu | It has 50% more armor that the 1.9 |
20:00.05 | kremonte | at level 12 it is :( |
20:00.13 | kremonte | same +armor |
20:00.25 | Shouryuu | ah, well it's +50% more normally |
20:00.54 | kremonte | the thing is |
20:00.58 | kremonte | i have to cast inner fire each fight |
20:01.10 | Shouryuu | yeah that I agree |
20:01.15 | Shouryuu | It's better for PvP imo |
20:01.34 | kremonte | depends what youre fighting |
20:01.41 | Shouryuu | You 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.48 | kremonte | yea |
20:01.49 | kremonte | but like |
20:01.51 | kremonte | when you fight a hunter |
20:01.53 | kremonte | its gone instantly |
20:01.56 | Shouryuu | it only lasts one fight :P |
20:02.15 | Shouryuu | when fighting a hunter, the priest is gone real quick as well :P |
20:02.23 | kremonte | lol |
20:02.26 | kremonte | i hate hunters on my lock |
20:02.30 | kremonte | i can counter them now tho |
20:02.43 | Shouryuu | hehe |
20:02.49 | Shouryuu | U can't do anything =( |
20:02.51 | Shouryuu | *I |
20:02.53 | kremonte | i have one of the most unique tactics :D |
20:02.57 | kremonte | it's really col |
20:02.59 | kremonte | i'll be farming on my lock |
20:03.01 | kremonte | hunter will kill me |
20:03.06 | kremonte | log on my warrior and gank him LOL |
20:03.07 | kremonte | OLOL |
20:03.10 | Shouryuu | lol |
20:03.35 | JoshBorke | lol |
20:04.35 | Kirkburn | lol |
20:04.46 | Kirkburn | er, what are we talking about? |
20:04.48 | kremonte | omg @ new pws |
20:04.50 | kremonte | its so much easier to grind |
20:04.52 | Kirkburn | I just wanted to join it |
20:04.54 | Kirkburn | *in |
20:05.00 | kremonte | i just had a wtf moment |
20:05.03 | kremonte | "i dont have imp pws... |
20:05.15 | Shouryuu | lol |
20:05.18 | kremonte | "how is my pws still up i dont have the debuff" |
20:05.20 | kremonte | "omg my game is bugged" |
20:05.22 | [MoonWolf] | lol |
20:06.00 | JoshBorke | i like the priest changes much more than i liked the paladin changes :-l |
20:06.10 | kremonte | pallies got changes? |
20:06.15 | Shouryuu | Can't say anything about the priest cahnges |
20:06.24 | JoshBorke | kremonte: in 1.9 |
20:06.26 | kremonte | shouryuu youre such a liar ._. |
20:06.29 | Miravlix | Priest didn't get changed at all |
20:06.36 | Shouryuu | sorrry I menat pally changes |
20:06.36 | Miravlix | If you want to PvP that isBuffBotTooltip:SetOwner(UIParent, "ANCHOR_NONE") |
20:06.36 | Miravlix | BuffBotTooltip:SetUnitBuff(unit,buff_index) |
20:06.42 | kremonte | your french is bad but you ARE french , and you cant say anything about priest changes and you are a priest |
20:06.47 | Miravlix | wrong button. :p |
20:06.51 | Cide | Legorol: sorry, back now. It was on live, yes |
20:06.59 | Cide | today, in fact |
20:06.59 | Miravlix | If you want to PvP it's shadow and shadow didn't get anything |
20:07.18 | Shouryuu | and I do like the priest talents |
20:07.21 | Miravlix | If you want to be healer in BWL you a super gimp |
20:07.21 | Shouryuu | and changes a lot |
20:07.23 | *** join/#wowi-lounge malreth_ (n=malreth@dhcp-134-178.cc.utexas.edu) |
20:07.36 | Miravlix | So you can make a gimp char that can heal 5 man and BG's |
20:07.45 | Miravlix | and do a little damage. woopi |
20:08.15 | Shouryuu | well now there are like 4-5 possible specs |
20:08.22 | Shouryuu | Go pure DPS which is shadow |
20:08.26 | Miravlix | Not really |
20:08.35 | Shouryuu | go 5-10 man healing which is 31 holy |
20:08.35 | Miravlix | There is 1 PvP spec and 1 Raid healer spec |
20:08.47 | Shouryuu | the 5man spec |
20:08.54 | Shouryuu | and PvP healing spec |
20:08.57 | Miravlix | The 5 man spec is a joke |
20:09.03 | Shouryuu | it's holy |
20:09.26 | Miravlix | It's for ppl that don't want to raid or pvp or something strange hybrid wierdness |
20:09.45 | Miravlix | It's not like a full shadow can't 5 man heal |
20:09.53 | Shouryuu | yeah I guess |
20:09.55 | Miravlix | so why be 5 man holy? |
20:10.36 | Shouryuu | I guess |
20:10.39 | *** join/#wowi-lounge malreth_ (n=malreth@dhcp-134-178.cc.utexas.edu) |
20:10.45 | Miravlix | It cost me 2g with the talent wipe |
20:10.53 | Miravlix | thats what I got out of it, less money. :) |
20:10.53 | Shouryuu | yeha lol |
20:11.36 | Shouryuu | what spec are you now? |
20:11.58 | Miravlix | Level 35 priest, full shadow before wipe and got shadow again |
20:12.07 | Shouryuu | aye |
20:12.16 | Shouryuu | shadow is the way to go for lvling :P |
20:12.37 | Shouryuu | damage holy priest is a joke |
20:12.55 | Shouryuu | a holy priest can never dish out as much damage as a Shadow priest |
20:13.01 | Shouryuu | and you don't get shadow form |
20:13.13 | Shouryuu | so you don't have that dmg red |
20:13.44 | Miravlix | What I hope |
20:13.52 | Miravlix | is that bad priest will spec Holy |
20:13.56 | Shouryuu | Dumb question but how would I display a variable on a frame? |
20:14.14 | Miravlix | And there lack of skill will be countered by there holy talents |
20:14.38 | Miravlix | So I will have an easier time in instances. :) |
20:14.38 | Iriel | Shouryuu : Add a FontString to the frame, and use :SetText on it |
20:14.52 | Shouryuu | ok thanks |
20:14.59 | Shouryuu | Miravlix lol |
20:15.13 | JoshBorke | how can i center the text attached to a checkbox within the parent frame? |
20:15.26 | Shouryuu | I don't know if holy is that bad now |
20:15.48 | Shouryuu | Spiritual healing +spiritual guidance give you a lot of +healing power |
20:16.16 | Miravlix | I think a raid healer will be forced to go ultra healing |
20:16.24 | Miravlix | so they wont get any holy damage stuff |
20:17.00 | Miravlix | No freaking way the playerbase will allow holy damage/healing hybrids, the player just can't deal with it |
20:17.38 | Shouryuu | I don't see why |
20:17.58 | Miravlix | Because they KNOW a all healing talent priest is better |
20:18.00 | Shouryuu | you mean so they don't hog the +spell dmg *and* +healing items? |
20:18.14 | Miravlix | So why would they allow a priest to waist talents on damage? |
20:18.24 | Shouryuu | yeah |
20:18.28 | Miravlix | The reaiders all min/max |
20:18.45 | Shouryuu | I disagree there though :P |
20:19.15 | *** join/#wowi-lounge Kolth (n=amoeba@c-24-22-42-31.hsd1.or.comcast.net) |
20:19.33 | Shouryuu | There 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.34 | Miravlix | By min/maxing builds they need less skill |
20:20.06 | Iriel | It rather defeats the point of the talent system too |
20:20.13 | Miravlix | Yes |
20:20.14 | Shouryuu | yeah |
20:20.41 | Iriel | But Min/Max'ers have been defeating the point of character customization for years |
20:21.02 | Shouryuu | :P |
20:21.35 | [MoonWolf] | min/maxers, making your game pointless since the biggining of rpgs. |
20:21.39 | kremonte | min/max? |
20:21.42 | kremonte | huh |
20:21.48 | Miravlix | The 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.59 | Miravlix | Minimizing damage maximizing healing |
20:23.00 | L|Elviso | min/max is natural in mmo, imo |
20:23.20 | Iriel | It's natural in the sense that people are boring 8-) |
20:23.29 | L|Elviso | if it wasn't mmo, I doubt many would do it |
20:23.32 | Miravlix | Cookie cutter build! |
20:23.33 | L|Elviso | it's the competition |
20:23.53 | Iriel | Ideally there wouldn't be imbalanced tradeoffs |
20:23.56 | Shouryuu | well the other way around makes no sens though |
20:24.03 | L|Elviso | Iriel, I concur |
20:24.06 | Iriel | Sadly cookie cutters beget cookie cutters |
20:24.17 | L|Elviso | considering a majority of players are men (well, boys..) |
20:24.18 | Iriel | Say there's 3 builds of class X, and 10 builds of class Y |
20:24.44 | Iriel | but 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.52 | Iriel | Iterate that a few times and it gets silly |
20:25.20 | L|Elviso | some guys get millions of dollars just for shaving a few oz's off the weight of a race car. for a sport. |
20:25.47 | L|Elviso | you 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.18 | Shouryuu | well shaving a few oz's takes intelligence and hard work |
20:26.22 | Iriel | It's a bit different though, the real world has a lot more variables |
20:26.52 | Iriel | and some will shave off some oz, some will reshape a particular component, some will use a different engine design, etc etc et |
20:26.55 | L|Elviso | Simplified example of the competitve nature of men |
20:27.06 | Shouryuu | I guess that's better put :P |
20:27.48 | L|Elviso | along 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.52 | Shouryuu | lol |
20:30.14 | L|Elviso | that's...mmo's though. you could go the opposite way with the Sims online I hear :) |
20:31.56 | Shouryuu | is wiki down? |
20:32.16 | Shouryuu | I guess |
20:39.30 | Shouryuu | is 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.39 | Qzot | Anyone know why the AHs are intolerably slow post-patch? |
20:39.49 | Shouryuu | nope |
20:39.55 | Shouryuu | I guess the servers are just laggy |
20:40.09 | L|Elviso | Shouryuu: it has to be in the correct element I believe |
20:40.27 | Qzot | Shouryuu: I think it's more than that. They were terrible even in the early morning. |
20:40.53 | Shouryuu | Dunno :P |
20:41.03 | Shouryuu | is you servers getting some pop transfers? |
20:41.08 | Iriel | I wonder if its people who cleared out their lootlink doing AH scans? |
20:41.19 | kremonte | eww lootlink |
20:41.20 | kremonte | <PROTECTED> |
20:41.23 | L|Elviso | probably |
20:41.27 | Shouryuu | lol same reaction here |
20:41.29 | Iriel | Shouryuu : It has to be inside <Layers><Layer level="ARTWORK"><FontString...></Layer></Layers> |
20:41.41 | Shouryuu | does lootlink stress the servers? |
20:41.43 | Iriel | Shouryuu : You can replace ARTWORK with whatever's relevant |
20:41.47 | L|Elviso | yeah I ditched LL a long time ago, partially the reason I'm working on revamping ItemMagic |
20:41.52 | Shouryuu | ok thanks |
20:42.03 | kremonte | getlink 4tw |
20:42.07 | kremonte | no savedvariables :D |
20:42.10 | Iriel | Shouryuu : And that's inside you <Frame> but not inside a <Frames> inside that 8-) |
20:42.39 | L|Elviso | <Shouryuu> does lootlink stress the servers? |
20:42.54 | Shouryuu | My god I'm lost |
20:43.01 | L|Elviso | imagine 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.01 | Shouryuu | I need to find some documentation on XML :P |
20:43.13 | Shouryuu | L|Elviso lol |
20:43.27 | Iriel | Shouryuu : Your best bet is look at some blizzard code and observe the structure for yourself |
20:43.41 | Shouryuu | Well I guess I'll do that |
20:43.46 | Shouryuu | when I have WoW installed :P |
20:43.51 | Adrine | Muahaha. My force-driven graph organization experiment works. :D |
20:44.04 | Shouryuu | english? |
20:44.29 | Adrine | graph theory. organizing a system of nodes and connections between nodes into an aesthetically-pleasing format |
20:44.35 | Adrine | Where a node is just a point in space |
20:44.37 | kremonte | boujuer! comme talle vu? qui li franciass ice? |
20:44.46 | kremonte | mmo's make me sadface |
20:44.54 | Shouryuu | aww why? |
20:45.12 | Shouryuu | Adrine so you drew something? Points and lines? |
20:45.17 | Adrine | Kinda. |
20:45.28 | Adrine | More like I got it to draw itself |
20:45.47 | JoshBorke | hello adrine |
20:45.47 | Iriel | automatic layouts are fun to play with! |
20:45.53 | Adrine | Very much so. |
20:45.58 | Adrine | Heya, JoshBorke |
20:46.16 | Iriel | When 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.21 | Adrine | Yup. |
20:46.24 | Adrine | Springs and repulsors. |
20:46.26 | Shouryuu | ouch |
20:46.33 | Qzot | This is so lame. About 30-45 secs per auction. |
20:46.44 | Iriel | Poor Qzot, you're part of the problem! 8-) |
20:47.09 | Shouryuu | lol |
20:47.17 | JoshBorke | what's the vim regex for whitespace? |
20:47.25 | Qzot | Me?? |
20:47.38 | Qzot | I just want to smuggle my pile of runecloth over the border... |
20:49.20 | Iriel | Blizzard have decided to implement a new 'time tax' on auction house users |
20:49.25 | Adrine | http://tachyonsix.com/graph.gif |
20:49.34 | *** part/#wowi-lounge L|Elviso (n=irc@66-90-143-73.dyn.grandenetworks.net) |
20:49.38 | Adrine | On the right is the mostly-final stable state, the left is the in-progress state |
20:49.40 | Adrine | Err |
20:49.41 | *** join/#wowi-lounge L|Elviso (n=irc@66-90-143-73.dyn.grandenetworks.net) |
20:49.42 | Adrine | Flip that |
20:49.43 | *** join/#wowi-lounge Kirkburn1 (n=George@151.56.195.34) |
20:49.44 | Adrine | left = stable |
20:49.58 | Qzot | That would be a way to start pushing me towards Eve... |
20:50.03 | Iriel | How do you enforce stability? |
20:50.11 | Iriel | Eve is a brutal world! |
20:50.17 | Iriel | I can't bring myself to cancel my subscription tho |
20:50.19 | Adrine | Nothing special. The chosen constants just tend to work well. |
20:50.49 | Adrine | I 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.58 | Adrine | The other nodes arrange themselves around the pinned node(s) |
20:51.04 | Iriel | How do you handle your repulsion falloff? |
20:51.20 | Iriel | 1/l or 1/l^2 ? |
20:51.28 | Iriel | or something else/ |
20:51.29 | Adrine | inverse square, l^2 |
20:51.42 | Adrine | With a constant multiplier to speed up the system somewhat |
20:52.16 | Iriel | I 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.31 | Adrine | Yeah, I just randomly jostle nodes that end up on the same point. |
20:52.39 | Adrine | Tiny little jostle so there's an explosion of sorts |
20:53.02 | Iriel | An upper bound on the force between really close points might be an idea |
20:53.14 | Shouryuu | well night folks :P |
20:53.16 | Iriel | to 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.22 | Adrine | Hm, probably a good idea |
20:53.47 | Adrine | (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.52 | Iriel | So, when are you going to do an implementation in WoW? |
20:53.54 | JoshBorke | wow, you guys are smart |
20:54.06 | Adrine | Heh. I actually thought about doing that, since the renderer was already there |
20:54.17 | Adrine | But I settled on pygame instead because it's stupidly simple. |
20:54.34 | Qzot | I 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.51 | Adrine | Qzot: Elaborate? |
20:55.04 | ckknight | does 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.21 | Adrine | (Now I need to figure out picking so I can pick up nodes and drag them around. *grin*) |
20:56.04 | Qzot | I assume that you iterate on the nodes, forces, and springs until they stabilize before the initial display of their locations. |
20:56.31 | Adrine | Nah, I just run the stabilizer in my render loop and then display each frame |
20:56.39 | Adrine | With a relatively low number of nodes, there isn't any slowdown |
20:56.45 | Iriel | Translation: "I like to watch it wiggle" |
20:56.50 | Adrine | Yeah. >_> |
20:57.01 | Adrine | Though repellant calculations are O(n^2), which tends to slow you down a lot as you add nodes. |
20:57.56 | Adrine | Interestingly, it looks like I can determine when the system is stable by the length of the displacement vectors on the pinned nodes |
20:57.59 | Adrine | Interesting little side effect. |
20:58.54 | *** join/#wowi-lounge malreth (n=malreth@dhcp-134-178.cc.utexas.edu) |
20:59.10 | Iriel | I'd have thought you'd just be able to use a threshold for resulting force (repulsion + springs) on each node |
20:59.12 | malreth | RAWR! |
20:59.17 | Iriel | When they all drop below the threshold you're stable |
20:59.51 | Iriel | Though maybe your 'displacement vector' is the force vector, in which case that's exactly what you just said 8-) |
20:59.55 | Qzot | Btw, there are other anomalies besides two nodes overlapping that you need to use micro-nudges for. |
20:59.56 | Adrine | Yeah :) |
21:00.07 | Adrine | Qzot: like what? |
21:00.18 | Qzot | Collinear nodes. |
21:00.23 | Adrine | Yeah, ran into that one |
21:00.24 | *** join/#wowi-lounge malreth (n=malreth@cpe-72-177-88-84.austin.res.rr.com) |
21:00.45 | Adrine | I was actually distributing nudging by 1,1 in the event of coincidental nodes before, |
21:00.48 | malreth | RAWR take two |
21:00.53 | Adrine | And all nodes were initialized at 0,0 |
21:00.58 | JoshBorke | i are escared |
21:01.04 | Qzot | It's probably sufficient to always add a random nudge to all non-pinned nodes, until you've deemed the net stable. |
21:01.09 | Adrine | So I ended up with them all in a diagonal line and they just kinda spread out on the line :) |
21:01.50 | Adrine | Man, I need to add some way to add nodes and create edges interactively so I can play with this thing |
21:02.11 | Iriel | Reminds me of a network simulation tool I built for my degree final year project |
21:02.27 | Iriel | click to add nodes and links, drag nodes around, all fun |
21:02.27 | malreth | finally finished this project up... but now my Intel Dual Core iMac is gone. :( |
21:02.28 | Qzot | This AH stuff really is painful. |
21:02.39 | Iriel | bah meeting |
21:02.51 | malreth | meetings are the practical alternative to work |
21:02.51 | Qzot | You've been sheeped. |
21:02.58 | Qzot | Baaa. Meeting... |
21:03.42 | Tain | Stupid meetings. |
21:06.38 | Adrine | Hm. Would a repulsor with slower/steeper fallof cause a faster resolution of the system? |
21:08.00 | L|Elviso | purl: wake tem |
21:08.02 | purl | tem: GOOD MORNING!!! |
21:08.17 | L|Elviso | heh |
21:09.14 | JoshBorke | purl: wake tem |
21:09.16 | purl | tem: GOOD MORNING!!! |
21:09.21 | JoshBorke | :D |
21:09.35 | Tem | purl, smake JoshBorke and L|Elviso |
21:09.46 | Tem | clearly, I'm still asleep |
21:10.02 | Tem | purl, smack JoshBorke and L|Elviso |
21:10.04 | purl | ACTION smacks JoshBorke and L|Elviso upside the head. |
21:10.25 | krka | Adrine, that was cool! have been thinking about that problem myself |
21:10.27 | L|Elviso | thank you purl! |
21:12.39 | Tem | is dharga still around? |
21:13.21 | Tem | one 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.39 | Adrine | heh |
21:16.16 | JoshBorke | heh |
21:16.48 | *** join/#wowi-lounge zespri_work (n=andrews@202.180.87.22) |
21:27.21 | Legorol | godd evening |
21:27.40 | Legorol | i've heard that slouken is doing something about the increased UI mem usage, is that true? |
21:27.44 | Legorol | if yes, what's he doing about it? |
21:27.49 | malreth | he's fixin it |
21:27.52 | malreth | like a MAN |
21:28.34 | Kirkburn | er, okay then |
21:28.34 | Legorol | malreth: what's he exactly fixing about it? |
21:28.34 | Qzot | "Fixing" = limiting it to 4k? |
21:28.39 | malreth | heh... he could just alter gcinfo so that it returns a smaller number than it normally reports. |
21:28.46 | Legorol | lol |
21:28.48 | malreth | BAM! fixed. |
21:28.51 | malreth | no one would ever know |
21:28.52 | Kirkburn | lol |
21:29.18 | malreth | purl, seen slouken |
21:29.22 | purl | slouken <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.42 | malreth | yep... he says he's fixin it |
21:29.51 | JoshBorke | lol |
21:30.02 | krka | l2bmm |
21:30.12 | malreth | hmm... his username is 'Sam' |
21:31.45 | Kirkburn | "come patch 1.12 you will be placed in a group upon entering Battlegrounds." |
21:31.53 | Kirkburn | Yes, that's his name |
21:31.57 | Kirkburn | Strangely enough ... |
21:32.13 | JoshBorke | eh? what's that? automagic groups? |
21:32.22 | Kirkburn | Yes, automagic groups |
21:32.27 | krka | patch 1.12, aka the emergency patch |
21:32.35 | Kirkburn | Faery dust grouping! |
21:32.37 | L|Elviso | is /im used by any addons that you guys know of? |
21:32.51 | Kirkburn | krka, don't we need 1.11? |
21:33.07 | Kirkburn | "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.47 | krka | never mind, it was a bad joke |
21:35.34 | malreth | http://forums.worldofwarcraft.com/thread.aspx?FN=wow-general&T=7686585 |
21:35.54 | malreth | Only in Azeroth... ...would air sell for 16g |
21:36.28 | Qzot | The concentrated essence is more expensive. |
21:39.22 | Kirkburn | Only worldofwar is currently up? |
21:39.37 | Legorol | krka: i have a question for oyu |
21:39.44 | Legorol | you remember when i was helping you fix tooltip issues? |
21:39.48 | Kirkburn | Btw, v important post - known 1.10 issues ... http://blue.cardplace.com/cache/wow-general-en/920270.htm |
21:39.54 | Legorol | what was your problem, and what solution worked for you in the end? |
21:40.09 | L|Elviso | Kirkburn, where'd you get those 1.12 quotes? |
21:40.14 | Legorol | i'm testing out tooltips in all there facets, and it's driving me nuts now.. |
21:40.21 | Kirkburn | Look at the link I just posted :) |
21:40.22 | Legorol | i can't reproduce one issue that lot of people said they had |
21:40.32 | Legorol | that a parented tooltip can't use SetOwner in OnLoad |
21:40.42 | Legorol | the most annoying thing is that i had that too, in the past |
21:40.45 | Legorol | and now i can't reproduce it |
21:40.53 | Kirkburn | For the specific post, I just get it |
21:41.12 | Kirkburn | http://blue.cardplace.com/cache/wow-general/7667392.htm |
21:41.35 | malreth | i notice that onyxia isn't on that list... |
21:42.43 | Tem | lets play spot the syntax error |
21:42.43 | krka | sorry lego, no idea how it got fixed |
21:42.47 | Tem | because I'm feeling blind |
21:42.48 | krka | only errored once |
21:42.54 | krka | reload fixed it |
21:42.56 | Tem | http://wow.pastebin.com/631548 |
21:43.02 | groll | Legorol u use sarf's aq stuff and such? |
21:43.06 | Legorol | yep |
21:43.13 | Kirkburn | malreth, what happened with Onyxia? |
21:43.13 | Legorol | krka: how's your tooltip set up at the moment? |
21:43.14 | groll | ok u got a working buffbot to go with it? |
21:43.26 | Kirkburn | Frequent deep breath? |
21:43.27 | Legorol | i'm in the process of compiling a list of tooltip behaviours and tricky points |
21:43.32 | malreth | she deep breaths every 15 sec in p2 |
21:43.38 | Kirkburn | Yeah, known |
21:43.38 | krka | my scanner or my regular? |
21:43.39 | Legorol | groll: yes i have a working buffbot |
21:43.41 | krka | guessing scanner |
21:43.46 | Legorol | no AQ can't drive BuffBot any more |
21:43.49 | groll | deepbreat works like the meteors in aq20 i think |
21:43.53 | Legorol | krka, scanner |
21:43.58 | krka | <PROTECTED> |
21:43.58 | groll | so aq is totally not working? |
21:43.58 | krka | <PROTECTED> |
21:43.58 | krka | <PROTECTED> |
21:43.58 | krka | <PROTECTED> |
21:43.58 | krka | <PROTECTED> |
21:44.01 | Legorol | groll: you need to fix your BuffBot manually |
21:44.05 | Legorol | AQ is working fine |
21:44.10 | malreth | we tried to take her down last night and we were all, "ZOMG, teh loot pinata fights back!" |
21:44.14 | Legorol | the only thing it can't do any more is invoe spellcasts on movement |
21:44.17 | Kirkburn | lol |
21:44.22 | groll | ok arf i dont know how to fix it.. but can u mail me yours that works? |
21:44.25 | Legorol | so if you are used to AQ -> BuffBot auto-casting buffs, |
21:44.34 | Legorol | groll: it's one line, let me paste it |
21:44.41 | groll | oke thx :) |
21:44.44 | Legorol | but let me explain how it all works at the moment: |
21:44.52 | Legorol | ok so you know that AQ uses BuffBot to actually cast buffs |
21:44.59 | Legorol | in 1.9, AQ hooked into movement |
21:45.06 | Legorol | so when you moved, it called BuffBot and you got the casts |
21:45.14 | Legorol | in 1.10, AQ is not allowed to hoook movement anymore |
21:45.17 | groll | ye i need to push a buttong right? |
21:45.19 | Legorol | it can still give you warning messages |
21:45.20 | groll | button |
21:45.24 | Legorol | or push a button, yes |
21:45.34 | Legorol | if you push the button for AQ, it can still call BuffBot, that does work |
21:45.47 | Legorol | completely independently from that, BuffBot has an issue with 1.10 which breaks it |
21:45.55 | Legorol | i have a one line fix for that, which i'm going to look up for you now |
21:46.04 | Legorol | which version of buffbot do you have? |
21:46.05 | Tem | Can someone take a look at this and tell me where the error is? I really can't find it |
21:46.06 | Tem | http://wow.pastebin.com/631548 |
21:46.06 | groll | thank you Legorol :D ur my savior :D |
21:46.15 | Legorol | don't thank me, Miravlix found the fix |
21:46.20 | groll | Legorol erm well umm the doh wait a sec |
21:46.30 | groll | need to log out and check |
21:46.39 | Legorol | my BB version is 2.35p |
21:47.04 | groll | i got the one AnduinLothar hacked but well it aint working to nicely for me :P |
21:47.13 | Legorol | :/ |
21:47.19 | Legorol | ok open up BuffBot.lua in a text editor |
21:47.25 | groll | it refuses to buff if i have someone targeted etc |
21:47.28 | JoshBorke | Tem: could it be the funciton? |
21:47.28 | Legorol | search for this line: BuffBotTooltip:SetUnitBuff(unit,buff_index) |
21:47.37 | Legorol | and *before* that line, paste this: |
21:47.42 | Legorol | BuffBotTooltip:SetOwner(UIParent,"ANCHOR_NONE") |
21:47.58 | Tem | JoshBorke: `}' expected (to close `{' at line 177) near `if' is the error I'm getting |
21:48.08 | JoshBorke | ah :-) |
21:48.20 | Tem | JoshBorke: line 177 is the button.Events = { line |
21:48.43 | Tem | wow I found it |
21:48.47 | Kirkburn | «A rocket will never be able to leave the Earth's atmosphere.» New York Times, 1936. |
21:48.49 | Tem | I typoed "function" |
21:48.55 | JoshBorke | ... |
21:49.00 | JoshBorke | Tem: could it be the funciton? |
21:49.04 | malreth | Kirkburn: http://en.wikipedia.org/wiki/Evil_twin |
21:49.15 | Tem | damnit |
21:49.20 | Tem | I swear I'm dyslexic |
21:49.36 | Tem | I didn't notice you had spelled it wrong either |
21:49.43 | groll | ok Legorol thanks a bunch :) |
21:49.56 | JoshBorke | Tem: np |
21:50.03 | Tem | thanks |
21:50.09 | Legorol | groll: i don't know if it fixes your particular issue with BB |
21:50.12 | Legorol | but it makes most of it work |
21:50.19 | groll | Legorol btw i used buffbot 1.0 btw :p |
21:50.20 | Kirkburn | I'm sitting here thinking, why would malreth link me that? And for the life of me, I don't know. :/ |
21:50.24 | Legorol | without that, it's just totally borked |
21:50.35 | Legorol | ok that's a pretty old version |
21:50.44 | malreth | no reason. just random |
21:50.56 | groll | yep but the only one that worked with sarfs aq stuff |
21:50.58 | malreth | it was in my clipboard so i pasted it to you |
21:51.03 | groll | if i'm not misstaken |
21:51.05 | Kirkburn | :D |
21:51.08 | Kirkburn | «The phonograph has no commercial value at all.» |
21:51.08 | Kirkburn | Thomas Edison, American inventor, 1880s. |
21:51.30 | Kirkburn | Evil Twins: always the one with the goatee |
21:51.48 | Legorol | groll: could be |
21:51.57 | Legorol | i didn't have much problem with the latest version and AQ |
21:52.03 | groll | k |
21:52.11 | groll | i'll see if i can find the latest version :) |
21:52.13 | Legorol | either way, you definitely need that line i pasted, because of tooltip changes in 1.10 |
21:52.28 | groll | i got the 2.35p aswell |
21:52.34 | Kirkburn | «Heavier-than-air flying machines are impossible.» Lord Kelvin, British mathematician and physicist, president of the British Royal Society, 1895. |
21:55.07 | Kirkburn | Gotta love predictions |
21:56.03 | Kirkburn | Front line report: WoWWiki working, Worldofwar working, WoWI working, CG uselessly slow |
21:56.28 | Iriel | I've taken to updating CG a week or two after patches, it's the only way to remain sane |
21:57.01 | groll | btw Legorol u found the issue why my macro wont show up in imp error..? |
21:57.07 | malreth | i just don't upload to CG... i'm loyal to wowi |
21:57.17 | malreth | Cair is the only one for me now |
21:57.30 | Iriel | Well, I'd feel bad if I pulled all my addons from CG |
21:57.33 | Iriel | I dont add new ones there |
21:57.53 | malreth | just treat it like a girlfriend that you're breaking up with... ignore it |
21:57.56 | Iriel | What I really need to do is script the upload process for each site |
21:58.11 | Iriel | Then I can just do ./updateAddons * |
21:58.20 | malreth | ignoring is easier |
21:58.37 | malreth | girlfriends don't respond well to scripts |
21:59.08 | Tem | I posted a "I am not updating here anymore" at curse with a link to my wowi portal |
21:59.26 | malreth | how was your meeting? lotsa talkie talkie? |
21:59.40 | Iriel | whose? Mine? |
22:00.10 | JoshBorke | bye all |
22:00.10 | *** part/#wowi-lounge JoshBorke (n=Josh@antimatter.stl.gtri.gatech.edu) |
22:00.19 | malreth | Iriel: yeah... |
22:00.28 | malreth | bah... i gotta come in early tomorrow |
22:00.52 | malreth | coming to work cuts into my sleep time |
22:00.54 | Iriel | malreth: It was unexciting, but yes, lotsa talkie talkie. |
22:01.16 | malreth | but it's the assistant director telling me so i can't say no |
22:01.46 | malreth | oh well, more comp time for me |
22:02.56 | Kirkburn | Unless 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.44 | Kirkburn | Less people = less ad revenue |
22:22.12 | Kirkburn | Teach me to type code quickly, I totally messed up when trying to help someone with CF. |
22:27.52 | L|Elviso | it's official: http://www.wowinterface.com/downloads/fileinfo.php?id=4776 |
22:28.47 | Kirkburn | it's da bomb |
22:28.53 | Iriel | L|Elviso : How do you know if the item's been seen on the server? |
22:29.00 | Tem | anyone here know if sarf is planning on using the new CreateFrame api to make CooldownCount more generic? |
22:29.59 | Kirkburn | L|Elviso: something in that screenshot looks vaguely familiar ;) Btw, I reckon you were a little overzealous with your compression |
22:30.10 | AnduinLothar | i'm sure someone will eventually |
22:30.20 | Tem | because if he doesn't, I will |
22:30.45 | Tem | I just had an idea that seems really easy to implement |
22:30.47 | L|Elviso | Kirkburn: saying its hard to see? |
22:31.09 | Tem | it does make one assumption though |
22:31.33 | Tem | It assumes that all action button addons make a call to "CooldownFrame_UpdateCooldown" |
22:31.37 | Iriel | L|Elviso : I find it quite readable |
22:31.54 | Kirkburn | I'm a fan of beauty :) |
22:33.11 | Kirkburn | Although, I am confused that your tooltips are different to what I'd expect |
22:33.15 | L|Elviso | I was going to say, it should be 80% I believe |
22:33.43 | Kirkburn | Lol, it was IE acting strange |
22:33.46 | L|Elviso | Those screenshots only had itemmagic and notes-u-need enabled |
22:33.47 | Qzot | Go ahead, Tem. At least one person is pretending to listen. |
22:34.01 | Kirkburn | Ah, makes sense :) |
22:34.46 | Tem | well, 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.03 | Kirkburn | (that was weird, something made it all blocky until I did something else in IE) |
22:35.13 | Tem | so CDC wouldn't need to have a module for every action bar addon out there |
22:35.16 | Iriel | Kirkburn : I think that's "IE being crap" |
22:35.30 | Kirkburn | :P |
22:35.59 | Iriel | Tem: I assume you meant ActionButton_UpdateCooldown ? |
22:36.03 | Tem | no |
22:36.16 | Tem | I mean CooldownFrame_UpdateCooldown |
22:36.40 | Tem | to which you pass the cooldown model and a few parameters about how long it needs to animate |
22:36.54 | Tem | you could call GetParent on the cooldown model to get the button itself |
22:38.50 | Iriel | I 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.25 | Tem | whoops |
22:41.32 | Tem | that's CooldownFrame_SetTimer |
22:41.32 | Iriel | Am I missing something or are you on crack? |
22:41.49 | Iriel | Ah, that one I see |
22:41.50 | Iriel | 8-) |
22:43.09 | AnduinLothar | why the **** are people reporting critical wow exceptions on the cosmos forums.. |
22:43.30 | Tain | Probably the same reason they post Cosmos questions on the WoW forums. |
22:43.31 | Tem | so when that function is called, find the button object with cooldown:GetParent() |
22:43.34 | Iriel | Because cosmos is the devil and causes them all? |
22:43.52 | Iriel | Tem: You could do some minor analysis of the button too, to ensure it looks action-button-ish |
22:43.55 | AnduinLothar | "WoWBuild: 4603" |
22:44.07 | Tem | aye, that makes sense |
22:44.50 | Tem | AnduinLothar: 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.55 | AnduinLothar | and yet again someone wants to use /in to delay a spell.. |
22:45.10 | Tem | that would drive me crazy |
22:45.25 | AnduinLothar | he's using a ******* emulated server, why the **** is he reporting errors at all! |
22:45.35 | Tem | hahahahahahaha |
22:46.29 | Iriel | self incrimination, nice |
22:47.00 | AnduinLothar | wtf "Howdy. Great AddOn and all that rubbish. |
22:47.01 | AnduinLothar | Would it be possible..." |
22:47.08 | Tain | Geez 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.55 | Tem | I 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.14 | Iriel | Tem: But would you want to be puttng cooldown display ON those ones anyway? |
22:48.33 | Tem | what has a cooldown model that isn't a cooldown? |
22:48.39 | Iriel | Tem: if they're not using the standard methods to change it, how would you know what rules to display with |
22:48.44 | AnduinLothar | ok... 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.47 | Iriel | Tem: What if I was using the cooldown model to display health? |
22:49.03 | Tem | then you call my RegisterException function and I ignore you? |
22:49.25 | Tem | it's a good point |
22:50.02 | Iriel | That 'RegisterExceptoin' comment sounded very cosmosian 8-) |
22:50.12 | Iriel | No offense to AnduinLothar -- you seem quite well behaved 8-) |
22:50.30 | Tem | hmm, 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.52 | Tem | and provide a method to register other buttons for those that don't use it |
22:50.56 | Iriel | I'd say stuff that uses CooldownFrame_SetTimer is fair game |
22:51.20 | Iriel | Allowing explicit registration would be nice, especially if your code itself uses that mechanism |
22:51.53 | Tem | damn, now I actually want to write this thing instead of waiting for someone to do it to CDC |
22:52.16 | AnduinLothar | i have plenty of other things that need doing if you're bored.. |
22:52.36 | Legorol | good evning |
22:52.46 | Tem | I'm gonna go rumage around CDC's code |
22:52.46 | Legorol | just finished updating these: |
22:52.47 | Legorol | http://www.wowwiki.com/UIOBJECT_GameTooltip |
22:52.47 | Legorol | http://www.wowwiki.com/Tooltip_Pseudo_Code |
22:52.50 | Cairenn | hey lego |
22:53.11 | Legorol | i have tried to research as many of the finer points of tooltips as possible |
22:53.34 | Iriel | Did you explore all the SetOwner/parent/hide/show combos? |
22:54.22 | AnduinLothar | wow... it's fricken spring break and i still dont have time to sleep in.. |
22:54.22 | Legorol | i have tried to... but it drove me nuts, |
22:54.27 | Legorol | because i can't reproduce some of the bugs |
22:54.39 | Legorol | things that i had earlier, for example that you can't SetOwner in OnLoad |
22:54.50 | Legorol | i have explored everything else that i could think of: |
22:54.58 | Legorol | having a parent, that gets hidden, shown, owner gets hidden, shown etc. |
22:55.16 | Legorol | the only thing i can't reproduce is the issue with SetOwner in OnLoad, and it's driving me crazy |
22:55.26 | Legorol | especially because i had it before, and because other people reported it too |
22:57.46 | groll | aha Legorol is back :D |
22:57.54 | Legorol | if someone can give me a 100% reproducible scenario where SetOwner is breaking in an OnLoad, i'd be extremely happy.. |
22:57.55 | groll | u found out why imp error wont show my message? |
22:58.16 | Legorol | sorry groll havent looked yet |
22:58.20 | Legorol | its on my todo list |
22:58.22 | groll | argh :S |
22:58.26 | groll | i reeeeeally need it |
22:58.39 | groll | :P |
22:58.55 | groll | if i get more on 40 ppl online during a raid i'm scrwed to type manyally otherwise :P |
22:59.42 | Legorol | ok i'll take a look now |
23:00.04 | groll | thank you so much :) |
23:00.41 | malreth | hey, Legorol... nice work on http://www.wowwiki.com/UIOBJECT_GameTooltip |
23:00.47 | Legorol | thanks |
23:01.10 | Legorol | one 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.20 | Legorol | now we can enumerate the anchors so i nailed that one |
23:02.41 | malreth | spurious is my favorite word |
23:03.15 | Legorol | When would an integer variable in Lua get printed out as "1.#INF" |
23:03.25 | Iriel | When it's infinite |
23:03.36 | Iriel | x = 1/0; |
23:03.39 | malreth | http://forums.worldofwarcraft.com/thread.aspx?fn=wow-interface-customization&t=349176&s=new&tmp=1#new |
23:03.59 | Legorol | so "infinite" is a special value that Lua can store? |
23:04.10 | Legorol | is it one of the possible values out of the integer range, or is it separate? |
23:04.14 | malreth | inf is a valid value in floating point math |
23:04.17 | Iriel | it's not an 'integer' |
23:04.20 | Iriel | there's no 'integer' in lua |
23:04.24 | Legorol | oh yeah good point |
23:04.25 | Iriel | or at least, none you can get to |
23:04.26 | malreth | lua uses double floats |
23:04.32 | Iriel | inf and -inf are both valid values |
23:04.37 | malreth | well, our lua does in WoW |
23:04.41 | Iriel | as it nan |
23:04.49 | Legorol | can i explicitly assign inf to a variable? |
23:04.50 | Iriel | as IS nan, that is |
23:04.51 | Legorol | x = inf |
23:04.51 | malreth | nan is good with curry |
23:04.57 | Iriel | x = 1/0; |
23:04.59 | Iriel | that's inf |
23:05.01 | Iriel | x = -1/0; |
23:05.02 | Iriel | that's -inf |
23:05.03 | Legorol | oki |
23:05.07 | Legorol | and how do i get a NAN? |
23:05.12 | Iriel | there arent inf/-inf/nan constants that I know of |
23:05.19 | malreth | x=sqrt(-1) |
23:05.21 | malreth | ? |
23:05.30 | Legorol | that is a number... it's just complex ;-) |
23:05.36 | malreth | it's not a number |
23:06.01 | malreth | well, not one that can be represented as a floating point number |
23:06.04 | Legorol | anyways, 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.04 | Iriel | sqrt -1 is nan, yeah.. so is 0/0 |
23:06.16 | malreth | NEVER do 0/0 |
23:06.17 | Legorol | the C engine sets a spurious TOPLEFT anchor to UIParent with x-offset of 1.#INF |
23:06.20 | malreth | OMG! |
23:06.27 | malreth | you could have KILLED us all, Iriel |
23:06.35 | Iriel | Legorol : What happens when you check a frame later? |
23:06.43 | Legorol | i have |
23:06.45 | Legorol | it is there |
23:06.48 | Legorol | it stays there |
23:06.57 | Legorol | it is a completely ordinary anchor, as if it got set via SetPoint |
23:07.07 | Legorol | the only odd thing about it is that the x-offset is inf, the y-offset is 0 |
23:07.18 | Iriel | I wonder if the inf is coming from a calculation inside the API, rather than being stored that way |
23:07.23 | Legorol | it is this spurious anchor that explains some of the weird effects you can get with a tooltip |
23:07.29 | malreth | probably has something to do with the underlying C code |
23:07.30 | Legorol | Iriel: could be |
23:07.36 | malreth | i type too slow |
23:07.38 | Legorol | i am using tooltip:GetPoint(i) to get the xOfs |
23:08.11 | Iriel | Did 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.25 | Legorol | didn't know :-) |
23:08.42 | Legorol | so i finally managed to explain the following: if you do this: |
23:08.43 | Legorol | tooltip:SetOwner(owner, "ANCHOR_NONE"); |
23:08.43 | Legorol | tooltip:SetText("Hello"); |
23:08.43 | Legorol | tooltip:SetPoint("TOPRIGHT", UIParent); |
23:08.55 | Legorol | you'd expect a perfectly ordinary tooltip to show up in the top right corner, but it doesn't |
23:08.59 | Iriel | Well, no |
23:09.05 | Iriel | You didn't call ClearAllPoints before SetPoint |
23:09.06 | Legorol | but if you do this: |
23:09.07 | Legorol | tooltip:SetOwner(owner, "ANCHOR_NONE"); |
23:09.07 | Legorol | tooltip:SetPoint("TOPRIGHT", UIParent); |
23:09.07 | Legorol | tooltip:SetText("Hello"); |
23:09.07 | Iriel | All bets are off |
23:09.09 | Legorol | it works |
23:09.18 | Legorol | not quite, Iriel |
23:09.20 | Legorol | the order is the key |
23:09.25 | Iriel | Perhaps |
23:09.30 | Legorol | SetX explicitly checks to see if there is any anchor already set |
23:09.31 | Iriel | but it's still 'undefined' behaviour of a kind |
23:09.39 | Legorol | if there is, it doesn't set any |
23:09.45 | Legorol | if there isn't, it sets the spurious topleft anchor |
23:09.59 | Legorol | i have represented this behaviour in the pseudo-code |
23:10.18 | Iriel | It'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.22 | malreth | woo... all this spurious talk has made me tired... i'm going home |
23:10.43 | Tem | woah |
23:10.45 | Legorol | Iriel, that's the thing.. since SetOwner does a ClearAllPoints, you have effectively done it |
23:10.49 | Tem | anyone looked at events since 1.10 came out? |
23:10.59 | Tem | WORLD_MAP_UPDATE seems to be firing CONSTANTLY |
23:11.06 | Legorol | ok, look at it this way. would you expect this code to work: |
23:11.07 | Legorol | tooltip:SetOwner(owner, "ANCHOR_NONE"); |
23:11.07 | Legorol | tooltip:ClearAllPoints(); |
23:11.07 | Legorol | tooltip:SetPoint("TOPRIGHT", UIParent); |
23:11.07 | Legorol | tooltip:SetText("Hello"); |
23:11.11 | Tem | I wonder if that's an addon |
23:11.13 | Legorol | i certainly would |
23:11.37 | Legorol | oops, sorry, wrong one |
23:11.44 | Legorol | i meant this one: |
23:11.44 | Legorol | tooltip:SetOwner(owner, "ANCHOR_NONE"); |
23:11.44 | Legorol | tooltip:ClearAllPoints(); |
23:11.45 | Legorol | tooltip:SetText("Hello"); |
23:11.45 | Legorol | tooltip:SetPoint("TOPRIGHT", UIParent); |
23:12.14 | Iriel | Legorol : Well, normally, yes, but tooltips things when you call set methods on them, so who knows |
23:12.32 | Legorol | exactly |
23:12.37 | Iriel | I agree with the validity of your observations and that care hsa to be taken with the things |
23:12.39 | Legorol | well i'm just happy i documented the behaviour |
23:12.54 | Iriel | It was just that for a NON-tooltip object, calling a SetPoint without a ClearAllPoints before it is dodgy at best |
23:13.00 | Legorol | because these are the kinda smaller "gotchas" that can make or break things |
23:13.02 | Iriel | which was more what I was trying to say 8-) |
23:13.08 | Kirkburn|wow | malreth someone wants you to die, again |
23:13.10 | AnduinLothar | ya so... both the ArcanePartyBars and ShardTracker bugs are tooltip issues |
23:13.11 | Legorol | sure, i agree with that one |
23:13.18 | Kirkburn|wow | Gotta love em |
23:13.20 | Legorol | AnduinLothar: cool, so they are fixable |
23:13.32 | Kirkburn|wow | Damn, he's gone :( |
23:13.33 | Iriel | So far I think all of the addon issues have been one of: |
23:13.35 | Iriel | A) Tooltip problems |
23:13.35 | Legorol | Iriel: sorry if i came across more argumentative then i should've |
23:13.41 | Iriel | B) Calling protected functions |
23:13.48 | Iriel | C) Font change issues |
23:13.56 | Iriel | D) Non-updated hooks |
23:13.58 | AnduinLothar | wow, an unknown entity just challenged me to a duel |
23:14.07 | Iriel | All of the major ones, anyway |
23:14.20 | Iriel | there have been some event sequence changes that bit me, too. |
23:14.32 | Legorol | Iriel, if anyone asks: the current "best" practice for a tooltip that is used frequently is to SetOwner it once OnLoad |
23:14.54 | Iriel | Legorol : I thought you managed to break that one? |
23:14.56 | Legorol | we had some performance issues when we were SetOwnering each time |
23:15.14 | Legorol | it was only broken if the tooltip had a parent |
23:15.23 | Legorol | and even that, i can't reproduce at the moment, although some people had it |
23:15.30 | Legorol | in all cases removing the parent from the XML fixed it |
23:15.42 | Tem | ok, so I have an addon that's causing a crapton of WORLD_MAP_UPDATE events |
23:15.51 | Legorol | this is why we went from SetOwnering each time to SetOwnering OnLoad |
23:16.23 | Legorol | i am not completely satisfied that the issue of SetOwner in OnLoad is settled |
23:16.25 | Iriel | Tem: See if something's calling any of the SetMap functions without checking first |
23:16.31 | Legorol | ok enough rambling from me |
23:17.00 | Iriel | Tem: Specifically 'SetMapToCurrentZone()' or 'SetMapZoom(0)' OnUpdate |
23:18.02 | Tem | oh, I bet it's MonkeySpeed |
23:19.00 | Tem | yup |
23:19.02 | Iriel | It shoyuld probably be changed to use GetCurrentMapZone() first |
23:19.24 | Iriel | Unless you have TWO addons doing the same thing but using different map zoom levels |
23:19.52 | Legorol | groll: are you around? |
23:19.58 | Tem | no, it appears to just be the one |
23:20.03 | Tem | oh yeah I found it |
23:20.03 | groll | ye sorry was ingame :p |
23:20.19 | Tem | an OnUpdate calling SetMapToCurrentZone |
23:20.58 | Legorol | groll: are you busy? can you help me debug the IEF issue? |
23:21.07 | Legorol | i'm not getting anywhere with it here, need your help |
23:21.11 | groll | busy but not that busy :D |
23:21.15 | Legorol | ok |
23:21.28 | Legorol | do you have IEF from latest Cosmos version? |
23:21.34 | Legorol | if not, can you try with that one? |
23:21.54 | groll | when was last update? |
23:21.59 | *** join/#wowi-lounge Depherios (n=Deph@67.189.88.161) |
23:22.06 | Legorol | um, just grab the current one on the website |
23:22.07 | groll | today? |
23:22.18 | Kirkburn|wow | Why not the patcher? |
23:22.18 | groll | i updated at like hmm 7 hours ago perhaps |
23:22.24 | Legorol | oh right |
23:22.30 | Legorol | hasn't changed since |
23:22.32 | Iriel | Hey 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.57 | Legorol | groll: in that case, can you please try /script message("Hello") in-game? |
23:23.00 | groll | k then i got latest |
23:23.01 | Legorol | see if you get Hello in IEF |
23:23.22 | groll | worked |
23:23.25 | Tem | hmm, how do you convert the current real zone into a number that corresponds to the numbers returned by GetCurrentMapZone? |
23:23.32 | groll | wtf |
23:23.32 | Tem | a big ass conversion table? |
23:23.36 | groll | NOW it works :S |
23:23.47 | Iriel | GetMapZones |
23:23.51 | Iriel | GetMapContinents |
23:24.07 | Legorol | that explains why i couldn't reproduce it :D |
23:24.11 | Legorol | Iriel: looking |
23:24.19 | groll | i havent changed a single thing though |
23:24.22 | Legorol | afaik Decursive's last version for 1.9 was missing SetOwner, like all addons |
23:25.00 | groll | could it be a limitation on how many lines it can show Legorol? |
23:25.02 | Kirkburn|wow | Is 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.26 | Kirkburn|wow | ^ decursive fix post |
23:25.28 | Legorol | groll: i doubt it |
23:25.49 | groll | k cause now i have like 10 ppl online and it works, with 40+ it dont seem to work :/ |
23:25.56 | groll | and as i said i changed nothing |
23:26.35 | Legorol | Kirkburn|wow: that seems like a bogus fix |
23:26.44 | Kirkburn|wow | Fair enough :) |
23:26.44 | Legorol | Decursive 1.9.0 uses tooltip scan and doesn't do setowner |
23:26.48 | Legorol | i'm getting 1.9.1 now |
23:27.05 | Tem | Iriel: does GetRealZoneText or GetMapZones return localized zone names? |
23:27.09 | Tem | please say no |
23:27.34 | Iriel | Tem: Absolutely they do |
23:27.42 | Tem | both then? |
23:27.46 | Iriel | Tem: AND the ordering is based on localized ordering |
23:27.59 | Tem | oh? |
23:28.06 | Iriel | Tem: There's no safe non-localized zone ID |
23:28.08 | Tem | so 16 isn't always Teldrasil |
23:28.17 | Iriel | No |
23:28.21 | Tem | ok |
23:28.27 | Iriel | if blizzard ever add or rename a zone, or you change language, all bets are off |
23:28.27 | Tem | lossa bugs in BP speed then |
23:28.52 | Adrine | http://tachyonsix.com/graph2.png |
23:28.52 | Legorol | Decursive 1.9.1 has correct SetOwner before each SetX call |
23:29.14 | Legorol | ah |
23:29.18 | Legorol | no it doesn't, it's missing one |
23:30.08 | kremonte | hm, anybody have some good ideas for an addon to make? i lack entertainment |
23:30.21 | kremonte | Adrine: o_O? |
23:30.38 | Iriel | Adrine : cool. |
23:30.54 | groll | kremonte i would have had one but right now i forgot what i needed :P |
23:31.16 | Legorol | hmm.. Decursive 1.9.1 in fact is missing SetOwner calls in a lot of places |
23:31.26 | kremonte | right now i have one that replaces what mages say in guild with |
23:31.32 | kremonte | [Mage] qqq qq q q qqqqq qqq |
23:32.18 | Tem | kremonte: why would you want to do that? |
23:32.22 | Codayus | lol |
23:32.31 | kremonte | Tem: guild chat since 1.10 |
23:32.42 | kremonte | [Mage] WTF PRIESTS? THATS NOT FAIR |
23:32.43 | Tem | what are mages bitching about now? |
23:32.44 | Codayus | why *wouldn't* you? :-P |
23:32.50 | kremonte | [Mage] PRIESTS ALWAYS KILL MAGES, WTF |
23:32.54 | Tem | good lord we're a whiney bunch |
23:32.57 | kremonte | [Mage] NOW THEY OUTDPS US AND DO MORE BURST DAMAGE |
23:33.01 | kremonte | [Mage] WOW THIS IS SO GAY |
23:33.04 | kremonte | [Mage] BLIZZARD SUCKS |
23:33.11 | kremonte | [Mage] IM QUITTING UNTIL EXPANSION, WOW THIS IS GAY |
23:33.13 | Tem | lol |
23:33.13 | Codayus | Heh, I wish priests could do that. |
23:33.14 | kremonte | [Mage] MAGES NEED A REVAMP |
23:33.18 | Legorol | interesting.. |
23:33.20 | kremonte | [Mage] AND PRIESTS CAN FUCKING HEAL TOO |
23:33.20 | Tem | we are getting one |
23:33.22 | Legorol | Iriel: i think you are right! |
23:33.22 | Tem | in 1.11 |
23:33.22 | kremonte | [Mage] WOW THIS IS SO GAY |
23:33.27 | Adrine | Anyone interested in the source/a binary to play with? *grin* |
23:33.28 | Iriel | Ok, we get the idea kremonte |
23:33.28 | kremonte | [Mage] WOW I HATE MY LIFE |
23:33.29 | Legorol | it does seem to be the SetOwner OnLoad but |
23:33.29 | Tem | kremonte: we get the point |
23:33.31 | Legorol | *bug |
23:33.32 | kremonte | okay Iriel |
23:33.33 | kremonte | :P |
23:33.36 | Adrine | (I'm having way too much fun playing with it) |
23:33.42 | kremonte | rofl, same time as a mage did a priest rant |
23:33.45 | Codayus | Whats really sad is the *priests* who think they can out-dps mages. Dude! I critted for over 1k with smite! pwnz0r! oO |
23:33.46 | Legorol | Iriel: thanks! now i have something to play with :D |
23:33.49 | kremonte | Ayaz's Frostbolt crits you for 4205 |
23:33.50 | Cairenn | kremonte: >< |
23:33.54 | Iriel | Legorol : Can you reproduce it by hiding and re-showing IUParent? |
23:33.57 | kremonte | Ayaz's Fireblast crits you for 1986 |
23:34.02 | kremonte | Cairenn: <3 |
23:34.08 | Iriel | Legorol : UIParent, even.. Or is it more pervasive |
23:34.24 | Legorol | Iriel: i haven't loaded this version in the game yet |
23:34.42 | Tem | kremonte: 4k frostbolt crits aren't really feasible without a beserking buff |
23:34.49 | Legorol | but yeah, if you hide/show UIParent, that would destroy the tooltip |
23:34.54 | kremonte | Tem: yes, ap pi zhc berserking |
23:34.57 | Legorol | that's not an OnLoad issue though |
23:34.59 | kremonte | i just thought it was funny |
23:35.07 | kremonte | it was simulataneous |
23:35.09 | Legorol | that's an odd behaviour with tooltips (that i also documented): |
23:35.12 | Codayus | Here's a question - whats sadder - mages who think holy nova is better than Arcane Explosion? Or priests who think that? |
23:35.12 | Tem | kremonte: mages who go AP aren't frost mages |
23:35.23 | Legorol | calling Hide onthe parent of a tooltip causes the tooltip to become invalidated and need another SetOwner |
23:35.27 | kremonte | 31/20 Tem |
23:35.29 | kremonte | 31/0/20 |
23:35.32 | Tem | holy nova is the win on vael |
23:35.38 | kremonte | no its not :x |
23:35.40 | Tem | kremonte: that's the most gimped build ever |
23:35.43 | Legorol | it's very odd, it's effectively calling tooltip:Hide() if you do tooltip'sparent:Hide() |
23:35.46 | kremonte | Tem: low range |
23:35.46 | Legorol | no other UI objects do that |
23:35.47 | Cairenn | kremonte: 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.55 | Cairenn | so cut it out |
23:36.00 | Legorol | ok, long story short: |
23:36.02 | kremonte | i stopped 5 minutes ago -_- |
23:36.19 | Tem | kremonte: it's pointless to go AP with a frost build |
23:36.21 | Legorol | Iriel: if you have a tooltip that has a parent, hiding/showing the parent necessitates a new SetOwner |
23:36.26 | kremonte | Tem: "it's for MC!" |
23:36.33 | Legorol | that i can 100% reproduce |
23:36.35 | kremonte | cause apparently fire mages are the weakest class in the game |
23:36.37 | Tem | kremonte: you need at least 21 points in frost to be useful |
23:36.44 | kremonte | omg shatter |
23:36.50 | Tem | and more like 28 to be effective |
23:37.05 | kremonte | hey i'm not arguing with ya |
23:37.08 | Tem | you need shatter and ice shards minimum for damage |
23:37.15 | Legorol | ok going to answer that post.. |
23:37.18 | Tem | and theres just no point in an ice build without iceblock |
23:37.19 | kremonte | my mage is level 30 |
23:37.26 | kremonte | but i know many 31/0/20 mages |
23:37.36 | Tem | tell them they are retards for me, k? |
23:37.44 | kremonte | they already know ;) |
23:37.49 | kremonte | i remind them every time i 2 shot them |
23:37.54 | kremonte | lol nerf warlocks |
23:37.58 | Tem | indeed! |
23:37.59 | kremonte | and on that note |
23:38.01 | kremonte | i need a mod to make |
23:38.02 | kremonte | ._. |
23:38.04 | Iriel | Legorol : You mean parent="..." parent, or owner parent? |
23:38.14 | Legorol | parent="" parent |
23:38.16 | Legorol | owner is owner |
23:38.21 | Legorol | they are completely independent |
23:38.38 | Iriel | I just wanted to be sure we were using consistent nomenclature 8-) |
23:38.53 | Legorol | ok |
23:38.54 | kremonte | Tem: any ideas? ._. |
23:38.55 | Legorol | i am trying to |
23:39.12 | Legorol | for example, imagine you do this: |
23:39.13 | Legorol | tooltip:SetParent(UIParent) |
23:39.13 | Legorol | tooltip:SetOwner(MyOwnFrame, "ANCHOR_NONE"); |
23:39.15 | Iriel | So, your 'dont set a parent' advice resolves the issue? |
23:39.20 | Tem | kremonte: make one that auto-whispers those 31/0/20 mages and tells them they are retards |
23:39.20 | Legorol | yes |
23:39.39 | Legorol | in the above example, showing/hiding UIParent makes the tooltip become invalid |
23:39.50 | Iriel | Better 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.51 | Legorol | showing/hiding MyOwnFrame has no effect on the tooltip |
23:39.56 | kremonte | Tem:lol |
23:41.00 | Kirkburn|wow | Weird, 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.24 | Kirkburn|wow | s/just/just got |
23:43.22 | Legorol | Iriel: do you know if there is any situation during game where UIParent gets hidden/shown? |
23:43.29 | Legorol | (except for Alt+Z) |
23:44.21 | Iriel | Zoning |
23:44.32 | Iriel | (thus my suspicion about that bug) |
23:45.10 | Legorol | right |
23:45.19 | Legorol | so on zoning, the tooltip definitely goes foobar |
23:45.26 | Legorol | and if the user is unlucky, it goes foobar on login too |
23:45.37 | Legorol | that's the part i can't reproduce :-) |
23:46.13 | Iriel | World map too |
23:46.15 | Iriel | And cinematics |
23:46.20 | Legorol | right |
23:46.40 | Legorol | bottom line is, don't give your tooltip a parent |
23:46.44 | Legorol | it will only cause trouble |
23:52.41 | Tem | also, when the world map frame is visible |
23:52.44 | Tem | it hides uiparent |
23:52.53 | Tem | oh, Iriel beat me |
23:53.18 | Iriel | It's any UIPanel with area == "full" |