00:00.14 | Shadowed | I believe they also said something like they'll make it so you want the 41 talent and not a 31 and a 21 |
00:00.20 | End | hah |
00:00.30 | zespri_work | Codayus, I'm not so sure. What Shadowed said sounds more likely |
00:00.35 | Codayus | You'll be able to do a 31/30/0 build if you wanted...but...you're passing up so much...it won't be overpowered. |
00:01.07 | Codayus | zespri_work: <shrug> |
00:02.58 | Codayus | Bliz has only talked about it in general terms, but AFAIK they haven't mentioned restrictions. All they've said is they're adding two new tiers per tree, and people will get 10 addition talent points to play with... |
00:06.40 | *** join/#wowi-lounge snurre (n=snurre@AVelizy-153-1-22-96.w83-199.abo.wanadoo.fr) |
00:08.49 | Shadowd|Nax | pretty sure they rsaid something about possibly restructing it a long time ago |
00:12.50 | MentalPower | crud, neither Legorol nor Iriel are here |
00:13.04 | *** join/#wowi-lounge Tem (n=tardmrr@ip70-177-40-169.br.br.cox.net) |
00:13.05 | MentalPower | needed to ask a question about Lua internals |
00:14.29 | Miravlix | What do you need MP? |
00:15.29 | MentalPower | well, I've been having reports of an error message "Constant table overflow", wanted to where it came from |
00:15.59 | Mikk1 | Err. That sounds more WoW than Lua |
00:16.09 | Mikk1 | My bad |
00:16.10 | MentalPower | http://norganna.org/bb/index.php?showtopic=1875 |
00:16.11 | Mikk1 | It's in Lua |
00:16.13 | Miravlix | Blizzard messed with WoW lua saved data size |
00:16.34 | Miravlix | We aren't sure yet in what way, but have lots of lost data reports |
00:16.37 | MentalPower | from user posts I beleve theres a ~27MB limit |
00:16.48 | Miravlix | I have 100 MB |
00:16.56 | MentalPower | on a single table? |
00:17.08 | Miravlix | Oh, not sure about that. |
00:17.13 | zespri_work | MentalPower, yeah, I'm expiriencing this too |
00:17.51 | Miravlix | Naah not even close to that |
00:18.04 | Miravlix | Just 10 MB as the larges saved variables |
00:18.10 | Miravlix | largest |
00:18.25 | Mikk1 | Seems to be related to the number of variable names |
00:18.30 | Mikk1 | google "constant table overflow" lua |
00:18.45 | Miravlix | purl search constant table overflow |
00:19.13 | Miravlix | Hmm, wrong syntax or purl can't do it |
00:19.21 | *** join/#wowi-lounge Tem_ (i=tardmrr@ip70-177-39-212.br.br.cox.net) |
00:23.20 | Miravlix | I spend a fortune on a new computer and I've loged into wow once |
00:23.41 | Mikk1 | From digging a little in Lua sources, I think restructuring the SavedVariables tables into fewer entries with more data in them might help |
00:23.59 | Miravlix | That a serusly waist of 60 FPS in high populated areas |
00:24.53 | AnduinLothar | seems to me blizz should just fix it :P |
00:25.19 | Miravlix | Or give us a database saved variable |
00:25.41 | Miravlix | Getting a bit silly with those big databases in tables |
00:26.56 | Mikk1 | Orly? =P |
00:27.15 | Miravlix | Though thats the usuall pipe dream, since it's something that requires work to implement and Blizzard has no need for it. |
00:29.32 | *** join/#wowi-lounge tardmrr (n=tardmrr@ip70-177-40-169.br.br.cox.net) |
00:54.30 | Mikk1 | Random idea: Maybe that's the error you get if you run out of RAM while a Lua file is loading? |
00:54.39 | Mikk1 | As opposed to running out of ram "runtime"? |
00:54.57 | Mikk1 | Just try upping the limit? |
01:04.07 | AnduinLothar | i didn't know the editbox have tab completion of slash commands and emotes.. that's cool |
01:04.48 | Kirov_ | the editbox has a lot of tab functionality actually |
01:05.14 | Kirov_ | you can cycle forward and backward through your tell history |
01:05.26 | AnduinLothar | nah, that's it. jsut that and whisper target tabbing |
01:05.42 | AnduinLothar | right |
01:05.51 | AnduinLothar | but that's not tab |
01:05.58 | AnduinLothar | that's just alt -up/down |
01:06.39 | Kirov_ | well, msg history and tell targets / receivers |
01:06.56 | AnduinLothar | msg history isn't with tab... ? |
01:07.12 | Kirov_ | msg history is alt + arrow keys |
01:07.19 | AnduinLothar | right... |
01:07.28 | AnduinLothar | i'm jsut lookign at tab at |
01:07.29 | AnduinLothar | atm |
01:07.58 | Kirov_ | If the editbox is in tell mode, tab will cycle through targets, alt+tab will cycle back through them, if I remember correctly |
01:08.12 | Kirov_ | and I think shift+tab does targets you've sent tells to |
01:08.29 | AnduinLothar | i dont see that in ChatEdit_OnTabPressed... |
01:08.40 | Kirov_ | hmm |
01:08.46 | AnduinLothar | all i see is target cycling |
01:08.48 | Kirov_ | maybe it's something I have |
01:09.26 | Kirov_ | they added shift+r for last tell target, though I already use that for "send tell to my target / mouseover" |
01:09.54 | AnduinLothar | shift+r they stole from telltrack |
01:10.13 | Kirov_ | i should move my stuff to shift+ctrl+r |
01:10.13 | Kirov_ | heh |
01:11.27 | Kirov_ | being able to send a tell to whomever you have selected, or who ever your mouse is hovering over (if it's a friendly and your target isn't or you don't have a target) is probably one of my most used mods. |
01:11.27 | AnduinLothar | was thinkign about making a shift-right-click that hooks WorldFrame.OnMouseDown and gives you a 'mouseover' unit dropwdown |
01:11.43 | Kirov_ | It works on party and ctraid frame hovers too |
01:12.01 | Kirov_ | AnduinLothar - Gello wrote one |
01:12.11 | AnduinLothar | link |
01:12.19 | Kirov_ | not sure if he released it |
01:12.44 | Kirov_ | nope |
01:12.47 | AnduinLothar | what good is that :P |
01:12.59 | Kirov_ | Someone asked for it on the forums a while back, so gello posted it. |
01:13.09 | Kirov_ | But I guess he never officially released it |
01:15.34 | Tem | THE LIVING ARE HERE |
01:15.54 | AnduinLothar | ! |
01:18.48 | zespri_work | I'll probably post what I typed for MentalPower here, because he is afk and somebody else mught be interested. He copmlained about "constant table overflow" error being throen in one of his addons on load and here is what I found, here goes spam: |
01:18.51 | zespri_work | Do you remeber that once there was a talk that blizzard hand parsing the SV instead of just simly feeding to lua engine? |
01:18.51 | zespri_work | I don't remeber when or what for this was done, I guess it was done to overcome some subtle formating problems |
01:18.51 | zespri_work | The thing is that they probably constract a new LUA based on the content of SV and feed this to the engine, and here is what makes me think so |
01:19.05 | *** join/#wowi-lounge zespri_work (n=andrews@124.197.16.117) |
01:19.47 | zespri_work | damn flood filter =) |
01:20.03 | zespri_work | there are only two places in the lua sources that mention your specific error. I'll put one of the places aside for now and concentrated on the other |
01:20.04 | zespri_work | Namely this is happening when the parser is trying to allocate a entry on a function constant's table |
01:20.13 | zespri_work | Each function has a cosntant table when it's defined. if you write local blabla = 1 or local bla = "sdfsd" or local dfg=nil, the left sides of these expressions got stored in the function's constant table |
01:20.13 | zespri_work | then when function executes it uses LOADK op code and the parameter is offset in the function's constant table. |
01:20.17 | zespri_work | each instruction takes up 32 bits, opcode occupies 6 bits and the first parameter (where to load the constant to) takes up 8 bits. this leaves 18 bits for the constant index |
01:20.17 | zespri_work | so there is no way you can have more then 18bits worth of constants defined in a single function. |
01:20.23 | zespri_work | when there is more "Constant table overflow" is thrown |
01:20.23 | zespri_work | this is not because of tight memory, this is because the engine limitation which can't have more then 18bit worth of constants in a function |
01:20.31 | zespri_work | so if you have for example the following code: |
01:20.31 | zespri_work | RegisterSV("aaa") |
01:20.35 | zespri_work | RegisterSV("bbb") |
01:20.35 | zespri_work | RegisterSV("ccc") |
01:20.37 | zespri_work | RegisterSV("ddd") |
01:20.37 | zespri_work | and this repeats more then 2^18 times you will get the error |
01:20.40 | zespri_work | So what I'm thinking is that blizz internaly construct similar code to load your SV |
01:20.41 | zespri_work | and this breaks. |
01:20.43 | zespri_work | Does it make sense? |
01:20.43 | zespri_work | 2^18 = 262144, so this is the number of constants that you can have in your function |
01:20.48 | zespri_work | that's it =) |
01:22.18 | Mikk1 | I'd also point out that a "Lua file" is a "function" as far as Lua is concerned internally =) |
01:24.04 | Mikk1 | purl, constant table is Lua's per-function list of constants. There can only be 2^18 = 262144 constants per function. Note that a Lua file is also a function, internally. |
01:24.12 | purl | okay, Mikk1 |
01:24.17 | Mikk1 | purl, constant table |
01:24.18 | purl | well, constant table is Lua's per-function list of constants. There can only be 2^18 = 262144 constants per function. Note that a Lua file is also a function, internally. |
01:24.24 | Mikk1 | ~botsnack |
01:24.24 | purl | Mikk1: aw, gee |
01:33.34 | Kaso | that bot owns |
01:39.42 | Kaso | Mikk1: waging war on empty stubs for the good of human-kind. |
01:39.49 | *** join/#wowi-lounge Esamynn (n=jbcc@d207-216-176-153.bchsia.telus.net) |
01:41.46 | Esamynn | Evening all |
01:42.06 | Kaso | I should do more for wowwiki, i re-wrote/tided the field duty article today, i might do some more of that. |
01:44.01 | AnduinLothar | Satellite should be beta testable ina few min mikk |
01:44.03 | Mikk1 | Category:Things to do! |
01:44.42 | Mikk1 | AnduinLothar: oo. i was more interested in the sky lib with a minimum of extras |
01:44.51 | Mikk1 | Haven't gotten around to fixing my comms lib =) |
01:45.06 | AnduinLothar | that will take longer |
01:45.09 | Mikk1 | ah |
01:45.54 | AnduinLothar | the idea was actually to get Sky to use Satellite and have Satellite be the smaller part that other addons could sue |
01:46.06 | Mikk1 | ... |
01:46.06 | Mikk1 | oh |
01:46.10 | Mikk1 | so satellite is the comms lib? |
01:46.29 | Mikk1 | ok, if so, that's the one i want =) |
01:46.33 | AnduinLothar | satellite is the slash command lib |
01:46.37 | Mikk1 | er |
01:46.47 | AnduinLothar | sky is the channel/whisper comm lib |
01:46.59 | Shadowd|Nax | yay! |
01:47.00 | Mikk1 | why would other addons want to use Satellite? o.O |
01:47.03 | Shadowd|Nax | 1.11.2 tomorrow |
01:47.28 | AnduinLothar | same reason you wrote your howto and mroe |
01:47.53 | Mikk1 | I don't think I understand what Satellite is =P |
01:47.59 | Kaso | Shadowd|Nax what does .2 bring us? |
01:48.15 | Shadowed | http://forums.worldofwarcraft.com/thread.aspx?fn=wow-general&t=8955273&p=1&tmp=1#post8955273 I guess it goes to PTR first |
01:48.50 | AnduinLothar | http://pastebin.ca/80094 |
01:49.19 | Kaso | Fixed an issue where it was possible to place special bags inside one another. hmm i have to try this out and see what happens when i leave them in one-another then log for patch. |
01:49.28 | Mikk1 | AnduinLothar: aaaahhhhhh |
01:49.35 | Mikk1 | Ok, utilities to CREATE slash commands |
01:49.40 | Mikk1 | I thought it was sky's slash commands |
01:50.30 | AnduinLothar | well Sky has had Sky.registerSlahsCommand forever.. but if you wanted to use it you would have to opt dep it cause no one wanted to req ALL of Sky just for that |
01:51.47 | AnduinLothar | so satellite lets you register slash commands or whole chat types |
01:52.30 | AnduinLothar | but even without it Sky is still some 3k lines long... |
01:54.54 | Shadowed | So has anyone tried resetting a secret question before for there WoW account? |
01:58.13 | Shadowed | Guess not. I guess they probably have something to prevent you trying to guess your secret question too. |
02:01.09 | Kaso | woot ive got 5 herb pouches in my herb pouch, wonder what'll happen when then patch 1.11.2 |
02:11.38 | AnduinLothar | well mikk, you wanna play with this? |
02:12.01 | Mikk1 | aeuhuhhhh no not really. Sky is still what I need =/ |
02:12.11 | AnduinLothar | k |
02:25.51 | *** join/#wowi-lounge Wobin (n=Wobin@221.221.19.150) |
02:30.07 | *** join/#wowi-lounge Iriel (n=daniel@adsl-71-158-244-138.dsl.pltn13.sbcglobal.net) |
02:30.18 | *** mode/#wowi-lounge [+o Iriel] by ChanServ |
03:08.58 | MentalPower | quiet night... |
03:09.02 | Cairenn | aye |
03:09.56 | Cairenn | lot of those lately |
03:10.51 | Iriel | summer and all that |
03:11.03 | Cairenn | must be |
03:11.52 | MentalPower | oh Iriel you're here |
03:12.05 | MentalPower | you missed our "constant table overflow" conversation |
03:13.08 | Mikk1 | purl, constant table? |
03:13.11 | purl | i guess constant table is Lua's per-function list of constants. There can only be 2^18 = 262144 constants per function. Note that a Lua file is also a function, internally. |
03:13.11 | Iriel | Apparently so, my dsl crapped out earlier and since I was at work I couldn't fix it |
03:13.21 | Cairenn | ugh Iriel |
03:13.45 | Iriel | and I can only get here via my VPN to home, which is why I vanished earlier. |
03:14.08 | Iriel | You'd have to try pretty hard to overflow THAT |
03:14.40 | MentalPower | tell that to my users |
03:14.54 | Iriel | Oooh,, saved variables. yeah |
03:14.56 | Iriel | tricky |
03:15.12 | Mikk1 | Table index = consant |
03:15.13 | MentalPower | http://norganna.org/bb/index.php?showtopic=1875 |
03:16.14 | Iriel | I would expect you could reduce the problem by restructuring data |
03:16.27 | Iriel | But that'd probably push up memory use |
03:16.27 | MentalPower | also behold in that thread, my noobishness concerning Lua internals |
03:16.42 | Mikk1 | MentalPower: Example of your savedvariables file? |
03:17.27 | MentalPower | http://rapidshare.de/files/21249661/Auctioneer.lua.html |
03:17.27 | MentalPower | thats not mine |
03:17.27 | Iriel | I wasn't aware of this particular restriction, but was aware something like this had to exist |
03:17.27 | MentalPower | I personally don't have this issue |
03:17.44 | MentalPower | think slouken can fix it? |
03:17.54 | Mikk1 | doubt it |
03:18.06 | Iriel | No |
03:18.10 | Iriel | it's not broken |
03:18.12 | Iriel | it just 'is' |
03:18.22 | Mikk1 | Well actually |
03:18.25 | Mikk1 | It's sort of fixable |
03:18.27 | MentalPower | Mikk1: http://endareth.fastmail.fm/Auctioneer.rar <---thats another |
03:18.34 | Iriel | Unless he wants to change the constant representation of the lua compiler |
03:18.40 | Mikk1 | You just need to create parts of tables in different functions |
03:18.45 | Iriel | but that's not exactly a trivial undertaking, or, for that matter, worthwhile |
03:19.05 | Iriel | Norganna can fix it by changing the data format of the saved variables, encode multiple things into single strings, etc. |
03:19.06 | MentalPower | well, theres a different way to fix it |
03:19.08 | Iriel | It'll have a runtime overhead |
03:19.10 | Iriel | but it'll work |
03:19.18 | Iriel | Or spread the data across multiple addons |
03:19.18 | MentalPower | SavedVariablesPerServer |
03:19.30 | MentalPower | and we've already serialized our dataformat |
03:20.20 | Iriel | This IS probably the most compelling argument for SavedVariablesPerRealm to date, tho |
03:20.24 | Mikk1 | wouldn't something like myTable = { [1] = function() return { a=1,b=2,c=3 }, 2 = function() ... } solve it tho? |
03:20.31 | Mikk1 | That's true |
03:21.11 | Iriel | Well, in a way the irony is that serialization may well be the cause of the issue |
03:21.27 | Iriel | if you use an unserialized format where most of the data is numeric, I THINK you get away with it |
03:22.06 | Cairenn | well, he (Slouken) is supposed to be back tonight, so I think you can hope to see a presence by him on the forums tomorrow |
03:22.26 | Mikk1 | Possibly, Iriel. And you could probably replace the numbers runtime. |
03:22.37 | MentalPower | if I may ask, where was he? |
03:22.39 | Mikk1 | Unless I misinterpret what the constant table is |
03:23.00 | Iriel | The constant table is the lookup table of constant strings and things that's tacked onto a function/file |
03:23.02 | Mikk1 | Hrm.. "Make a lookup table" btw |
03:23.13 | Iriel | referenced by the runtime |
03:23.13 | Mikk1 | Otherwise you can't save :D |
03:23.21 | Iriel | sorry, bytecode, not runtime |
03:23.32 | Mikk1 | Sounds like integer index would work then |
03:23.46 | Iriel | lookup tables dont help too much though, you can use string constants as long as they have low cardinality |
03:24.02 | Iriel | 75,000 ocurrences of "Mikk1" is still only one constant table entry |
03:24.18 | Mikk1 | Owait |
03:24.22 | Mikk1 | The values are constants too |
03:24.29 | Iriel | (at least, it should be, unless the compiler is retarded) |
03:24.31 | Iriel | Yes, but no. |
03:24.48 | Iriel | IIRC |
03:24.48 | MentalPower | they are? |
03:24.51 | Iriel | But that's why I said 'I THINK you can get away with it' |
03:24.53 | Iriel | I'llt est that now |
03:24.56 | Mikk1 | foo["bar"] = "baz" <- 3 constants? |
03:25.06 | Mikk1 | "bar" and "baz" are constants anyway |
03:26.00 | Iriel | Numbers are constants too, ah well 8-) |
03:27.11 | Mikk1 | O |
03:27.53 | Mikk1 | Anyway, it'd be pretty easy to combine big chunks of auctioneer's tables into larger strings |
03:28.05 | Mikk1 | The format would be a little clunkier but... |
03:31.00 | Iriel | The eternal challenge of compromise 8-) |
03:31.39 | MentalPower | sigh |
03:32.06 | Iriel | Or force users to throw stuff away sometimes 8-) |
03:33.01 | MentalPower | these are the hardcore users that all they do is play the AH on many different servers all day long |
03:33.48 | Iriel | Maybe they need a 'save this for my character' option? |
03:33.51 | Mikk1 | The quick-n-dirty solution: Keep only a single entry for each item. Embed all values related for that item across all servers in a single string. |
03:34.16 | Mikk1 | This includes lots of entries that are now split away to other subtables |
03:34.26 | Mikk1 | (counts, medians, ...) |
03:36.34 | Mikk1 | Huhu. There's a lot of data duplication going on it seems |
03:37.28 | MentalPower | for cache purposes |
03:37.52 | MentalPower | I guess those are the first to go |
03:38.09 | Mikk1 | they can be recreated runtime |
03:38.15 | Mikk1 | they just can't be saved |
03:39.10 | *** join/#wowi-lounge ckknight_ (n=ckknight@rrcs-67-53-204-251.west.biz.rr.com) |
03:42.43 | Iriel | Well, that's a good practice for memory use if nothing else |
03:43.07 | Mikk1 | Actually, I did it so it'd be easier to do online sync of the daya =) |
03:43.09 | Mikk1 | data* |
03:43.58 | Mikk1 | And, yeah, good for mem use too. It's historical data so doesn't get accessed that often |
03:46.21 | Thrae | Iriel: Hey, I've been mulling around a problem with TinyTip, a unit tooltip mod I've been working on. People want to be able to offset the anchor when the tooltip is stuck to the cursor, and you can't do that with ANCHOR_CURSOR. |
03:46.40 | Iriel | OnUpdate and explicit positioning |
03:47.09 | Thrae | Iriel: My hack was to create a blank tooltip with ANCHOR_CURSOR, then anchor GameTooltip to this tooltip. This works, but then other problems arose. |
03:47.14 | Iriel | Though MAYBE you can do it with ANCHOR_CURSOR |
03:47.32 | Iriel | Hm, I was going to suggest mostly that, but instead of 2 tooltips, just anchor all the fonts inside the tooltip at an offset |
03:47.39 | Iriel | But that may screw with the auto resize |
03:47.55 | Thrae | Hmmm. |
03:48.18 | Mikk1 | Explicit positioning sounds easiest tbqph |
03:48.23 | Thrae | That's a very good idea though. |
03:48.37 | Mikk1 | Even allows you to avoid certain areas of the screen if you like |
03:48.51 | Mikk1 | Or explicitly push it towards edges rather than at a static offset |
03:49.17 | Iriel | It's non-painful and works well |
03:49.35 | Thrae | What, explicit positioning with an OnUpdate timer? |
03:49.51 | Iriel | You wont want any kind of timer tho |
03:49.59 | Iriel | just a simple grab-cursor-re-anchor-tooltip |
03:50.35 | Mikk1 | <OnUpdate> GetCursorPosition() ... MyTT:SetPoint() ... </OnUpdate> |
03:50.37 | Thrae | How would I know when to re-position the tooltip? Or are you saying do this WITH ANCHOR_CURSOR? |
03:50.47 | Iriel | what mikk just said, basically |
03:50.50 | Mikk1 | Anchor it to the screen |
03:50.55 | Iriel | use nil for the parent in your SetPoint |
03:51.03 | Thrae | Yeah, BOTTOMLEFT. |
03:51.10 | Iriel | you may need a MyTT:ClearAllPoints() also |
03:51.22 | Mikk1 | Yeah at least when first shown |
03:51.25 | Iriel | And use one of the fixed anchor settings on the tooltip |
03:52.25 | Mikk1 | <OnUpdate> x,y = GetCursorPosition() ... MyTT:SetPoint("BOTTOMLEFT", nil, x+foo, y+bar) ... </OnUpdate> |
03:52.26 | Mikk1 | there =) |
03:52.58 | Iriel | In fact |
03:53.04 | Iriel | Put the OnUpdate *ON* your tooltip, and use this: |
03:53.05 | Iriel | then it |
03:53.11 | Iriel | Then it only runs when your tooltip is visible |
03:53.17 | Mikk1 | haha |
03:53.18 | Mikk1 | true |
03:53.56 | Thrae | Yeah, I was just thinking of hooking GameTooltip's OnUpdate script. |
03:54.13 | Mikk1 | OOOOHHHHHH |
03:54.34 | Mikk1 | That's another way of telling that GameTooltip is visible =) |
03:54.35 | Thrae | I was hoping if I did my hooking correctly, I wouldn't have to create a duplicate tooltip. |
03:54.41 | Iriel | Well, do your handler as your own then calls the normal OnUpdate |
03:55.04 | Iriel | rather than hooking the function that ALL of the tooltips call |
03:56.25 | Mikk1 | So... aeurhm... |
03:56.40 | Mikk1 | The GameTooltip is actually the class definition also |
03:56.46 | Mikk1 | I didn't think of that >.< |
03:56.51 | Mikk1 | Gawd how ugly |
03:58.04 | Iriel | Hm, as it happens GameTooltip doesn't have an OnUpdate |
03:58.04 | Iriel | 8-) |
03:58.20 | Mikk1 | Well ok that solves that problem then =P |
03:58.39 | Thrae | It doesn't use it, but you never know if it might be there or not from another mod. |
03:59.27 | Iriel | Oh, no, it's valid on all Frame objects |
04:00.17 | Mikk1 | Actually though... |
04:00.27 | Mikk1 | How often do handlers chain back to the same handler in a base class? |
04:00.29 | Iriel | Heh, I just realized my mage hadn't re-specced 8-) |
04:00.34 | Mikk1 | ... mostly like .. um.. never? |
04:00.43 | Iriel | handlers are instance specific |
04:00.46 | End | what level is your mage? |
04:01.10 | Iriel | GameTooltips are confusing because it's a class and an object and logically a template (though that's GameTooltipTemplate) |
04:01.13 | Iriel | End: 25 |
04:01.22 | End | oh, that's forgivable |
04:01.41 | End | mine is 23 or 24, and I don't think I've respecced him either |
04:01.53 | Wobin | Iriel: I was talking to a level 52 rogue the other night, that had 31 points free. |
04:02.01 | End | well...you can spec a level 9 anyways |
04:02.14 | Thrae | Hmmm. If I WERE to use my own tooltip, that would fix some other problems as well, but then there's the resource usage to consider. Maybe if I didn't use GameTooltipTemplate and instead did a totally dynamic solution. |
04:02.32 | Iriel | I forgiot about the talent reset |
04:02.42 | End | erm |
04:02.44 | End | can't I mean |
04:02.47 | End | you know what I meant |
04:02.52 | Mikk1 | aye =) |
04:02.59 | Iriel | Thrae : That may fix other things, but it wouldn't really help here |
04:04.37 | Thrae | Iriel: Yeah, that was more just thinking out loud. |
04:05.59 | Thrae | Now if I create my own tooltip, this will interfere with other mods that add information to the tooltip. |
04:06.53 | Thrae | s/interfere/lose support for/ |
04:07.15 | *** part/#wowi-lounge Mikk1 (i=bofh@81-233-236-26-no19.tbcn.telia.com) |
04:07.20 | *** join/#wowi-lounge Mikk1 (i=bofh@81-233-236-26-no19.tbcn.telia.com) |
04:07.33 | Mikk1 | Thrae: I still think you should have two tips |
04:07.44 | Mikk1 | One minitip at cursor, and one big one at the bottom |
04:07.53 | Mikk1 | I.e. leave the good old GameTooltip down at the bottom |
04:08.12 | Kemayo | I like that suggestion. |
04:08.39 | Thrae | I can't see a way around support for other tooltip-altering mods other then parsing extra line at OnShow. |
04:08.39 | Kemayo | (I'm enjoying TinyTip, but find myself missing my MobInfo2 stats.) |
04:08.54 | Thrae | Mikk1: Yeah, that's one idea too ;) |
04:09.02 | Mikk1 | It's the one I prefer =P |
04:09.13 | Mikk1 | Not just from a programming standpoint I mean |
04:09.35 | Mikk1 | Minimum of bloat covering chars. Maximum of info where it doesn't bother me. |
04:09.51 | Mikk1 | If I need to read lots, it doesn't matter that I need to look in the corner. It'll take time either way. |
04:10.48 | Thrae | Yeah, but then you also have tiny mods like HunterTamer or whatever which may just add 1-2 lines to the tooltip. |
04:11.04 | Mikk1 | That's still 2 lines I don't need when mousing over 99.99% of mobs |
04:11.19 | Mikk1 | Covering the mobs themselves I mean |
04:11.23 | Mikk1 | Don't mind it much down in the corner |
04:11.50 | Thrae | I never said I wouldn't implement your suggestion Mikk1, but I'm trying to think of all users here. Hmmm. |
04:11.50 | *** join/#wowi-lounge zespri (n=andrews@202.180.98.138) |
04:11.54 | Mikk1 | Ah =) |
04:12.12 | zespri | what is the function for getting target's target? |
04:12.26 | Mikk1 | UnitWhatever("targettarget") |
04:12.39 | Thrae | How about an option to stick GameTooltip to my tooltip, and hide the normal GameTooltip text? Then if you WANT the extra information from other mods sticking to your tooltip, that could be arranged. |
04:12.47 | Mikk1 | UnitSomethingElse("raid39pettargettarget" |
04:12.55 | Wobin | zespri: just tack on 'target' to any other unitname |
04:13.04 | Wobin | Mikk1: Not gettarget |
04:13.09 | Wobin | oops |
04:13.12 | Wobin | hehe |
04:13.18 | Wobin | *facepalm* |
04:13.29 | Wobin | That's me reading backwards again =P |
04:13.34 | Mikk1 | Thrae: How about hooking AddDoubleLine? |
04:13.41 | Mikk1 | Only addon crapola comes in that way |
04:13.46 | Mikk1 | No actual game info |
04:14.00 | Thrae | Both AddLine and AddDoubleLine you mean? |
04:14.03 | Mikk1 | ofc |
04:14.11 | Thrae | OFC? |
04:14.25 | Iriel | Hooking the add functions doesn't help much |
04:14.27 | Mikk1 | "of course" |
04:14.29 | Iriel | the game engine doesn't use them |
04:14.33 | Mikk1 | That was my point |
04:14.45 | Mikk1 | He just wanted an option to grab hold of stuff that addons add to the tooltip |
04:14.47 | Thrae | Iriel: We're talking about only information from other addons. |
04:15.08 | Iriel | Ah, I must have been dealing with some polymorphing when that scrolled by 8-) |
04:15.19 | Mikk1 | Of course, it won't help with addons that add new UI objects around the tooltip |
04:15.31 | Wobin | 'ofc' is the most confusing non acronym acronym around =P |
04:15.31 | Thrae | Right. |
04:15.39 | Mikk1 | Then again, that's 99% likely to screw with your little icons anyway |
04:15.45 | Mikk1 | So perhaps they're just better off down in the corner |
04:16.11 | Mikk1 | Wobin: It's not an acronym, it's an abbreviation =) |
04:16.47 | Thrae | "apologizes profusely" has no 'c' in it? |
04:17.17 | Mikk1 | Thrae: "ofc"="of course" |
04:17.22 | Mikk1 | the apology was for USING it =) |
04:17.23 | Wobin | Mikk1: It's a lousy abbreviation =P |
04:17.39 | Mikk1 | I'm not going to argue against that =) |
04:17.40 | Iriel | I agree, it's a pretty bad abbreviation |
04:17.43 | Wobin | because it's -used- like an acronym |
04:18.05 | Thrae | Wait, why are my English skills subpar? |
04:18.17 | Kaelten | gods bank support is driving me crazy |
04:18.32 | Thrae | That reminds me, Kaelten. |
04:18.34 | Kaelten | ? |
04:18.39 | Wobin | Kaelten: Hehe, I feel your pain =) |
04:18.48 | Mikk1 | Thrae: Dunno. Perhaps you never had the cash to get past 225? =) |
04:18.53 | Wobin | PLAYER_BANKSLOT_UPDATED |
04:19.24 | Kaelten | actually its supporting trading the bags around |
04:20.01 | zespri | Did I say 'thank you' Mikk1? |
04:20.15 | Thrae | Mikk1: Was it my grammar, or did I misspell? |
04:20.58 | Wobin | Kaelten: I've noticed that while using CTMailMod with OneBag, it greys out odd slots, ie not the slots I was using, would that be CTMM or OneBag? |
04:21.34 | *** join/#wowi-lounge zespri|home (i=andrew@202.180.98.138) |
04:23.49 | Mikk1 | Thrae: No, it was calling an abbreviation an acronym. But, seriously, that's where you just slap me one upside the head and we get back to talking tooltips =) |
04:24.14 | Thrae | Wait, but Wobin said that :D |
04:24.28 | Mikk1 | Oh |
04:24.33 | Mikk1 | Pardon Thrae =) |
04:25.13 | Thrae | Anyway. Instead of hooking AddLine and AddDoubleLine, I was thinking of just parsing extra lines at OnShow. |
04:25.34 | zespri | So do you think UnitIsUnit("player", "targettarget") will work for checking if my target is attacking me or someone else? |
04:25.42 | Kaelten | wobin I honestly have no idea |
04:26.06 | Wobin | zespri: yes |
04:26.10 | Thrae | zespri: Works for me, but also check for UnitExists("target") and UnitExists("targettarget") |
04:26.30 | Thrae | I seem to recall an error from "target" and/or "targettarget" not existing if you do UnitIsUnit |
04:26.30 | zespri | Thrae: why? |
04:26.38 | Mikk1 | Try it |
04:26.43 | Mikk1 | Might not be necessary any more |
04:27.13 | End | arg |
04:27.14 | Thrae | This was when I was testing TinyTip, which is post 1.11, but my memory might be mistaken. |
04:27.21 | Mikk1 | o |
04:27.21 | zespri | ok thanks guys |
04:27.23 | End | it costed my priest 2g to train level 20 skills |
04:27.57 | Wobin | It costed my rogue 20g to train level 52 skills =( |
04:28.09 | Mikk1 | Thrae: That might work too I suppose... Just please make it optional =) |
04:28.16 | Mikk1 | (Cause I for one don't even want it up there) |
04:28.21 | End | it costed my shaman like 8g to train level 54 skills |
04:28.25 | Thrae | I costed my Druid 10g to learn Level 44 skills. |
04:28.27 | Mikk1 | Or POSSIBLY make it pattern based so I can select what goes up there. |
04:28.41 | End | (there was like 4 totems to learn for level 54, all around 2g) |
04:28.49 | Thrae | Mikk1: Hmmm, good idea. |
04:29.18 | Iriel | Thrae: The issue would have been around comparing 2 units that didn't exist with one another. |
04:29.51 | Thrae | Iriel: Ah, so if one unit exists, it won't error and just return false, right? |
04:30.02 | Iriel | Yes |
04:30.15 | Iriel | Which is to say, it wont error, and it will return false. |
04:30.28 | Iriel | It didn't error either way, it just returned true at unexpected moments |
04:31.03 | Iriel | null == null, I think, but something like that |
04:31.06 | Mikk1 | aye |
04:31.21 | Mikk1 | was just going to say ;) |
04:31.32 | Iriel | I think we had it changed so that a null unit never compares equal to another one |
04:32.14 | Iriel | Other than itself |
04:32.29 | Thrae | I don't suppose there is any way other then OptionalDeps to make sure I hook a function before any other non-Blizzard addon, right? |
04:32.44 | Iriel | Right, and even then you have no guarantees |
04:33.01 | Mikk1 | Hooking loadtime increases the chances |
04:33.07 | Iriel | you can just guarantee the order W.R.T. addons you list as depdendencies |
04:33.26 | Mikk1 | But what is it that you need to hook so early? o.O |
04:33.46 | *** join/#wowi-lounge zespri (n=andrews@202.180.98.138) |
04:33.49 | Mikk1 | Oh.. OnShow |
04:33.51 | zespri | I can use pcall instead of calling UnitExist I guess |
04:33.59 | Mikk1 | Just hook Add*() =) |
04:34.06 | Iriel | Why would you do that? |
04:34.19 | Iriel | UnitExists doesn't throw errors unless you pass it garbage |
04:34.21 | Thrae | GameTooltip_SetDefaultAnchor has been screwy for me lately with other mods that hook it too. |
04:34.35 | Mikk1 | But you wouldn't need to hook it? |
04:35.10 | Thrae | Mikk1: I need to hook it to update the position of the original GameTooltip. |
04:35.23 | zespri | Thrae said that UnitIsUnit throws a error if you or your target don;t have a target so you have to call UnitExist to checl this. it seems to me that it's simpler to just wrap UnitIsUnit in a pcall |
04:35.26 | Mikk1 | Force it back in the corner you mean? |
04:35.39 | Iriel | zespri: I'm pretty sure he's mistaken. |
04:35.43 | Thrae | zespri: I was wrong on that one, Iriel corrected me. |
04:35.47 | Mikk1 | zespri: just test it |
04:35.53 | Thrae | Mikk1: Right, exactly. |
04:36.01 | Mikk1 | Ah. Just move it there in your OnUpdate =) |
04:36.37 | zespri | Thank you guys |
04:37.08 | Thrae | Well, I would still need to at least hook GameTooltip:Show or OnShow or SetUnit. |
04:37.33 | Thrae | Otherwise I wouldn't be able to tell when someone's mousing over a unit frame. |
04:37.34 | Mikk1 | <OnShow> if you want to do scanning, definitely |
04:37.44 | Mikk1 | But again you have the problem of order-of-adding |
04:37.54 | Mikk1 | If some other tip adds stuff in his onshow and you hook after ... |
04:38.05 | Mikk1 | Just hook Add[Double]Line() already =) |
04:39.48 | Thrae | Mikk1: That doesn't solve the problem of oddly coded addons which do ("GameTooltipTextLeft" .. GameTooltip:GetNumLines() ) stuff, but I guess I could just fix that when I encounter it. |
04:40.33 | zespri | If it can't be more then 262000 something constants in a function, I don't understand how huge SV's work then |
04:40.34 | Mikk1 | Those addons are so broken it's not even funny though. |
04:40.38 | zespri | or they don;t? |
04:40.59 | Mikk1 | Thrae: Two of those can't both add new lines |
04:41.34 | Mikk1 | (And I don't see it as a huge problem that their texts can't pop up in your overhead tip. They'll still show?) |
04:41.41 | Iriel | zespri: it's distinct values in one file |
04:42.26 | Mikk1 | All instances of "foo" is a single constant. All instances of "bar" is one more. |
04:43.15 | zespri | Iriel, so you think that even huge addons like Auctioneer never have more then 262 thouand values in their SV? |
04:43.16 | Wobin | s/is/are/ |
04:43.17 | Wobin | =) |
04:43.24 | Iriel | Not until now, absolutely 8-) |
04:43.34 | Iriel | We'd have heard of this error before now otherwise |
04:43.41 | MentalPower | zespri: we do, hence why I brought it up |
04:43.43 | Mikk1 | Looking at files that recently broke, they have ~600k lines |
04:43.51 | Mikk1 | And there's plenty of duplicate data in them |
04:43.54 | Iriel | The other approach would be for slouken to load the addon SV's the way the 'core' SV file is loaded |
04:43.59 | Mikk1 | I'd say it's pretty likely that they just hit 262k unique values |
04:44.28 | MentalPower | Iriel: and how is that? |
04:44.37 | zespri | Iriel, did you discuss this problem today already, when I was absent? |
04:44.42 | Iriel | Programatically rather than via Lua's loadfile |
04:44.47 | Iriel | though it's slower and more limited |
04:45.03 | zespri | Iriel, what is 'core' SV file? |
04:45.12 | MentalPower | SavedVariables.lua |
04:45.18 | Mikk1 | that's tiny? o.O |
04:45.19 | zespri | huh? |
04:45.40 | zespri | I thought they nuked SavedVariables.lua? |
04:45.44 | Mikk1 | it exists |
04:45.50 | Mikk1 | but it only has framexml stuff in it |
04:46.15 | zespri | then why does it matter how this SV is parsed if no addon can add anything there? |
04:46.38 | Iriel | The problem is only with PARSING of the file |
04:46.43 | Iriel | it has nothing to do with runtime storage |
04:46.58 | Iriel | The files are executed as lua code, not parsed with some kind of loader. |
04:47.10 | Iriel | thus they are subject to the Lua function definition restrictions |
04:47.18 | Mikk1 | But the original SavedVariables.lua is/was loaded with something else? |
04:47.29 | Iriel | the one exception, these days, is the main SavedVariables.lua file, which is now parsed via code, not executed. |
04:47.39 | Iriel | (To stop us loading arbitrary code along with FrameXML, I suspect) |
04:47.50 | zespri | Iriel, I guess my question is why sv.lua is parsed diferently the all addons sv's? |
04:48.00 | Iriel | The change went in when the code signing did |
04:48.07 | Iriel | See my previous comment for my guess on why |
04:48.15 | zespri | ok thanks |
04:48.25 | Iriel | The data it loads is quite possibly considered 'blessed' |
04:48.36 | Iriel | (or untainted, if you prefer) |
04:48.44 | zespri | Iriel, so you have any idea how the addon's sv files are created? |
04:48.50 | Mikk1 | That's easy |
04:48.57 | Wobin | unTainTed |
04:48.59 | Mikk1 | I could even code a Lua function to do it |
04:49.01 | Iriel | A bunch of code slouken wrote that just iterates over them and writes things out |
04:49.14 | Mikk1 | And that's not even the problem |
04:49.15 | Iriel | I think it's just C++ using the standard LUA API's |
04:49.25 | zespri | Iriel , ah ok. So there is no way to partition data to several functions |
04:49.27 | Iriel | And indeed, that works for ANY size file |
04:49.32 | Mikk1 | Yeah it'd have to since WoW doesn't have the io lib ;) |
04:49.40 | Iriel | zespri: Save it into multiple files (i.e. over multiple addons) |
04:49.50 | zespri | unless you create extra addons with the sole purpose of breaking the 2^18 limit |
04:50.00 | zespri | Iriel, exactly |
04:50.04 | Mikk1 | The loader could possibly also be changed to write out functions |
04:50.07 | Mikk1 | err |
04:50.08 | Mikk1 | the saver |
04:50.12 | Iriel | No, that doesn't help |
04:50.15 | Iriel | the FILE is a function |
04:50.20 | Iriel | loadfile creates a function from the file |
04:50.24 | Iriel | You need multiple files |
04:50.29 | Mikk1 | Ah. And constants of functions inside the function use the same constant table? |
04:50.50 | Iriel | I believe so. |
04:50.52 | zespri | Iriel if you have a function difined in a function, then each function has it's own table |
04:51.05 | zespri | Iriel, so this *should* help |
04:51.15 | Mikk1 | Except we can't change how the files are saved |
04:51.30 | zespri | Iriel, I can quickly test this |
04:51.40 | Iriel | Yes, they do. |
04:51.55 | Iriel | share, that is.. |
04:51.58 | Mikk1 | Ah okay |
04:52.01 | Mikk1 | Multiple files then |
04:52.56 | Mikk1 | Or just make the table formats more efficient, which is a good thing for RAM too |
04:52.58 | Iriel | But even that's tricky |
04:53.07 | Mikk1 | (Which IS an issue when we're talking files that are 30+ MB) |
04:53.10 | Iriel | Because a single table may need to be split across files |
04:53.20 | zespri | Iriel, it works. Give me a few seconds to paste |
04:53.22 | Iriel | Really the problem is using the 'UI' for more than it's really intended for. |
04:53.56 | Mikk1 | It's also quite possible that we'll never see a fix for this |
04:53.59 | Mikk1 | For policy reasons |
04:54.10 | Mikk1 | For that exact reason |
04:54.20 | Mikk1 | Time wil tell =) |
04:54.21 | zespri | Iriel, this last point I agree with |
04:54.49 | Iriel | zespri: ACtually, I agree with you for non-nested functions |
04:55.18 | Mikk1 | Yeah that makes sense |
04:55.18 | Iriel | My original test was flawed |
04:55.23 | Mikk1 | You just used nested huh? |
04:55.25 | zespri | Iriel, aha! So it can be a single file |
04:55.29 | Iriel | Some of my constants existed at the file level |
04:55.38 | Iriel | It could be, but you still run into the splitting-large-tables problem |
04:55.44 | Iriel | though even that's solveable |
04:55.46 | Iriel | it's just ugly |
04:56.08 | Iriel | ["subtable"] = (function() return { more = "data" })() |
04:56.47 | zespri | yeah |
04:56.50 | Mikk1 | I don't particularily want to know how long that'd take to execute |
04:57.06 | Mikk1 | And still only works if there's subtables |
04:57.12 | Mikk1 | A loooooong array would still break |
04:57.13 | Iriel | I wonder how long a 28MB Saved Variable takes to load |
04:57.19 | Mikk1 | mmhh |
04:57.34 | zespri | Iriel, and I don't really think that Soluken can be bothered supporting this. As you ahve pointed out, this is beyound the scope |
04:57.41 | Mikk1 | If it looks like Auctioneer's: A lot longer than one restructured to use bit strings would =) |
04:57.48 | Iriel | No, I agree, the only thing we can ask for (again) is SavedVariablesPerRealm |
04:57.50 | Mikk1 | s/bit/big/ |
04:58.02 | Iriel | And even that's tenuous |
04:58.45 | Iriel | If you're going to store ridiculous amounts of data, you likely need to think about these things. |
04:59.04 | Mikk1 | And the answer in general is "bloody forever". I've stopped using database addons. By loading times were slashed down to like 25% |
04:59.07 | Mikk1 | By=My |
04:59.34 | Thrae | String compression is fun. |
05:00.29 | zespri | I'd like to have a way to measure somehow, how long my sv will end up |
05:00.41 | zespri | in kbs as well as in unique constants =) |
05:00.56 | Mikk1 | You can compute it |
05:00.56 | Iriel | That's calculable |
05:01.09 | Mikk1 | Can do both in one big recursive function |
05:01.24 | zespri | yeah, but basically you have to write yorself what Soluken alreasy written - the dump function |
05:01.31 | Mikk1 | it's a oneliner |
05:01.51 | zespri | only if you know *for sure* how soluke is doing this |
05:01.56 | Mikk1 | i do =P |
05:02.09 | zespri | you do, don;t you? |
05:02.13 | Mikk1 | because i see how the SV files end up |
05:03.21 | *** join/#wowi-lounge KarlKFI (n=karl@ppp-67-126-241-122.dsl.irvnca.pacbell.net) |
05:03.28 | Mikk1 | Bah. Computing KB size is boring |
05:03.31 | Iriel | I dont think there's any doubt what format a given input would end up |
05:03.44 | Mikk1 | Need to take nesting and stuff into account |
05:03.50 | Mikk1 | Ok, I'm not going to do this just now =) |
05:04.11 | Iriel | Indeed, but recursion is filtered out, and strange value types are prohibited |
05:04.43 | Mikk1 | That comment was to my own comment |
05:04.56 | Mikk1 | "Computing KB is boring -- need to take nesting into account.." |
05:05.54 | Mikk1 | zespri: A function to mimic Slouken's code (sans error checking) is only like 15 lines of Lua |
05:06.06 | Mikk1 | And I do mean actually output the results too |
05:06.31 | Iriel | It's a bit bigger than that, because you have to catch recursion cleanly, and you need to print helpful messages for things like function values and the like |
05:06.44 | Iriel | Unless your 15 lines are arbitrarily long |
05:06.49 | Iriel | But it's not complicated by any means |
05:06.56 | Mikk1 | tostring(value) for all non-tables = still a oneliner |
05:07.03 | Mikk1 | But yeah only 15 without error checking |
05:07.16 | Iriel | But slouken's doesn't do that 8-) |
05:07.23 | Mikk1 | gah |
05:07.43 | Mikk1 | Putting functions in savedvariables is pointless either way =P |
05:07.53 | Iriel | You did say 'mimic' not 'vaguelly approximate' |
05:07.55 | Mikk1 | haha |
05:08.06 | Iriel | Indeed, though it 'worked' *cough* for a while, until I asked for it to be removed |
05:09.06 | Mikk1 | Erhm, arf, they were actually parsed back as function pointers too? |
05:09.30 | Iriel | No, it tried to pick the appropriate global name and emitted that into the file |
05:09.43 | Mikk1 | Ah |
05:09.48 | Mikk1 | Horrible =) |
05:09.51 | Iriel | but there are too many ways that can break in new and interesting ways |
05:09.58 | Mikk1 | Uh huh |
05:10.05 | *** join/#wowi-lounge chuckg (i=chuckg@66-237-5-116.starstream.net) |
05:10.05 | Iriel | So now it just puts a nil and a comment, I think |
05:10.09 | Mikk1 | Like SV getting loaded before hooks |
05:10.13 | Mikk1 | But saved after hooks |
05:10.40 | Iriel | Yes, and people aliasing global functions and it picking the wrong one |
05:10.52 | Mikk1 | Good riddance. Thanks =) |
05:11.33 | Thrae | Hmmm. Instead of _G.Var, doing local Var if not Var then GetSingleInstanceOf("Var") end -- branch vs hash, a few milliseconds saved? |
05:12.01 | Iriel | It's microseconds |
05:12.19 | Mikk1 | Several thousand clock cycles! |
05:12.43 | Thrae | Well, then you don't have to add more global variables too. |
05:12.46 | Iriel | Though I suspect the overhead of the if outweighs any benefit in that case |
05:13.18 | Thrae | Lua Ifs aren't necessarily just a branch? |
05:14.16 | Iriel | they're lua opcodes, which have to get executed by the VM |
05:14.43 | Thrae | Ah, so there's the overhead of that vs a hash. |
05:14.52 | Iriel | And lua hash lookups are damn fast |
05:15.45 | Iriel | One of those things which is fun to determine is whether it's worth localizing frequently used globals in a function, for example |
05:16.41 | Thrae | I do it anyway, don't know if it saves much if anything. Stuff like strfind = string.find, strformat = string.format, etc. |
05:18.10 | Thrae | Yeah, you also have to consider the average frequency of the function. Like I won't bother with doing it in slash commands, because I guess people don't compartively use them very often. |
05:18.26 | Thrae | s/compartively/comparitively/. |
05:18.50 | Iriel | The biggest saving is frame methods |
05:19.07 | Iriel | though you have to make some assumptions there, which may not always be safe. |
05:19.14 | Thrae | local GTShow = GameTooltip.Show ? |
05:19.59 | Iriel | Well, more something you'd call a lot |
05:20.01 | Iriel | say, SetPoint |
05:20.11 | Thrae | Right, just giving an example. |
05:20.16 | Mikk1 | Mm.. Frame methods result in a metatable __index lookup, which is a function, not just a pointer to another table. Oops. |
05:20.27 | Iriel | yes, it's a particularly slow function too |
05:20.49 | Iriel | I wrote a whole addon to demonstrate various techniques to speed it up |
05:20.53 | Mikk1 | I dunno.. I just did straight copy for multiple inheritance in winbench |
05:20.56 | Iriel | The results were interesting (It's called SecretSauce, you can find it on my website somewhere, I have notes on the results) |
05:21.01 | Mikk1 | Didn't seem like I cared about changes to base classes |
05:21.03 | Mikk1 | Since they don't get changed |
05:21.23 | Iriel | But unforytunately it taints everything, so it's not practical for normal use |
05:22.20 | Mikk1 | What? You stored local references to everything in the classes? |
05:22.26 | Iriel | That was one of the sauces |
05:22.27 | Iriel | tehre |
05:22.33 | Iriel | There are several |
05:22.43 | Iriel | some were better than others, they all had tradeoffs |
05:23.15 | Iriel | It partly depends on what you're willing to do for the sake of transparency |
05:23.31 | Iriel | The fact that all frame objects have the SAME metatable is a liability or a blessing, from different perspectives |
05:23.31 | Mikk1 | Not being able to hook stuff in UIObject and expect it to occur in all other classes isn't a major tradeoff in my book =P |
05:24.01 | Iriel | The inheritence model isn't really exposed to us, and that wasn't a tradeoff I cared about |
05:24.45 | Iriel | Breaking the one-metatable-for-all rule was |
05:25.13 | Mikk1 | Oh, even instanced objects of different classes use the same metatable? o.O |
05:25.26 | Iriel | EVERY UI OBJECT SHARES THE SAME METATABLE |
05:25.31 | Mikk1 | Eek |
05:25.33 | Iriel | (Emphasis deliberate, because it's important) |
05:25.44 | Iriel | The magic is all in the [0] index'ed userdata |
05:25.51 | Mikk1 | That sounds slightly evil to me |
05:25.58 | Iriel | well, the interaction between that and the metafunction |
05:26.00 | Iriel | it's clever, and clean |
05:26.04 | Iriel | very low overhead in LUA space |
05:26.10 | Iriel | runtime typing in C++ space |
05:26.24 | Iriel | it's unfortunately (relatively) slow |
05:26.36 | Iriel | Not slow enough that /most/ folks need to worry about it |
05:26.58 | Mikk1 | Seriously though.. wouldn't just making UI object __indexes point to their respective classes have the same RAM overhead and execute helluvalot faster? |
05:27.07 | Iriel | But if you're going to be fiddling with hundreds of frames in an OnUpdate, it's worth knowing how :GetText() and .savedText are different. |
05:27.36 | Iriel | Mikk1: That certainly would be one implementation that would have advantages |
05:27.50 | Iriel | Mikk1: Even using one of my per-type memoizing versions would speed up the base UI |
05:28.22 | Iriel | Mikk1: But I suspect one of the reasons that it's the way it is, is that the C++ and Lua pieces are kept nicely decoupled |
05:28.35 | Iriel | And it's not _that_ slow, it's just slow relative to other approaches |
05:29.02 | Iriel | personally i'd have given each frame type it's own memoizing metatable |
05:29.15 | Mikk1 | Granted, with a purpose-written function, you can't just plop something into the base class and have it pop up in 90% of the UI objects suddenly |
05:29.17 | Iriel | all pointing back to the same function they use now |
05:29.45 | Mikk1 | that works |
05:30.00 | Thrae | Hmm, I wonder how much it'll break GameTooltip:AddLine if I don't inherit from GameTooltipTemplate. |
05:30.20 | Iriel | Not at al, as long as you set up the lines right |
05:30.48 | Mikk1 | And certainly not in any way whatsoever if it's a dynamically created object that you never tell the game client about having any lines |
05:31.13 | Thrae | So AddLine dynamically creates its FontStrings? |
05:31.24 | Iriel | No, if you dont add lines you break it completely |
05:31.45 | Iriel | You need to dynamically register your font strings if you create the GameTooltip object with CreateFrame |
05:31.49 | Mikk1 | Ohwait you'll be doing SetUnit and stuff on it |
05:31.50 | Mikk1 | nm me |
05:32.12 | Mikk1 | yeah you need to tell the game engine about your strings just like iriel is saying |
05:33.08 | zespri | So what blizzard did in the last patch with SV size? |
05:33.19 | zespri | Was there some limit implsed or what? |
05:33.27 | Mikk1 | Something with very very large strings |
05:33.29 | Mikk1 | iirc |
05:33.37 | Iriel | There seemed to be, I think it was related tot eh working buffer it uses for output |
05:33.56 | zespri | do you know any more details? |
05:34.08 | Mikk1 | It's not related to the 262k constant problem at all |
05:34.09 | zespri | such as what this limit applies to and how big is it |
05:34.11 | Mikk1 | If that's what you're wondering |
05:34.14 | zespri | no it's not |
05:34.19 | Iriel | There should be no limit |
05:34.27 | zespri | No I'm not wondering, I know this for sure =) |
05:34.30 | Iriel | I dont think there was a limit, per se |
05:34.44 | Iriel | it was just a buffer handling bug, as far as I can tell |
05:34.52 | Thrae | Where are the rest of GameTooltip's templates? They're not all in GameTooltipTemplate.xml. |
05:34.57 | zespri | Well, what I personally can tell is that my "big" addons don't wont to load their SV's now |
05:35.10 | MentalPower | Thrae: they are |
05:35.16 | Iriel | zespri: With what error? |
05:35.21 | zespri | they thriw a error on load that looks as if sv was cut at some point |
05:35.26 | Thrae | Not the templates for the FontStrings |
05:35.32 | zespri | well not closed string and such |
05:35.32 | Thrae | Maybe they're in GameFont.xml. |
05:35.46 | Iriel | zespri: Hm, and you haven't edited them outside of wow? |
05:35.50 | zespri | no |
05:35.59 | Iriel | zespri: I suppose it's possible there's a bug somewhere in the writer |
05:36.09 | Thrae | Yeah, they're just simple Font objects. |
05:36.16 | zespri | it happend to three addons already Auctioneer REcap and Lootlink - the addons that have biggest SV's |
05:36.39 | Mikk1 | Ouch |
05:36.48 | Iriel | Did the game crash during exit at some point? |
05:36.53 | zespri | no |
05:37.07 | Iriel | I believe that was the symptom, you'd get a crash during exit and the SV would be truncated partway through |
05:37.32 | Iriel | If you can find the place where the file is wrong, we can work on a test case for it |
05:37.43 | Iriel | I have a a BreakSV addon which I add things to |
05:37.51 | zespri | I'm positive I didn;t crash during exit, because I was troubleshooting problem with a cosmos addon that causes crashes on exit, so I would remember |
05:37.53 | Iriel | though all of the ones I know of to date have been fixed |
05:38.20 | zespri | for these three addons that a mentioned it happened not at the same time. there was a couple of days interval between each occurance |
05:38.32 | Iriel | All since 1.11? |
05:38.47 | Iriel | That would make me think the crash fix isn't quite right |
05:38.54 | Iriel | but you'd need to find the exact cause so we could report it |
05:38.55 | zespri | yrs |
05:39.32 | zespri | hang on I have an idea. May be I saved one of the problem sv's |
05:40.29 | zespri | yeah I have a save of Auctioner.lua sv |
05:41.03 | zespri | it's only 8MB |
05:42.29 | Cairenn | slouken's home :p |
05:42.34 | Iriel | Can you upload it somewhere? |
05:43.23 | zespri | I will in a sec, but I'm not at home, so I'm not positive that this is the right save. I'm 90% sure, but there is a chanse it's not the save that crashed the game for me |
05:43.54 | zespri | crashed is a wrong word, but you understand |
05:46.04 | Thrae | Instead of dynamically making FontStrings for a tooltip, why not just have everything on one line, with each line delimited by '\n'? Hmm... |
05:46.30 | Thrae | s/on one line/in one FontString/. |
05:48.38 | MentalPower | I don't think purl likes you Thrae |
05:48.57 | Thrae | No, it's I don't like purl ;) |
05:49.18 | Thrae | I purposedly added the . at the end of my regex so purl doesn't needlessly copy me. |
05:49.18 | MentalPower | oh, you have a dot after the trailing / |
05:49.54 | Wobin | hm |
05:50.03 | Wobin | I can't seem to work Get/SetHighlightTexture properly |
05:50.23 | Wobin | ie, GetHT is not returning what I SetHT to |
05:50.46 | Wobin | and setting GetHT to nil, does not remove what I previously Set it to |
05:50.48 | Iriel | Well, SetHt and GetHt dont act the same if the thing has anchors on opposite sides |
05:51.02 | Thrae | Wobin: Take a look at GooeyFigs up on Ace SVN, I have stuff like OptionsButtonTemplate implemented in dynamic code. |
05:51.14 | Wobin | Iriel: How do you mean? |
05:51.53 | Thrae | Dynamic code without inheritance, I mean. |
05:52.28 | Esamynn | yawn, evening all |
05:52.34 | Iriel | http://www.wowwiki.com/UI_Coordinates has some details on GetHeight and GetWidth (which may or may not be your problem here) |
05:52.34 | Wobin | (incidentally, the button only has one anchor point) |
05:52.53 | Iriel | Evening Esamynn |
05:53.13 | Esamynn | oh, and may I just say that those people who ran into the Constants limit with their SV files are _nuts_ |
05:53.48 | Iriel | You'll get no disagreement from me 8-) |
05:53.57 | Esamynn | that converstaion was an interesting read though |
05:54.13 | Esamynn | nah, Mental just "supports" the _nuts_ |
05:54.16 | Thrae | Hehe, AceDB will hopefully have dynamic string compression/decompression at some point in the future :D |
05:54.17 | Cairenn | hi Esamynn :) |
05:54.26 | MentalPower | lol |
05:54.58 | Wobin | Iriel: I'm still not understanding how it would effect Get/SetHighlightTexture on a button |
05:55.03 | MentalPower | these people scan 8 or 9 servers every single day |
05:55.07 | zespri | It's not completely true, it's auctioner's "fault" that it files break the constatn limit. As a user I have no way of preventing this nutness |
05:55.12 | Wobin | s/effect/affect/ |
05:55.26 | Thrae | Wobin: Can I see part of the code? |
05:55.37 | Iriel | Wobin: OOH.. I misread HT as Height 8-) |
05:55.57 | Iriel | Wobin: What are you passing to SetHighlighTexture? A Texture object or a texture path string? |
05:55.58 | Wobin | Iriel: =) |
05:56.05 | Wobin | A texture path stirng |
05:56.16 | Esamynn | zespri: the _nut_ part comes in because you are using the UI engine as a database system!!!! and storing ridiculous amounts of data to boot :P |
05:56.20 | Wobin | "Interface\\Buttons\\ButtonHilight-Square" |
05:56.22 | Wobin | to be precise |
05:56.48 | Esamynn | zespri: Pack Rat! |
05:57.03 | zespri | Esamynn, so it's not a user to blame and an addon author. so that'w why I rightfuly pointed to MentalPower =) |
05:57.40 | *** join/#wowi-lounge s|loup (n=loup@exch01.berlinheart.de) |
05:57.46 | s|loup | hi |
05:57.47 | Esamynn | I just think you're nuts for storing that much data, regardless of whether it breaks stuff or not :P |
05:57.51 | Cairenn | hey s|loup |
05:58.03 | Shadowed | Quick question about tomorrows patch. I'm guessing that sound will be fixed, it just wasn't mentioned in the main notes posted? |
05:58.14 | Wobin | Thrae: No code as such, I'm using GetMouseFocus():SetHighlightTexture("Interface\\Buttons\\ButtonHilight-Square") then GetMouseFocus():GetHighlightTexture() |
05:58.19 | Wobin | on a lua generated button |
05:58.51 | Wobin | NormalTexture works as advertisde |
05:59.05 | Esamynn | Shadowed: likely will be, but you'll have to check on the PTR |
05:59.23 | Wobin | but I'm having issues that when I'm recycling uiobjects, the Highlight texture stacks up |
05:59.32 | Wobin | Since the 'nil'ing doesn't actually do anything |
05:59.59 | Iriel | So it's like when you call SetHighlighTexture, instead of resetting the texture file on the existing Texture, it creates a new one? |
06:00.09 | Wobin | yeah |
06:00.26 | Wobin | I'm -thinking- that it's using GetHightlightTexture to see if there's one there already |
06:00.32 | Iriel | Sounds like a cause for a "Slouken: Strange SetHighlightTexture results" post on the forum |
06:00.34 | Wobin | But as that returns nil, it just piles it on top |
06:00.37 | Iriel | Yeah |
06:00.46 | Iriel | I suspect that's related (at least to how it works internally) |
06:00.58 | Wobin | Slouken's back soonish, isn't he? |
06:01.02 | Iriel | Tomorrow |
06:01.09 | Wobin | I'll wait til then to post then. |
06:01.11 | Iriel | Or so Cairenn says (or implies) |
06:01.28 | Cairenn | he's home now, will be back to work tomorrow |
06:01.32 | Cairenn | just got home |
06:01.37 | Thrae | Hmm, I usually do local tx = frame:CreateTexture() tx:SetTexture(path) tx:SetAllPoints(frame) frame:SetHighlightTexture( tx ) |
06:01.44 | MentalPower | was he on vacation? |
06:01.49 | Cairenn | yup |
06:01.52 | Iriel | Does it work properly if you do what Thrae suggests? |
06:01.53 | Cairenn | left on Friday |
06:02.14 | Wobin | Thrae I'll try |
06:02.24 | *** join/#wowi-lounge Karl (n=karl@adsl-67-125-156-77.dsl.irvnca.pacbell.net) |
06:02.43 | Thrae | Since Set..Texture claims ownership of the texture object you send, the local isn't collected. |
06:03.50 | Esamynn | Iriel: feeling overworked? |
06:05.56 | Wobin | Thrae: That works fine |
06:06.03 | Wobin | (I'll still post about it though =)) |
06:06.45 | Thrae | Wobin: Yeah, probably what happens is that if you give Set...Texture a path, it creates a new object regardless of if its current object has the same path. |
06:07.13 | Esamynn | oh wow, it's been a long time since I checked by unread books on BookWorm |
06:07.16 | Wobin | Thrae: Problem still occurs that GetHighlightTexture returns a nil |
06:07.17 | Esamynn | 91 unread books ;) |
06:07.29 | Wobin | Esamynn: Get to reading! |
06:07.35 | Esamynn | lol |
06:07.43 | Thrae | Wobin: Oh, even if you do it via CreateTexture ? |
06:09.37 | Wobin | hm |
06:09.54 | Wobin | no, that works |
06:10.39 | Wobin | No, I meant, that using SetHT with a path, the subsequent GetHT returns nil |
06:11.25 | Thrae | Maybe SetHT with a path doesn't actually create a new Texture object, and just stores the path for use by the game engine. |
06:12.07 | Iriel | Esamynn : Overworked: yes.. Bookworm: Notice how scrolling is fixed 8-) |
06:12.10 | Thrae | But GetHT shouldn't return nil, regardless. |
06:12.33 | Iriel | But if GetHT doesn't return nil, you can do: |
06:12.40 | Iriel | GetHY:SetTexture("path") |
06:12.51 | Esamynn | Iriel: ahh cool, I hadn't actually noticed the bug :D |
06:13.34 | Esamynn | btw, AfterCast is still giving me unexpected event messages for SPELLCAST_INTERRUPTED some times |
06:14.02 | Iriel | The latest version? |
06:14.14 | Esamynn | I think so, I will double check |
06:14.27 | Iriel | If so, can you email me the exact message next time it happens (and if you happen to remember, what you were doing at the time) |
06:14.45 | Iriel | It may be like the SPELLCAST_FAILED problems I was having |
06:15.22 | Thrae | Yeah, in Iriel's 1.11 documentation it says GetHighlightTexture returns a texture object, so it's possible SetHighlightTexture(path) doesn't make a texture object to get. |
06:15.25 | Esamynn | yes, its the latest, I think its the Normal Cast state that I'm getting them in |
06:15.58 | Esamynn | Thrae: the game should generate one if it doesn't exist in the UI Environment yet |
06:16.14 | Esamynn | when you do the Get |
06:16.25 | Thrae | It *should*, yes. |
06:16.42 | Mikk1 | Unless you're giving it a bad path |
06:16.53 | Mikk1 | i.e. forgetting to replace "\" with "\\" or something like that =) |
06:17.09 | Esamynn | lol |
06:17.20 | Mikk1 | Front slashes for all! |
06:17.58 | zespri | Iriel, is it difficult writing an addon that would tell you the frame name you are mousing over? And if there is more the one frame at a given location probably display all the frames that is under cursor? |
06:18.09 | Wobin | Esamynn: It does for Normal texture, but not for Highlight |
06:18.16 | Esamynn | Mikk1: that would be FAR too _simple_ and it would make far too much _sense_ |
06:18.17 | Iriel | I've done that already |
06:18.17 | Mr_Rabies2 | wow |
06:18.24 | Wobin | zespri: dtstackframe |
06:18.26 | Mr_Rabies2 | don't use the CSS style "orc" on the new wow site |
06:18.29 | Mr_Rabies2 | things...break. |
06:18.39 | zespri | oO |
06:18.41 | Wobin | Mr_Rabies2: Zugzug? |
06:18.44 | zespri | thank you |
06:18.58 | Iriel | It's key bindable |
06:19.00 | Mikk1 | Which reminds me |
06:19.03 | Wobin | It's great! =) |
06:19.05 | Iriel | I usually bind a press-to-show key to it |
06:19.07 | Mikk1 | I always forget the devtools slash commands |
06:19.19 | Wobin | Mikk1: Agreed |
06:19.29 | Wobin | We need a dt slashcommand that lists the various tools |
06:19.31 | Mr_Rabies2 | i've seen better site designs on myspaces than the abomination "orc" is in currently |
06:19.38 | Iriel | You could just read the readme 8-) |
06:19.44 | Mikk1 | Iriel: Would you mind if I mail you a small update? =) |
06:19.50 | Wobin | well, yes. but /dt is so much faster =) |
06:20.01 | Iriel | Not at all, though as others will note, i'm a bit behind on incorporating them |
06:20.04 | Wobin | Iriel: How are you going with that table browser? |
06:20.14 | Iriel | Some day, when, perhaps I dont have to work holidays, I'll get to them. |
06:20.17 | Thrae | Mikk1 and Iriel should use one of the SVNs out there :) |
06:20.21 | Iriel | Wobin: it's waiting for me to have a life again |
06:20.25 | Wobin | Iriel:*nods* |
06:20.27 | Mikk1 | Then again I'm half minded to integrate it into myDebug(Mikk) o.O |
06:20.37 | Mikk1 | UI clickety ftw! |
06:22.06 | Mikk1 | Iriel: Would you mind if I did that (with proper attribution in the dialog itself of course... "Iriel's DevTools" box or something?) |
06:22.17 | Mikk1 | I would change the prefix though so it wouldn't clash |
06:23.17 | Iriel | I suppose not, I mean, it's essentially open source. Try not to mangle it too much so you can use updates later |
06:23.56 | Mikk1 | Of course |
06:24.39 | *** join/#wowi-lounge MoonWolf (n=MoonWolf@a80-127-128-193.adsl.xs4all.nl) |
06:29.18 | MoonWolf | good day everybody |
06:29.26 | Cairenn | hey MoonWolf |
06:30.28 | *** join/#wowi-lounge chuckg_ (i=chuckg@66-237-5-116.starstream.net) |
06:31.05 | MentalPower | gnight folks |
06:31.11 | Cairenn | night MentalPower |
06:31.50 | Esamynn | night Mental :) |
06:33.07 | MoonWolf | night |
06:34.02 | *** join/#wowi-lounge chuckg__ (n=chuckg@66-237-5-116.starstream.net) |
06:36.30 | zespri | You know, what would be cool? If it was possible to have a tool that put all of the addons files into one file, and that this file can be loaded by WoW just as normal addon |
06:37.15 | Iriel | What would that gain you? |
06:37.21 | Iriel | Other than one huge ass file? |
06:37.31 | Cairenn | *boggle* |
06:37.37 | Cairenn | Iriel said ass! |
06:37.37 | Mikk1 | It's 100% possible |
06:37.44 | Mikk1 | It's even easy |
06:37.52 | Cairenn | Iriel never uses words like that! |
06:37.55 | Mikk1 | Well, ok, a bit of work with fixing dependencies |
06:38.00 | Iriel | Bah, you know me better than that dear |
06:38.09 | Cairenn | *smooch* |
06:38.15 | Iriel | Saved variables and ADDON_LOADED would be a trick |
06:38.16 | zespri | Cairenn, I absolutely agree that ass is a wrong spelling. the right would be arse |
06:38.19 | Iriel | as would load on demand |
06:38.24 | Cairenn | zespri ;) |
06:38.39 | Iriel | though you could simulate much of that (other than ADDON_LOADED) |
06:38.47 | Mikk1 | ADDON_LOADED is easily simulated |
06:38.54 | Mikk1 | Though you'll get them all at the end |
06:38.57 | Iriel | How? |
06:39.02 | Iriel | How do you know who registered for it? |
06:39.05 | Iriel | How do you dispatch it to them all? |
06:39.10 | Mikk1 | By hooking RegisterEvent? |
06:39.24 | Iriel | So you're assuming that the standard UI doesn't register it, and no other addons are loading? |
06:39.30 | Iriel | Seems a bit shortsighted |
06:39.50 | Mikk1 | Hm? |
06:40.11 | Iriel | What if my addon loads (outside of the huge ass file) and registers it on an anonymous frame |
06:40.15 | zespri | Iriel many people find it more convinient to operated (install, copy, delete) with a single file, and not with a dozen files scattered in different subfolders. On the other hand for programmers it's most convinient to separate logic in different files and graphics should always go to a separate file too |
06:40.17 | Iriel | And it loads before yours |
06:40.42 | zespri | Iriel, so this way it would be good bot for programmers and for user that don't want zillion files they need to care about |
06:40.58 | zespri | it would be simple for them then - one file, one addon |
06:41.09 | Iriel | Well, you also assume your addon has no sounds or graphics or xml assets |
06:41.15 | Iriel | which also is a bit shortsighted |
06:41.21 | Mikk1 | Yea |
06:41.28 | Iriel | Really, what we need, is for wow to be able to read addon files out of .zip files |
06:41.37 | Mikk1 | That'd be neat |
06:41.47 | Mikk1 | Or, hell, .mpq files |
06:41.53 | Mikk1 | (ooooo wait) |
06:42.06 | Iriel | We can't create .mpq files |
06:42.07 | Cairenn | okay, time for me to pass out, night all |
06:42.10 | Iriel | We can create .zip files |
06:42.20 | Mikk1 | We can't create .mpq files? o.O |
06:42.30 | Mikk1 | I'm 99% certain I've seen mpq packers |
06:42.31 | zespri | I didn't suggested comperssion because I wasn't sure that it's proper thing in terms of loading time |
06:42.46 | Iriel | I'm thinking .zip as a bundling mechanism |
06:42.48 | zespri | If the loading time is not an issue then I'd support zip files with both hands |
06:42.50 | Mikk1 | Decompression is fairly cheap |
06:42.51 | Iriel | Compression is largely irrelevant |
06:43.00 | Iriel | Disk is slower than CPI |
06:43.02 | Iriel | CPU |
06:43.09 | Iriel | so compressed files often load FASTER than uncompressed ones |
06:43.28 | zespri | in that case, yes =) |
06:43.38 | Iriel | I've not run across a widely supported mpq packer with a command line interface that works on linux |
06:43.41 | Iriel | If you find one, let me know |
06:43.48 | Mikk1 | Bah. Linux =) |
06:43.51 | zespri | widely supported? |
06:43.57 | zespri | you have to be kidding |
06:44.05 | Iriel | Thus my 'Zip is better' mentality |
06:44.11 | Mikk1 | But, yeah, plopping a dezip lib is done in like 3 full minutes |
06:44.52 | Mikk1 | Cool idea |
06:45.06 | Mikk1 | Does Slouken like swedish cookies? =) |
06:45.25 | zespri | I wonder if there is a tool that allows to sign MPQs at all. Granted that we don't know the blizzard private key, but at least in thepry |
06:45.56 | Mikk1 | I'd give up on that theory |
06:46.02 | Mikk1 | Cheaper to just hack the exes |
06:46.05 | Mikk1 | Takes a lot less time |
06:46.13 | Iriel | We dont know the key, or the algorithm. |
06:46.16 | Mikk1 | Cracking 1024 bit RSA still takes a wee little while ;) |
06:46.24 | Iriel | Assuming they did it right, we'll never be able to fake the signature |
06:46.32 | Iriel | As mikk1 notes, youd want to hack the exe |
06:46.40 | Iriel | The signing isn't to protect the client from the developer |
06:46.56 | Iriel | it's to protect users clients from other developers' code |
06:47.39 | Iriel | If you're trying to subvert the wow client there are easier ways than through lua |
06:47.55 | Iriel | but you can't possibly claim to have done so 'accidently' or 'only with blizzard supported tools' |
06:48.07 | Iriel | replace 'supported' with 'endorsed' if you prefer |
06:53.59 | Karl | night iriel |
06:54.51 | *** join/#wowi-lounge hyperChipmunk (n=staharaj@d14-69-214-77.try.wideopenwest.com) |
06:56.41 | *** join/#wowi-lounge krka|work (n=kristofe@66.217.181.62.in-addr.dgcsystems.net) |
06:58.16 | Esamynn | damnit, no more errors now, but no data being output either :( |
06:58.58 | Esamynn | oh well, enough for tonight |
06:59.01 | Esamynn | good night all |
06:59.03 | Mikk1 | Nothing beats not running your code to make it error free =) |
06:59.15 | Mikk1 | g'nite ;) |
06:59.45 | krka|work | http://dilbert.com/comics/dilbert/archive/images/dilbert2006261730706.gif |
07:00.07 | Esamynn | Mikk1: the problem is, it's not my code, its Gatherer code that i'm "upgrading" |
07:01.01 | Esamynn | ahh well |
07:01.08 | Esamynn | lol, nice comiv krka |
07:01.11 | Esamynn | comic* |
07:07.25 | *** join/#wowi-lounge zespri_work (n=andrews@124.197.8.92) |
07:07.44 | *** join/#wowi-lounge ckknight (n=ckknight@rrcs-67-53-204-251.west.biz.rr.com) |
07:08.17 | zespri_work | Mikk1, do you know that wowwiki doesn't look good in IE7? |
07:11.48 | Mikma | Mikk1: btw, nice piece of code that MSBT, I did replace sct with that one and haven't regret it. But, you really should do 2 default positions, by swapping the left and right positions :) |
07:13.42 | Mikk1 | zespri_work: O? |
07:13.48 | Mikk1 | Mikma: MSBT? o.O |
07:13.53 | *** join/#wowi-lounge ckknight (n=ckknight@rrcs-67-53-204-251.west.biz.rr.com) |
07:14.09 | Mikma | Mikk1: well ain't you the one who did mikscrollingbattletext? |
07:14.13 | Mikk1 | nope |
07:14.25 | Mikma | oh someone said you are |
07:14.25 | *** join/#wowi-lounge zespri (i=andrew@124.197.8.92) |
07:14.58 | Mikk1 | purl, slap someone |
07:15.00 | purl | ACTION slaps someone, keep your grubby fingers to yourself! |
07:15.10 | Mikma | sorry, my bad :) |
07:15.35 | Mikk1 | zespri: What'd MS break this time? |
07:16.38 | Thrae|Away | Hmmm. :Show() doesn't like my custom tooltip with only 2 FontStrings. |
07:17.35 | Mikk1 | I'd guess that the game engine gets very cranky if there aren't enough fontstrings to hold the few things it does want to put in it |
07:17.36 | zespri_work | Mikk1 http://brutsoft.com/tmp/wikiie7.JPG Basicaly the left part of wowwiki topbar is not clickable |
07:17.36 | zespri_work | on all pages |
07:18.12 | Thrae|Away | Put nothing, this is just a dynamic instantiation of the GameTooltip object with 2 FontStrings, one of which is set to the text "Foo". |
07:18.40 | Mikk1 | zespri: Grats, that's the stylesheet. Only Rustak can touch that still. |
07:19.08 | Mikk1 | I'll poke him some more about it now though. |
07:19.17 | Mikk1 | He keeps saying he'll make it available for editing via the wiki |
07:19.21 | Mikk1 | (Locked for admins only) |
07:19.22 | zespri_work | cheers =) |
08:07.26 | *** join/#wowi-lounge Cairenn (n=Cairenn@CPE001217452e29-CM014500004571.cpe.net.cable.rogers.com) |
08:07.26 | *** mode/#wowi-lounge [+o Cairenn] by ChanServ |
08:12.43 | *** join/#wowi-lounge wereHamster (n=tomc@gw.ptr-62-65-141-13.customer.ch.netstream.com) |
08:30.18 | Wobin | what timezone +/-Xhours is PST? |
08:31.00 | Karl | it's 1:30am atm |
08:32.20 | Wobin | so minus 15 hours from me |
08:34.32 | *** join/#wowi-lounge Elkano (i=Elkano@client0865.vpn.uni-saarland.de) |
08:52.08 | Karl | http://www.wowwiki.com/Satellite |
08:56.49 | Karl | uploaded to wowi |
08:57.19 | *** join/#wowi-lounge Depherios (n=Deph@67.189.88.161) |
08:58.09 | Karl | er.. lol forgot to make it embeddable.. quick fix |
09:02.27 | wereHamster | I need to spread my raid-progress website a bit more..http://dbservice.com:58026 |
09:08.14 | Wobin | hm, StickyFrames is acting oddly |
09:09.21 | MoonWolf | wereHamster, looks nice. |
09:11.34 | Karl | ok there, 1.1 is embeddable |
09:11.37 | Karl | well |
09:11.40 | Karl | doh.. |
09:11.49 | Karl | i should just sleep eh.. |
09:18.07 | Elkano | ok, EBB 1.2 gone live :) |
09:19.21 | Karl | there we go 1.11 has SeaHooks and SeaPrint correctly embedded |
09:20.46 | Karl | lol.. i suck at spelling |
09:20.59 | Karl | Satellite ~= Satelite |
09:21.32 | Elkano | Dolby-wowi, are you there? |
09:28.16 | Dolby-wowi | whats up Elkano |
09:28.57 | Elkano | there's a small graphical bug on the page. on the list of an authors interfaces, a divider is missing between pending and active addons |
09:29.49 | Dolby-wowi | ahh ok thanks for the heads up. :) |
09:30.20 | Elkano | know what I mean or need a screenshot? |
09:30.35 | Dolby-wowi | i know what you mean |
09:31.30 | Dolby-wowi | fixed. :) |
09:32.41 | Elkano | :) |
09:47.47 | Elkano | btw: would it be possible to have the page not inform you about your own comments to bug reports/feature requests? |
09:48.18 | *** join/#wowi-lounge XLVII (n=XLVII@CPE-58-162-91-73.qld.bigpond.net.au) |
09:48.23 | *** part/#wowi-lounge XLVII (n=XLVII@CPE-58-162-91-73.qld.bigpond.net.au) |
10:09.59 | wereHamster | would be nice if someone could post the link to my website in the US forum.. |
10:43.02 | Industrial | whats your website? (im EU though :|) |
10:50.16 | s|loup | gratz to alle french fans ;) |
10:56.55 | Elkano | doom to all French! |
11:04.02 | Industrial | Who knows the names of the bag frames? |
11:05.04 | Elkano | ContainerFrame1 - ContainerFrame12 |
11:05.59 | wereHamster | Industrial, http://dbservice.com:58026 |
11:06.26 | Industrial | django! |
11:06.26 | Industrial | :P |
11:06.31 | Industrial | oh heh, it says so |
11:06.32 | Industrial | :P |
11:10.49 | *** join/#wowi-lounge Elessdy (n=no@d26-185.rb.lax.centurytel.net) |
11:12.22 | *** join/#wowi-lounge SinePi (i=sinus@dsz187.neoplus.adsl.tpnet.pl) |
11:20.59 | *** join/#wowi-lounge Atog (n=Atog@195-144-094-012.stat.adsl.xs4all.be) |
11:29.35 | *** join/#wowi-lounge zespri|home (i=andrew@124.197.16.50) |
11:45.35 | Mikk1 | Ok, um... So.. My mod is listening to whisper commands via registering CHAT_MSG_WHISPER... And ones it recognizes as commands get registered in a "hide this please" table that chatframe hooks take care of. |
11:45.48 | Mikk1 | Then let's assume the user is being a turd, and goes and disables Whispers in his frame |
11:45.53 | Mikk1 | And then he re-enables them |
11:46.01 | Mikk1 | Suddenly, the chatframe gets events before I do |
11:46.12 | Mikk1 | Is there a clear-cut painless solution to this? =) |
11:46.35 | zenzelezz | prevent the user from disabling whispers! ;) |
11:46.37 | Mikk1 | (And I don't really like the fact that I'm relying on events being delivered in a certain order of registration to begin with) |
11:50.31 | Mikk1 | Bleh. I'm going to end up hooking ChatFrame_OnEvent as well as doing my own event handler. |
11:50.41 | Mikk1 | And trying to detect duplicate messages |
11:50.45 | Mikk1 | I can feel it coming =( |
11:52.54 | *** join/#wowi-lounge ckknight_ (n=ckknight@rrcs-67-53-204-251.west.biz.rr.com) |
12:36.17 | *** join/#wowi-lounge Kaso (n=Jonathan@host81-159-0-248.range81-159.btcentralplus.com) |
13:02.08 | Atog | Mikk1: ugh, that does sound like a pain |
13:02.08 | Atog | I have the same problem with doing /who polls |
13:02.08 | Atog | it works. sometimes. |
13:04.42 | *** join/#wowi-lounge MentalPower_ (n=MentalPo@host-70-45-81-230.onelinkpr.net) |
13:11.04 | Kaso | any WoWWikians around? |
13:18.16 | *** join/#wowi-lounge kaso| (n=Jonathan@host81-159-2-92.range81-159.btcentralplus.com) |
13:26.13 | Mikk1 | Me |
13:29.43 | Mikk1 | Kaso: I'd slam him in the vandals list and let admins decide what to do |
13:29.50 | Mikk1 | If you're talking about Tefal that is |
13:36.35 | *** join/#wowi-lounge Kaso (n=Jonathan@host81-159-2-216.range81-159.btcentralplus.com) |
13:36.44 | Mikk1 | Kaso: I'd slam him in the vandals list and let admins decide what to do |
13:36.45 | Mikk1 | If you're talking about Tefal that is |
13:37.29 | Elkano | link looks like they are running some affiliate programm... so I vote for correct way to handle this :) |
13:37.59 | Kaso | ah, well i removed his links and left a message in his Talk already |
13:38.10 | Mikk1 | Still not too late to dump him in vandal list =) |
13:38.16 | Mikk1 | All his additions sans one is pasting that damn link of his |
13:40.38 | Mikk1 | I'll rephrase: If you won't, I will =) |
13:44.04 | *** join/#wowi-lounge kaso| (n=Jonathan@host81-159-128-145.range81-159.btcentralplus.com) |
13:45.18 | kaso| | correct me if im wrong, but its better to have an Empty page than an empty stub? |
13:45.30 | Mikk1 | a nonexistant page you mean? |
13:45.39 | Mikk1 | or just a page with 0 bytes in it? |
13:46.41 | Mikk1 | I prefer to simply not have the page at all if there's no info to go in it. If I come across an empty page, I try to determine wtf it's about and slap the right stub tag on it; that way it at least shows up in the right stub category. |
13:47.06 | Mikk1 | (And users that come across it are at least told that it's an NPC or an Ability rather than ... well.. whatever) |
13:47.50 | Mikk1 | In that above sentence, "empty page" means "link is blue, but there's not a single byte in the page" |
13:56.07 | *** join/#wowi-lounge dreamss (i=dreamss@0wn3d.vcdquality.com) |
14:14.59 | *** join/#wowi-lounge zinor (n=mirc@dslb-088-064-185-181.pools.arcor-ip.net) |
14:19.49 | Atog | hmm |
14:20.03 | Atog | my addon currently removes all messages from the chatframe. |
14:20.08 | Atog | as in: you don't get anything. |
14:20.14 | Atog | in any channel, or any frame. |
14:20.28 | Atog | I guess it needs work. |
14:23.19 | zenzelezz | who needs communication in an MMO anyway |
14:28.56 | Atog | true, true |
14:29.08 | Atog | anyway, I'm doing /who queries to obtain class of the player that whispered me |
14:29.18 | Atog | which works, unless multiple people do it at the same time |
14:29.34 | Atog | since you can't do consecutive /who commands |
14:29.44 | Atog | any idea of how long that cooldown period is? |
14:31.22 | *** join/#wowi-lounge Calamitous (n=Miranda@213.235.243.226) |
14:31.35 | Calamitous | hallo |
14:31.57 | Calamitous | jemand aktiv hier? |
14:33.03 | krka|work | englisch bitte |
14:33.17 | Calamitous | oh sorry |
14:33.24 | Calamitous | excuse me, didn't know |
14:33.52 | Calamitous | but I could have guessed it as I read the channel from wowwiki.com ;) |
14:34.08 | krka|work | not much activity in any case |
14:34.29 | s|loup | does anyone know how to use the TitleRegion element of frame? |
14:35.00 | Calamitous | damn, I'm trying to find some help or links to get used to UI (expecially the xml possibilitys)- no problems with lua so far... |
14:35.30 | s|loup | http://www.wowwiki.com/Main_Page |
14:35.44 | s|loup | widget API or XML User Interface |
14:36.13 | krka|work | pretty sure he/she already knew about wowwiki :P |
14:36.30 | Calamitous | of course ;) |
14:36.41 | s|loup | maybe he didnt found the correct link for widgets ^^ |
14:37.00 | s|loup | what you need? |
14:37.01 | krka|work | i suck at ui... i suggest reading other peoples (simple) addons / reading the wiki, experimenting with simple stuff |
14:37.12 | Calamitous | problem ist: I find enough tutorials for writing scripts and docus for the functions, but few descriptions or examples for a ui- xml file |
14:37.31 | Calamitous | ah reading others ui maybe an idea |
14:38.02 | End | the ui kit thingy of blizzard's has (two I think?) simple addons that come with it |
14:38.11 | End | as examples |
14:38.37 | Calamitous | i downloaded unfortunately i can't use it without an installed wow... so far im @work and can't install wow :D |
14:38.43 | End | ah |
14:38.50 | End | well, that would slow you down a bit |
14:39.04 | Atog | pretty much |
14:39.12 | zenzelezz | you should tell your boss that not having WoW on your work computer slows down your work |
14:39.14 | Atog | how are you going to debug something without wow? :) |
14:39.31 | Atog | correction: something UI-like. |
14:39.35 | s|loup | looking simply at code ^^ |
14:39.38 | Calamitous | well I planed it this way: make the mani part @work and debugging @home ;) |
14:39.39 | Atog | anyway, there's no real good resource |
14:39.54 | s|loup | look at qury Calamitous |
14:40.05 | Atog | but I can help you with a small addon that I just wrote |
14:40.29 | Atog | which is relatively simple, and does a few nifty things which you can use. |
14:41.08 | Calamitous | that would be nice, is it working, so i can be sure it states as functinal? |
14:41.17 | *** join/#wowi-lounge Kaso (n=Jonathan@host81-159-0-112.range81-159.btcentralplus.com) |
14:48.24 | Atog | yes, it works. |
14:53.39 | *** join/#wowi-lounge Andalia (n=xx@p54AD861A.dip0.t-ipconnect.de) |
14:56.15 | Calamitous | that sounds nice, can I download it somewhere ot something? |
14:58.25 | *** join/#wowi-lounge kaso| (n=Jonathan@host81-159-0-42.range81-159.btcentralplus.com) |
14:59.08 | *** part/#wowi-lounge Atog (n=Atog@195-144-094-012.stat.adsl.xs4all.be) |
15:13.56 | *** join/#wowi-lounge MoonWolf (n=moonwolf@f176182.upc-f.chello.nl) |
15:14.45 | *** join/#wowi-lounge Kaso (n=Jonathan@host81-159-1-21.range81-159.btcentralplus.com) |
15:17.02 | *** join/#wowi-lounge SB1 (n=Death@c-67-186-244-23.hsd1.ut.comcast.net) |
15:17.56 | *** part/#wowi-lounge SB1 (n=Death@c-67-186-244-23.hsd1.ut.comcast.net) |
15:18.56 | *** join/#wowi-lounge ScytheBlade1 (n=Death@about/pxe/ScytheBlade1) |
15:21.19 | *** join/#wowi-lounge net\afk (n=net@dslb-088-064-189-005.pools.arcor-ip.net) |
15:21.44 | *** join/#wowi-lounge zinor` (n=mirc@dslb-088-064-189-005.pools.arcor-ip.net) |
15:22.49 | Industrial | a={} a.b={} a.c='foo' a=nil |
15:22.56 | Industrial | will a.b and a.c be GC'ed? |
15:23.02 | MoonWolf | yes |
15:23.05 | MoonWolf | i think so |
15:23.05 | Industrial | ok good |
15:23.35 | Industrial | So I can put a whole table of constants and stuff that i need in my addon and erase/fill it on enable/disable |
15:23.39 | Industrial | \o/ |
15:27.48 | krka|work | fill it? how |
15:30.53 | zenzelezz | magic |
15:49.25 | *** join/#wowi-lounge zespri (i=andrew@124.197.5.7) |
15:50.17 | *** join/#wowi-lounge dukeku_ (i=dukeku@c-67-160-162-146.hsd1.or.comcast.net) |
15:50.35 | *** join/#wowi-lounge Shadowed (n=outlaw@c-67-161-0-166.hsd1.ca.comcast.net) |
16:11.17 | Thrae | Mikk, Iriel? |
16:18.55 | *** join/#wowi-lounge Tem (n=tardmrr@204.90.50.252) |
16:36.19 | *** join/#wowi-lounge [Wobin] (n=Wobin@221.221.19.150) |
16:40.21 | *** join/#wowi-lounge Elkano (n=elkano@ip-213-135-2-166.handshake.de) |
16:41.23 | *** join/#wowi-lounge Borik (n=SirLutho@194-144-96-135.du.xdsl.is) |
16:41.42 | Borik | Yarr, anyone here that can help me with a small problem of mine? |
16:42.30 | Cairenn | Possibly. Tell us what the problem is. |
16:43.18 | Borik | Well, all items have IDs, do they not? |
16:44.35 | Borik | Assuming that this is so, and that these item IDs correspond to the IDs they have on item databases such as the Allakhazam one, I need a method to extract said ID from an item link in-game |
16:45.20 | *** join/#wowi-lounge Osagasu (n=Kronus@208.104.133.240) |
16:45.50 | zenzelezz | I can't remember the format of item links, but the ID is part of it of course |
16:47.02 | Borik | Well, then I have a problem :D |
16:47.13 | Cairenn | have you checked the wiki for info? |
16:47.54 | Borik | I looked around, and googled, but, seeing as I don't know what exactly to look FOR, it didn't bear much fruit |
16:48.02 | Cairenn | *nod* |
16:48.21 | Cairenn | well, hang around if you have time, seems most aren't actually at keys right now |
16:48.53 | Cairenn | try asking again in a while when the channel is a bit more active |
16:48.56 | Borik | Got a raid to run in 12 minutes or so, and a quick hack to make in my DKP addon before then, so the sooner the better :) |
16:49.08 | zenzelezz | you're a bit brief in explaining what you want to do though... but something like http://www.wowwiki.com/API_GetItemInfo ? |
16:49.34 | Borik | Found that function, but it assumes you already have the item ID |
16:50.48 | Borik | Anyway, here's sort of what I need: Assuming I input a slash command of /bitem [ITEMLINK], I need to know what format the [ITEMLINK] would be in when parsing it, that's really all |
16:50.50 | zenzelezz | I wouldn't know the answer anyhow; but you're not explaining where you expect to get the item name/link/... from |
16:51.25 | Borik | Sorry, C++ is my native programming language, and LUA and Blizzard's API don't make things very easy for me :) |
16:54.38 | Elkano | |cXXXXXXXX|Hitem:x:x:x:x|h[bla]|h|r |
16:54.57 | [Wobin] | ~16*3 |
16:54.58 | purl | 48 |
16:55.17 | JoshBorke | hello :-) |
16:55.27 | Borik | Uhm, it might be my ignorance, but would you mind elaborating on that Elkano? |
16:55.31 | [Wobin] | Just abusing purl =) |
16:55.41 | *** join/#wowi-lounge Kirov (n=Kirov@adsl-64-161-16-97.dsl.sntc01.pacbell.net) |
16:55.42 | [Wobin] | I need 48 Dust of Deteriation |
16:55.55 | JoshBorke | the first x after Hitem is th item id |
16:56.08 | Elkano | |cXXXXXXXX -> color code of the link as hex alpha red green blue |
16:56.23 | Borik | which would correspond to it's rarity? |
16:56.51 | JoshBorke | local _,_, item, name = string.find(param, "|c%x+|H(item:%d+:%d+:%d+:%d+)|h%[(.-)%]|h|r") |
16:57.08 | JoshBorke | local _,_, itemID, name = string.find(param, "|c%x+|Hitem:(%d+):%d+:%d+:%d+|h%[(.-)%]|h|r") |
16:57.19 | JoshBorke | erm, but you don't need the name and what not |
16:57.21 | Elkano | |Hitem:x:x:x:x actual link in form item:a:b:c:d with a = base item, b = temp buff, c = suffix, d = id coresponding to other data like crafter, charges, ... |
16:57.41 | Borik | Oh god, going too deep here, I'm not at home with this language :D |
16:57.42 | [Wobin] | or local _,_,itemID = string.find(link, "item(.-):" |
16:57.43 | zenzelezz | is the name a "%d" form? |
16:57.50 | Elkano | in order to get the rarity, catch the item:x:x:x:x part and use GetItemInfo |
16:58.09 | JoshBorke | wobin's is cleaner |
16:58.20 | JoshBorke | ( zenzelezz ): no |
16:58.31 | JoshBorke | ( Borik ): basically it's some regex to extract information from the link |
16:58.32 | Borik | and in his example, itemID will then be the ID of the item linked? |
16:58.36 | [Wobin] | yes |
16:58.42 | Elkano | wobin, item:(.-): would be better, wouldn't it? |
16:58.43 | Borik | Well, I'm not terribly fond of regular expressions either ;D |
16:58.46 | [Wobin] | with a closing bracket |
16:58.49 | [Wobin] | oh yes |
16:58.51 | [Wobin] | very true |
16:58.55 | [Wobin] | I missed a : |
16:59.45 | Borik | so the proper line would be..? |
16:59.48 | Borik | I'm feeling quite dense here |
17:00.41 | JoshBorke | ( Borik ): as wobin said: 'local _,_,itemID = string.find(link,"item:(.-):")' |
17:00.44 | Tem | Elkano, that may be too greedy even though you've used - |
17:00.52 | JoshBorke | wait |
17:00.56 | JoshBorke | why use . instead of %d? |
17:01.04 | JoshBorke | itemID has to be a number, no? |
17:01.08 | Tem | I'd suggest string.find(link,"item:%d+") |
17:01.16 | Elkano | Borik, look at the examples here: http://www.wowwiki.com/API_GetItemInfo |
17:01.17 | [Wobin] | Yes, but - matches the shortest 'match' |
17:01.23 | [Wobin] | so it does the same |
17:01.33 | [Wobin] | you'd still have to tonumber the itemID anyway |
17:01.36 | Tem | yes, but it can give you problems |
17:01.53 | Borik | Well, I have to bail now, got a raid to run. Thanks a lot for the assistance, appreciate it! |
17:02.08 | JoshBorke | np borik |
17:02.15 | Tem | for example: "I have no idea what kind of context I'd say this in but:iitem:12b123s." |
17:02.16 | Elkano | well, but matching the whole pattern is better since then it's less likely to be spoofed (in case you are matching chat) |
17:02.36 | Tem | yes |
17:02.47 | Borik | Cheers |
17:02.48 | Tem | that was totally the next thing I was gonna say |
17:02.53 | Kirov | It's also faster |
17:03.01 | [Wobin] | Again, depends on what you're doing |
17:03.08 | Elkano | matching the ful syntax means that you only match links that thus have been validated by the server |
17:03.32 | Tem | right |
17:03.40 | Kirov | Matching larger patterns is faster than smaller ones since the find process can exit out earlier. |
17:03.46 | Tem | if you already know you have a valid link, the the whole thing is moot |
17:03.59 | [Wobin] | Kirov: Well that's why .- is faster than .* |
17:04.57 | Kirov | Wobin - but by only doing a search for item:(.-). the find can't exit until there are only 7 characters left in the string. |
17:05.45 | Kirov | Doing a full pattern search it can exit out with ~20 characters remaining, and completely ignore any strings that aren't long enough. |
17:06.05 | [Wobin] | ah, rightio |
17:21.29 | Tain | Has anyone done a paid character transfer? |
17:23.10 | Cairenn | not I |
17:24.08 | Tain | Ah never mind! I was doing one and there was a problem with the process on the blizzard website. I emailed support about it and it looks like they fixed it. I'll take full credit. |
17:25.28 | Tem | oh piss |
17:25.42 | Tain | Although the support help URLs they sent in the email still resolve to 404 not found pages. Crazy people. |
17:25.46 | Tem | the realm I wanted to transfer to isn't eligible |
17:34.24 | Cairenn | =/ |
17:36.35 | XCIX | Sharp thinking, 99! |
17:36.44 | zenzelezz | though IC would probably have been simpler |
17:36.45 | XCIX | </nasel voice> |
17:36.49 | End | hmm |
17:37.00 | XCIX | Although not really legal? |
17:37.05 | End | transfers off of my realm just opened |
17:37.16 | XCIX | Rats deserting the ship, End? |
17:37.24 | End | probably |
17:37.41 | End | I've lost interest in my character on there though |
17:38.01 | End | we stopped raiding bwl because we stopped getting 40 people suddenly |
17:38.14 | End | (we are still very capable of doing ragnaros though....) |
17:38.17 | XCIX | End: Transfer out to another server =) |
17:38.22 | End | maybe I dunno |
17:38.27 | End | I'm leveling an alliance character now |
17:38.39 | End | considering I haven't played alliance it's actually interesting |
17:38.49 | End | quests I've never seen before :P |
17:38.52 | Kirov | What race? |
17:38.57 | End | night elf |
17:39.04 | End | (priest) |
17:39.22 | Kirov | Tip #1 for leveling an alliance character. Get the fuck out of Darkshore and head to Westfall |
17:39.30 | End | I did that already |
17:39.32 | End | :P |
17:39.32 | Kirov | hehe |
17:39.46 | End | I did a few quests in darkshore, and decided it sucked a lot |
17:40.05 | XCIX | Kirov: So. True. |
17:40.06 | End | incidently...I create this char like...over a year ago |
17:40.09 | Kirov | Darkshore has some fairly interesting quests, but you run 3-4 times as much to get to them, and some of them are a real pain to find |
17:40.10 | Thrae | When looking for both speed and memory usage, we want to avoid too much GC, right? |
17:40.10 | XCIX | Darkshore sapped my will to live |
17:40.21 | End | but it was still a level 14ish character until last week |
17:40.26 | End | it's level 20 now |
17:40.28 | Kirov | Thrae - avoiding gc is good, yes |
17:41.27 | Thrae | I'm trying to figure out if using one string with lines delimited by '\n' is more efficient then using multiple FontString objects with a psuedo-tooltip. |
17:42.53 | Kirov | And what does that have to do with gc? |
17:43.11 | Kirov | And yes, I believe it is more efficient |
17:43.42 | Thrae | Say we have 5 lines in the tooltip, that's a 5-line string we're setting up for GC upon mousing over a different entity. Compare that to the overhead of using multiple FontStrings instead of just 1 and just hiding unused FontString lines instead of setting up their strings for GC. |
17:44.12 | Kirov | well, technically those don't get gced as far as I know |
17:44.22 | End | strings -do- get GC'd, but not like tables |
17:44.32 | Kirov | well |
17:45.11 | End | well...kinda like tables |
17:45.22 | End | you don't really control strings though |
17:45.26 | Thrae | Yeah I know that, but I want to avoid putting too much stress on GC. What if I had 10 unique entities on my screen and I moved my mouse over each one of them in the span of 2 seconds. |
17:45.41 | End | FontStrings don't get GC'd though |
17:46.14 | Thrae | End: Are you talking about the text of the FontString or the FontString object itself? |
17:46.37 | End | the object itself...I'm not sure how the text is stored |
17:46.51 | Kirov | a font string always has text |
17:46.55 | Kirov | it never gets gced |
17:46.56 | End | likely it's just C/C++ style string |
17:47.20 | Kirov | if you change the text on a fontstring it's just changing the existing string. |
17:47.32 | Mikma | anyone remembers a name for addon which doesn't allow you to stealth/prowl if you have DoT/Poison on you? |
17:47.47 | Wobin | rarar |
17:47.49 | Wobin | poison |
17:47.52 | Wobin | rarar |
17:47.57 | Thrae | So what happens if I do local fs = frame:CreateFontstring() fs:SetText("Foo") fs:SetText("Fooooo2") |
17:47.57 | End | when you pull the string out, it just creates a lua-side string |
17:48.03 | End | "Foo |
17:48.04 | End | er |
17:48.17 | Wobin | I spent two hours in Felwood trying to get the toxic horror drops for the quest |
17:48.29 | Thrae | Are you saying "Foo" isn't stored as a Lua string object and therefore not subject to Lua GC? |
17:48.33 | End | "Foo" is |
17:48.37 | End | it's a lua string |
17:48.47 | End | however, fs copies itr |
17:48.47 | Wobin | I was one and 3/4ths hours in with not a single drop before I realised I was still in a raid group |
17:48.58 | Wobin | Next four kills got me the three drops |
17:48.59 | Kirov | it's not subject to lua GC because it's never unreferenced |
17:49.03 | Wobin | rarar |
17:49.04 | Wobin | poison |
17:49.06 | Wobin | rarara |
17:50.40 | Kirov | hmm ... where's iriel when you need him |
17:50.42 | Thrae | OK, what if I had a loop that did for i=1,100,1 do fs:SetText(string.format("%s %d", "Foo", i)) end <-- this would be 99 GCs, right? |
17:50.55 | Thrae | 99 strings added for GC, I mean |
17:51.17 | Kirov | Thrae - no, because you're constantly editing the same string |
17:51.33 | krka | yes, 99 gcs |
17:51.49 | Kirov | or am I completely off my rocker |
17:51.50 | End | actually |
17:51.55 | krka | yes :) |
17:51.56 | Thrae | I thought string.format worked the same way as concatonation in this case? |
17:52.00 | krka | string.format creates a lua sring |
17:52.04 | Kirov | ah |
17:52.13 | Kirov | but not the SetText() itself |
17:52.34 | krka | correct |
17:52.42 | krka | i believe it would just hold a reference to the lua string |
17:52.48 | krka | or maybe it makes a copy into c-space |
17:53.17 | Kirov | I'm guessing a copy, since changes to the string does not effect the FontString object |
17:53.38 | End | hmm |
17:53.41 | Thrae | Hmmm. So if I need to do a string.format every frame, how can I avoid putting tons of strings on the string pool for GC? |
17:53.43 | End | it could just copy the reference |
17:53.49 | krka | Kirov i am not sure you understand |
17:53.54 | wereHamster | every frame? |
17:53.54 | End | you can't edit lua strings |
17:53.58 | krka | you can't change a string in lua |
17:53.58 | krka | they are immutable |
17:54.02 | End | yeah |
17:54.04 | krka | every time you "change" a string a new one is created |
17:54.14 | End | "xxx".."vvv" is an ENTIRELY new string |
17:54.18 | End | just like |
17:54.19 | Kirov | also, in the case of the string.format(), it would create a local scope string that gets destroyed as soon as it leaves the scope? |
17:54.20 | End | v = "xxx" |
17:54.23 | End | v.."vvv" |
17:54.25 | End | er |
17:54.29 | End | v = v.."vvv" |
17:54.33 | Kirov | lol |
17:54.33 | krka | strings are never in the local scope |
17:54.40 | krka | only references and primitives are |
17:54.42 | wereHamster | Thrae, what will your addon display? |
17:54.48 | Kirov | hmm |
17:54.48 | krka | such as nil, boolean, number |
17:54.49 | Thrae | wereHamster: TinyTip |
17:55.07 | Mikma | tinyTip <3 |
17:55.08 | wereHamster | and what does change every frame? |
17:55.50 | Thrae | Well, say someone has parkison's disease and mouses-over a different unit every 200 milliseconds. |
17:56.04 | Thrae | That's not every frame, but it's still a lot of string.format calls. |
17:56.21 | krka | string.format is fast |
17:56.51 | Thrae | It isn't about the speed of string.format, it's about all the strings being placed on the pool. |
17:57.03 | krka | all the strings? |
17:57.09 | krka | what strings? |
17:57.36 | Thrae | Well each new entity that is moused over, 3-40 new lines of strings need be generated. |
17:57.52 | krka | you realize that if the string "Example" is in the string pool, there can never be another string in the pool called "Example" |
17:58.06 | End | yea, they're shared, aren't they? |
17:58.16 | krka | which explains why a string comparison in lua is simple an address comparison |
17:58.25 | Thrae | Well, let's consider each entity unique. |
17:59.12 | krka | imo, strings aren't a problem at all... as long as their fairly short anyway. it's tables and function closures that fill up the memory |
17:59.28 | Thrae | krka: That was my original question, about string length |
18:00.01 | Thrae | IE, with a dynamic tooltip, should I use 1 FontString per line or JUST 1 FontString delimited by '\n' for each line |
18:00.35 | krka | i would choose one per line |
18:00.42 | Thrae | By what we've been talking about, it seems the first would be more efficient now. |
18:02.40 | krka | depends really... |
18:02.47 | Thrae | While I've been doing a dynamic tooltip, I've found that the GameTooltip object and GameTooltipTemplate pretty much go hand-in-hand. I found it's easier just to make a Frame and dynamically size it myself. |
18:02.50 | krka | on the chance that the smaller strings would likely be used again |
18:03.01 | Thrae | krka: Exactly |
18:03.29 | krka | and how you create the big string |
18:03.38 | krka | if you create the big string from the smaller strings, then obviously it won't help |
18:03.57 | Thrae | What I don't like about GameTooltipTemplate is all the crap it adds in about the money frame (not needed for unit tooltips) and 30 static font strings instantiated |
18:04.43 | Thrae | Actually, make that 60 fontstrings (left and right) |
18:05.32 | *** join/#wowi-lounge Cairenn (n=Karen@CPE00045a2bfcbc-CM000f212f84be.cpe.net.cable.rogers.com) |
18:05.32 | *** mode/#wowi-lounge [+o Cairenn] by ChanServ |
18:06.14 | Thrae | Even if they don't contain any text, I'm sure having at least 57 unused fontstrings sitting in memory isn't helping. |
18:07.03 | krka | might hurt memory, but speed is probably unaffected |
18:07.38 | Thrae | Yeah I was thinking of memory, not speed in that case. |
18:11.18 | Thrae | krka: Would there really be anything to gain for using GameTooltip + GameTooltipTemplate vs just a Frame object, if you're dealing with units? |
18:13.26 | Thrae | A GameTooltip object has all kinds of extra functions which I'd never use. |
18:18.56 | Wobin | Hard Gay! Fuuuuuuuuuuuuuuuu! |
18:19.13 | zenzelezz | somehow that sounds kinky |
18:24.17 | Wobin | http://www.youtube.com/watch?v=igC4bPDp6cU |
18:36.20 | *** join/#wowi-lounge ckknight (n=ckknight@rrcs-67-53-204-251.west.biz.rr.com) |
18:37.11 | *** join/#wowi-lounge chuckg (i=chuckg@66-237-5-116.starstream.net) |
18:39.14 | *** join/#wowi-lounge [Wobin] (n=Wobin@221.221.19.150) |
18:43.33 | *** join/#wowi-lounge ComicSansMS (n=der_weih@p5497E653.dip.t-dialin.net) |
18:43.44 | ComicSansMS | greetings everyone! |
18:48.22 | *** join/#wowi-lounge Kaso (n=Jonathan@host81-159-1-109.range81-159.btcentralplus.com) |
18:55.30 | [Wobin] | Does anyone know how to implement sending attachments in php from a form? Like for example, I have a form that takes a file from the users hard drive, and I want to attach that file and email it. |
19:01.13 | *** join/#wowi-lounge Miravlix (i=dragon@arcdraco.net) |
19:05.42 | *** join/#wowi-lounge Miravlix (i=dragon@arcdraco.net) |
19:07.11 | *** join/#wowi-lounge Shadowed (n=outlaw@c-67-161-0-166.hsd1.ca.comcast.net) |
19:07.47 | Shadowed | so has anyone made it onto the 1.11.2 PTR yet? |
19:08.21 | *** join/#wowi-lounge Miravlix (i=dragon@arcdraco.net) |
19:13.21 | Elkano | there's a 1.11.2 PTR? |
19:13.29 | Shadowed | yeah |
19:14.16 | Shadowed | http://forums.worldofwarcraft.com/thread.aspx?fn=wow-general&t=8955273&p=1&tmp=1#post8955273 |
19:18.35 | Shadowed | well, it *should* be up but apparently it's not |
19:23.51 | Industrial | how do i chack IF i have a target? |
19:23.59 | Industrial | check* |
19:24.05 | Shadowed | UnitExists( "target" ) |
19:24.11 | krka | UnitExists ... damn |
19:24.17 | Shadowed | hehe |
19:28.12 | Industrial | oh right |
19:28.12 | Industrial | :p |
19:31.40 | krka | or you can bind a key to your own function, which performs an attack, and then you check for an error message and parse that to see if you have a target |
19:32.23 | Shadowed | that doesn't as sound as complicated as it could get |
19:32.32 | krka | give me some more time :) |
19:33.05 | Industrial | wellll |
19:33.22 | Industrial | http://pastebin.ca/80733 |
19:33.42 | Industrial | idUnitframes.lua:143: attempt to index field `?' (a nil value) |
19:33.54 | Industrial | :S |
19:34.05 | Shadowed | Doesn't UnitClass return nil if you have no target? |
19:34.13 | Industrial | ah duh |
19:34.13 | Industrial | :P |
19:34.49 | chuckg | Ace2 scares me. |
19:34.52 | chuckg | Embedded libraries? :| |
19:35.07 | Wobin | Ace2 is niftier than it seems |
19:35.21 | Wobin | Embedded libraries are the way of the future! |
19:35.35 | *** join/#wowi-lounge Iriel (n=daniel@adsl-71-158-244-138.dsl.pltn13.sbcglobal.net) |
19:35.35 | *** mode/#wowi-lounge [+o Iriel] by ChanServ |
19:36.11 | Industrial | chuckg: well does sea/earth scare you? |
19:36.12 | Industrial | :P |
19:36.41 | chuckg | I don't use those! |
19:37.00 | krka | because they scare you? |
19:37.05 | chuckg | Was hoping that Ace2 would have a library for building dynamic frame though. |
19:37.46 | Wobin | chuckg: You can always write one! |
19:37.49 | krka | CreateFrame isn't enough? |
19:38.00 | Wobin | Although I think Thrae is working on Gooeyfigs |
19:38.10 | Wobin | Which could be what you want |
19:38.26 | krka | now we can create dynamic from xml templates, right? |
19:38.27 | Wobin | And Tem is still working on AceGUI |
19:38.31 | Tain | I never have embedded a librarian. |
19:38.31 | chuckg | I don't have the first clue how to even make a dynamic frame. |
19:38.32 | krka | or is that soon? |
19:38.33 | chuckg | I want someone to make one for me! |
19:38.34 | chuckg | =D |
19:38.46 | Wobin | Tain: Some of those librarians are the hottest =P |
19:38.56 | Tain | You speak the truth, Wobin! |
19:39.28 | Tem | krka, yes, you can use XML templates with CreateFrame now |
19:39.35 | Tem | I personally don't like it |
19:40.14 | Industrial | chuckg: whats a dynamic frame? |
19:40.20 | chuckg | <PROTECTED> |
19:40.30 | chuckg | I'm using dynamic frame to describe the ones that are created via lua. |
19:40.39 | chuckg | Since they're "dynamic" in the sense that they're not static xml. |
19:40.53 | chuckg | Terminilogy isn't my strong point. |
19:40.58 | chuckg | ..but I guess writing LUA isn't either. |
19:41.33 | Industrial | ace just does stuff for you so you wont have to worry about it :P |
19:41.50 | Wobin | chat commands, db, events, hooking, etc etc etc |
19:41.50 | Industrial | not really at a price |
19:42.29 | chuckg | So the AceOO is what I need to include to do MyPlugin:Function() stuff? |
19:42.30 | chuckg | Right? |
19:42.51 | Tem | not really |
19:42.55 | Wobin | not really |
19:43.00 | krka | orly? |
19:43.01 | chuckg | I'm still hazy on where the plugin registration goes on now that the new new( {} ) is gone. |
19:43.03 | Tem | AceOO is an object model that we use |
19:43.06 | Wobin | AceOO just allows for an easy method of OO |
19:43.13 | Tem | allows for some pretty interesting constructs |
19:43.34 | Wobin | It does the inheritance/mixins/etc for us |
19:43.37 | krka | OO is for overrated, the extra O is for overly |
19:43.40 | Wobin | (well the code behind it) |
19:43.56 | Wobin | krka: OO is great =P |
19:44.08 | Wobin | It makes for managable code =P |
19:44.13 | krka | ^O.O^ |
19:44.38 | krka | you could write a "verifier" in lua that checks the semantics |
19:44.42 | kergoth | Tem: aceoo enforces the interfaces the class defines, at instance creation time |
19:44.45 | Wobin | where is it bugging, Industrial ? |
19:44.47 | Industrial | oh |
19:44.52 | Industrial | now i do |
19:44.53 | Industrial | :| |
19:45.00 | Industrial | arg1 isnt a unit ofcource |
19:45.01 | Industrial | : |
19:45.02 | Industrial | :P |
19:45.04 | kergoth | s/defines/uses/ |
19:45.11 | kergoth | ~dance |
19:45.13 | purl | rumour has it, dance is ah, ah, ah, ah, stayin' elive, stayin' elive.. |
19:45.31 | Tem | s/info/enfo/ |
19:45.44 | Industrial | badabang baby! a target frame is born |
19:45.52 | Industrial | :) |
19:46.12 | End | ~unproductivity |
19:46.13 | purl | yay! |
19:46.25 | kergoth | ~productivity |
19:46.26 | purl | yay! i mean.. boo. |
19:53.27 | Industrial | death to comic sans! |
19:57.38 | End | stone |
19:57.45 | End | ~stone |
19:57.47 | purl | paper, I win. |
19:57.53 | End | ~dynamite |
19:58.08 | Elkano | sticks and stones ;) |
19:58.47 | End | bleh, gotta fix scissors too |
19:58.54 | End | ~scissors |
19:58.55 | purl | scissors, play again. | <reply> rock, I win. | <reply> paper, you win. |
19:58.58 | End | see, it's done wrong |
19:59.45 | End | ~scissors |
19:59.47 | purl | rock, I win. |
20:00.30 | *** join/#wowi-lounge ckknight_ (n=ckknight@rrcs-67-53-204-251.west.biz.rr.com) |
20:00.32 | End | ~paper |
20:00.33 | purl | paper, play again. |
20:00.38 | Elkano | ~scissors |
20:00.39 | purl | scissors, play again. |
20:00.56 | Elkano | ~knife |
20:00.57 | purl | i guess knife is a tool used to control the network via SNIP |
20:01.06 | End | ~scissors |
20:01.07 | purl | scissors, play again. |
20:01.22 | End | oh, silly 6 second rule |
20:01.26 | End | ~scissors |
20:01.27 | purl | rock, I win. |
20:01.32 | End | ~botsnack |
20:01.32 | purl | End: :) |
20:02.42 | End | about comm channel: didn't slouken already say not gonna happen a fair while ago? |
20:02.48 | Iriel | I'd imagine he did |
20:02.51 | End | (of course, that could change) |
20:03.10 | End | (I think it is a game design decision more than anything else) |
20:03.12 | Iriel | Indeed, it's happened before, but still, I think people should spend more time writing an implementation and less time whining |
20:03.30 | End | yeah |
20:04.28 | Thrae|Away | Iriel: Before I set down the wrong path, do you know of any reason why I should use the GameTooltip object class instead of Frame if I'm making my FontStrings dynamically? |
20:04.31 | Iriel | The 'whining' isn't directed at those who're contributing valuable thoughts and suggestions 8-) |
20:04.44 | Iriel | Thrae|Away | Do you intend to call :SetBlah(X) on it? |
20:04.48 | End | oh |
20:04.53 | Thrae|Away | Iriel: Nope. |
20:04.54 | End | he responded to my setcursor thread |
20:05.03 | Iriel | Thrae|Away | Or are you just making an informational popup? |
20:05.51 | Iriel | Thrae|Away | If it's just a popup, I think you're better off going with a Frame and making your own methods for managing its content (though implementing AddLine would likely be handy for others who want to abuse your object) |
20:06.31 | Thrae|Away | Iriel: In my case I'd be hooking SetX anyway so I can grab some information that the game engine sends to GameTooltip. |
20:06.41 | End | oh neat, someone update wowwiki already |
20:06.44 | Thrae|Away | Yeah, that's what I thought. |
20:06.52 | Iriel | I did, already |
20:06.52 | End | oh, Iriel updated wowwiki already |
20:06.54 | End | hehe |
20:07.04 | *** join/#wowi-lounge ckknight_ (n=ckknight@rrcs-67-53-204-251.west.biz.rr.com) |
20:07.22 | End | incidently, now I have a problem |
20:07.46 | End | the blp convertor utility I use will not do |
20:08.00 | End | unless there are some flags I can send it that I don't know about it |
20:08.25 | End | (I suppose...I could write one...but that sounds like work) |
20:16.38 | Industrial | hmmm, TargetFrame keeps showing. How Do i get i from going away forever? |
20:16.53 | *** join/#wowi-lounge Cide (i=Cide@81-226-233-5-no60.tbcn.telia.com) |
20:17.04 | Industrial | s/from(.+)going/to\2go |
20:17.17 | Industrial | \1 :P |
20:17.57 | zenzelezz | stop targetting stuff :-p |
20:18.27 | Industrial | hehe |
20:19.08 | *** part/#wowi-lounge juan|bob (n=juanvald@c-24-18-221-35.hsd1.wa.comcast.net) |
20:45.10 | Shadowed | So has anyone gotten on the 1.11.2 PTR yet? Still don't see the server up |
20:45.22 | Industrial | no but really... how do i get the targetframe never to show |
20:46.15 | Industrial | http://www.wowwiki.com/API_Frame_SetScript |
20:46.16 | Industrial | oh |
20:46.16 | Industrial | :P |
20:48.38 | Shadowed | Wouldn't it be better to hook TargetFrame_Update and just send it to a blank function? |
20:49.50 | Industrial | nah, i dont know what other addons wanna do with it, i just hide it |
21:02.24 | *** join/#wowi-lounge Ratbert_CP (n=KCummins@proxy-ce5.disney.com) |
21:03.26 | Iriel | <PROTECTED> |
21:03.35 | End | I agree? |
21:12.17 | haste_ | Industrial, they unregister it's events, then hide it |
21:16.56 | *** join/#wowi-lounge ScytheBlade1 (n=Death@about/pxe/ScytheBlade1) |
21:28.08 | *** join/#wowi-lounge MentalPower_ (n=MentalPo@host-70-45-81-230.onelinkpr.net) |
21:31.47 | Shadowed | So I guess Blizzard broke account management for the new site |
21:32.21 | End | it worked for me when I tried it earlier today |
21:32.28 | Shadowed | yeah same |
21:32.29 | End | but it was the same old account management when I tried |
21:32.35 | Shadowed | 404 page not found when i try now |
21:32.38 | End | ah |
21:32.39 | End | hmm |
21:55.02 | *** join/#wowi-lounge AnduinLothar (n=karl@adsl-67-125-158-108.dsl.irvnca.pacbell.net) |
21:59.07 | Industrial | http://img513.imageshack.us/img513/7927/wowscrnshot0706062314413te.jpg |
22:05.20 | *** join/#wowi-lounge snurre (n=snurre@AVelizy-153-1-27-108.w83-199.abo.wanadoo.fr) |
22:10.19 | *** part/#wowi-lounge Cairenn (n=Karen@CPE00045a2bfcbc-CM000f212f84be.cpe.net.cable.rogers.com) |
22:25.09 | *** join/#wowi-lounge zespri_work (n=andrews@124.197.5.7) |
22:25.32 | zespri_work | morning boys and girls |
22:31.06 | *** join/#wowi-lounge ScytheBlade1 (n=Death@about/pxe/ScytheBlade1) |
22:31.56 | zespri_work | 10:30 in auckland, 02:30 in moscow, 15:30 in seattle |
22:32.41 | *** join/#wowi-lounge Grumpey (n=Owner@dialup-4.152.210.44.Dial1.Atlanta1.Level3.net) |
22:33.45 | AnduinLothar | that doesn't mean anyone is awake :P |
22:36.08 | zespri_work | At least you Karl could have said something like 'Morning, zespri, glad to see you, missed you heaps' |
22:36.17 | zespri_work | =) |
22:36.45 | AnduinLothar | i would have to be awake for that, no? |
22:36.55 | AnduinLothar | well.. I'M NOT! |
22:37.06 | End | :O |
22:40.01 | AnduinLothar | For those that missed it: http://www.wowinterface.com/downloads/fileinfo.php?s=&id=5130 |
22:41.23 | Tain | Odd name for a slash command addon. |
22:42.19 | AnduinLothar | yeah well... it was kinda predestined |
22:42.56 | Cide | nice |
22:43.14 | Cide | only other addon I've seen that does what I did for ctra messages |
22:43.58 | AnduinLothar | yeah, well we had msot of it in Sky, but the code was super sloppy and no one wanted to req sky just to use them.. |
22:44.06 | AnduinLothar | so i took it out and rewrote it |
22:44.47 | *** join/#wowi-lounge Swimming_Bird (i=sbird@pool-72-75-107-153.washdc.east.verizon.net) |
22:44.57 | AnduinLothar | oh, need to put GenerateChatEvent in the docs too |
22:45.15 | zespri_work | what is the new name for pastebin? |
22:45.29 | AnduinLothar | there isn't one... but you can use pastebin.ca |
22:45.37 | Cide | I'm guessing you're thinking of pastecode.com |
22:45.58 | zespri_work | yeah, Cide that's what I meant |
22:46.08 | zespri_work | what happened with good old pastebin? |
22:46.55 | *** join/#wowi-lounge Thrae (n=generalm@c-68-48-83-98.hsd1.md.comcast.net) |
22:47.06 | Cide | no idea |
22:48.14 | *** join/#wowi-lounge MentalPower_ (n=MentalPo@host-70-45-81-230.onelinkpr.net) |
22:49.17 | *** join/#wowi-lounge SBird (n=skynet@pool-72-75-107-153.washdc.east.verizon.net) |
22:51.39 | *** join/#wowi-lounge snurre- (n=snurre@AVelizy-153-1-37-141.w81-249.abo.wanadoo.fr) |
22:52.01 | Wobin | pastebin.com is really slow =( |
22:52.14 | Thrae | pastebin.ca ftw |
22:52.17 | Wobin | aye |
22:55.20 | zinor` | ya it is :s |
22:55.25 | zinor` | paste.djangosource.com ! :D |
22:55.45 | zinor` | his site is so ugly :x |
22:58.23 | clad|gym | AnduinLothar: Any particular reason you named Satellite Satellite? |
22:59.03 | clad|gym | =( |
22:59.33 | AnduinLothar | it was the orig name we schemed up a year ago when we first decided to split up Sky.. It just took me a year to get around to doing. Am I stepping on toes? |
22:59.41 | Kaso | Which XML file is the readycheck frame in, i cant find the bugger |
23:00.01 | cladhaire | Satellite has been talked about for about the same amount of time, as a communications library |
23:00.08 | cladhaire | not really stepping on toes-- but i had to choose another name now :P |
23:00.23 | AnduinLothar | Why are you writing a comm lib? |
23:00.31 | cladhaire | because i want to |
23:00.39 | Tain | Good answer! Good answer! |
23:00.43 | cladhaire | i didn't realize i needed a reason =) |
23:00.44 | AnduinLothar | Well, I'm in the middle of redoign Sky |
23:01.05 | cladhaire | well then its right on time.. it seems you and I like to write/rewrite things together |
23:01.06 | cladhaire | lol |
23:01.21 | AnduinLothar | competition is motivating |
23:01.47 | Thrae | We should gain PvP ranks for making addons. |
23:01.52 | AnduinLothar | definitely |
23:01.59 | AnduinLothar | i want my epics |
23:02.09 | GrandMarshalThra | Behold the power of THRA |
23:02.18 | cladhaire | i'd get mid-level blues. |
23:02.48 | AnduinLothar | I'm debating moving Sky.registerHostess to another mini lib |
23:02.49 | PrivateKirov | I killed like 3 horde yesterday |
23:02.59 | PrivateKirov | That's more pvp than I've done in the last 4 months |
23:03.12 | PrivateKirov | <- pve carebear on a pvp server |
23:03.58 | AnduinLothar | registerHostess is used for chat event registration. so it calls your callback whenever the event is called.. |
23:05.26 | AnduinLothar | mostly used to track join/leaves and lists |
23:05.31 | Tain | RegisterHotness! Excelles! |
23:07.29 | *** join/#wowi-lounge MentalPower_ (n=MentalPo@host-70-45-81-230.onelinkpr.net) |
23:07.38 | Cide | but when would you register? |
23:07.55 | End | hot...ness..things |
23:07.58 | End | oh when |
23:08.14 | End | I thought you were asking what about hotness |
23:10.26 | *** part/#wowi-lounge Grumpey (n=Owner@dialup-4.152.210.44.Dial1.Atlanta1.Level3.net) |
23:12.41 | AnduinLothar | yeah, maybe I'll nuke that and make it a lib for trackign channel users |
23:15.55 | Shadowed | where are you test server! |
23:16.22 | *** join/#wowi-lounge kaso| (n=Jonathan@host81-151-106-185.range81-151.btcentralplus.com) |
23:16.26 | Wobin | Mikk1! Is Mik's Scrolling Battle Text yours? |
23:16.37 | Wobin | oh nm |
23:16.42 | Wobin | =) |
23:18.42 | *** join/#wowi-lounge Parak (i=PROFI@user-0cev737.cable.mindspring.com) |
23:19.06 | Cide | Iriel: do you happen to be alive? |
23:19.20 | Iriel | Apparently so |
23:19.28 | Cide | ah, amazing! |
23:20.18 | Cide | just wondering; any news on the "table explorer"? I just thought of it since I'm in dire need of one right now :) |
23:20.18 | AnduinLothar | didn't mik make one |
23:20.24 | AnduinLothar | or modify one |
23:20.28 | Iriel | Not really, I need work to get off my back so I have time to play with it more |
23:20.31 | AnduinLothar | it's on wowi |
23:20.45 | Cide | dunno, I haven't been here in a while so I don't know |
23:20.47 | Wobin | What's Mikk's handle on WoWI? |
23:20.59 | Kirov | I don't suppose anyone here is familiar with mel? |
23:21.00 | Iriel | There are some similarish addons around, I think, but I haven't seen the same thing done yet |
23:21.11 | AnduinLothar | http://www.wowinterface.com/downloads/fileinfo.php?id=5116 |
23:21.16 | Wobin | Kirov: That's my sister's name.... |
23:21.22 | Wobin | Thanks AL |
23:21.27 | Kirov | mel? |
23:21.32 | Cide | Iriel: alright, thanks - let me know when/if you have any news, if you remember! |
23:21.40 | Kirov | I'm refering to MEL scripting, ie: Maya's scripting language |
23:22.02 | Wobin | Kirov: Melinda =) |
23:22.24 | Cide | AnduinLothar: seems kind of complex for what I could use it for, but I'll check it out still. thanks! |
23:22.42 | Tem | Mikk1, you here? |
23:54.47 | cladhaire | So my guild is largely canadian |
23:54.51 | cladhaire | and we're ST |
23:54.56 | cladhaire | so we're having STCon this august |
23:55.07 | cladhaire | Estie d con in french is "&$#&(* idiot" |
23:55.26 | cladhaire | so I have to call this hotel in ottawa and ask for the group rate for #$$%@% idiot. |