00:16.14 | hyperChipmunk | ~seen [Moonwolf] |
00:16.17 | purl | [moonwolf] <i=moonwolf@f176182.upc-f.chello.nl> was last seen on IRC in channel #wowace, 3h 3m 20s ago, saying: 'no number allowed in addon object name'. |
00:16.32 | hyperChipmunk | doh, .nl |
00:16.37 | hyperChipmunk | slacker |
00:51.37 | *** join/#wowace kergoth (n=kergoth@12.44.147.155) |
00:52.31 | kergoth | ~botmail for [moonwolf]: i dont trust memoserv, as it only works for those who've registered their nicks. ibot/jbot/purl/apt dont :) |
00:52.40 | Kaelten | lol |
00:53.04 | Kaelten | Tem, Kergoth: Tell me if you think this is enough support for 'smart' hooks. |
00:53.19 | Kaelten | http://ace.pastebin.com/642051 |
01:00.47 | Codayus | hmmm. |
01:01.10 | Codayus | totally not making the obvious remarks on the wowi channel... :-p |
01:01.39 | Kaelten | lol |
01:02.13 | Kaelten | hmm I think I'm going to redo AceEvent |
01:02.16 | Tekkub | Kael: line 53? |
01:02.30 | Tekkub | and you ding the event ignoringing during zone? |
01:02.39 | Tekkub | yes it needs it :) |
01:02.44 | hyperChipmunk | player_entering_world fires after a reload, ya? |
01:02.46 | Tekkub | get rid of those unpacks |
01:02.54 | Tekkub | yes chip |
01:03.05 | hyperChipmunk | hm |
01:03.10 | hyperChipmunk | I suck at this |
01:03.33 | hyperChipmunk | I cannot get this initialization on battleground zone-in to work |
01:03.45 | Tekkub | frankly Kael, by default events should unregister during zone, but also one should be able to flag an override on that when they register |
01:04.02 | hyperChipmunk | it's like the POIs don't load fast enough to be useful |
01:04.10 | hyperChipmunk | all the event triggers are over by the time they're in |
01:04.20 | hyperChipmunk | er, zone-change |
01:04.26 | hyperChipmunk | er, zone-change event triggers =P |
01:04.30 | Tekkub | eh? |
01:04.36 | Tekkub | what are you trying to do? |
01:04.47 | Kaelten | should I actually unregister them, or just stop processing. |
01:05.21 | hyperChipmunk | I'm trying to get my battlefield objectives to load on zone in, which consists of taking all the POIs in the zone, checking their status, who owns them, etc |
01:05.21 | Tekkub | well, I'd prolly just keep a flag for events that should still fire during zone |
01:05.39 | hyperChipmunk | but only when you load a battlefield with objectives |
01:05.44 | Tekkub | if the mod passes an overrid arg when it registers, set that flag on that mod for that event... |
01:06.04 | Tekkub | like say... self:RegisterEvent("BAG_UPDATE", true) |
01:06.11 | hyperChipmunk | and only once, because if it initializes during the match, there might be timers going that i don't want to initialize |
01:06.35 | hyperChipmunk | re-initialize* |
01:06.39 | Tekkub | so init on PlayerEntering |
01:06.46 | hyperChipmunk | I tried |
01:06.53 | hyperChipmunk | POIs don't seem to be there when that happens |
01:06.53 | Kaelten | hyper: On Player_Entering_world do a getZoneTExt and init |
01:07.12 | hyperChipmunk | Kaelten: that was my first incarnation |
01:07.27 | hyperChipmunk | the pois just don't seem to be there |
01:07.40 | Tem | Codayus: lol @ holding back our opinoin when he was talking |
01:07.43 | Kaelten | when do they show up? |
01:07.55 | Kaelten | anyone having a hard time logging in? |
01:08.02 | Tekkub | is there an update event for them? |
01:08.08 | Tekkub | I have been kael |
01:08.36 | hyperChipmunk | I don't know when they show up; it happens when you're zoning, but seemingly after everything else |
01:09.01 | Tekkub | well PLAYER_ENTERING_WORLD is the end of the zoning process |
01:09.16 | hyperChipmunk | poi's have nothing to do with the player though; they're zone properties |
01:09.23 | Tekkub | so if they're not available then, they're loading up after you've zoned in |
01:09.33 | cladhaire | Evening |
01:09.46 | Tekkub | hey cladder |
01:10.02 | Tem | Kaelten: I think you are better off with a table for the whitelist |
01:10.19 | hyperChipmunk | I could be doing something wrong, too, but problem is it's a bugger to test cuz entering a battlefield with POIs happens maybe once an hour for me +P |
01:10.23 | Tem | a table index would almost certainly be faster than a string.find |
01:10.25 | Tekkub | oh yea, tables good FIRE BAD! |
01:11.23 | Kaelten | lol |
01:11.57 | kergoth | hey, http://www.curse-gaming.com/mod.php?addid=2235 was sorta what i was planning on coding for my buffbot replacement some time ago |
01:12.01 | kergoth | the whole rule engine thing |
01:15.40 | Tekkub | oh and Kael |
01:15.48 | Tekkub | while you're in there |
01:16.01 | Tekkub | get rid of the XML for AceEvent |
01:16.08 | Kaelten | going to |
01:16.19 | Tekkub | and the unpack :) |
01:17.21 | Tekkub | hey you know what might be nifty.... |
01:17.42 | Tekkub | since Timex is not good for doing OnUpdate type stuff.... an AceOnUpdate module |
01:18.08 | Tekkub | it'd manage the frames and the update rate for you |
01:18.35 | Tekkub | *decides to go write that right now* |
01:26.15 | cladhaire | Tekkub: Hold up.. what do you mean? |
01:27.37 | Tekkub | what you mean what I mean? |
01:27.56 | Tekkub | a module that manages OnUpdates for mods instead of them doing it themselves |
01:28.03 | hyperChipmunk | what you mean what he mean what you mean? |
01:28.05 | Tekkub | it'd recycle the frames too if need be |
01:28.49 | cladhaire | Tekkub: But how is it going to manage them? |
01:28.58 | cladhaire | you have to be wary about making an extra function call.. VERY wary |
01:29.04 | hyperChipmunk | stop asking stupid questions |
01:29.07 | hyperChipmunk | it's gonna manage them |
01:29.13 | hyperChipmunk | geez |
01:29.30 | hyperChipmunk | he's shifting paradigms here |
01:29.59 | hyperChipmunk | and you're asking relevant questions |
01:31.18 | Tekkub | clad... erm... check out SpecialEvents Cooldown or Movement |
01:31.30 | Tekkub | I'd basically move the frame setup into a seperate module |
01:31.48 | cladhaire | do you happen tro havea link to your SVN so i can look? |
01:31.48 | Tekkub | it wouldn't differ much otherwise |
01:32.12 | cladhaire | I'm just concerned, because an OnUpdate functino needs to be VERY VERY VERY custom.. and having something manage that adds another function call.. which is one of the most expensive things we have to do |
01:32.38 | hyperChipmunk | hey, you guys told me function calls were cheap =( |
01:34.10 | kergoth | what the hell is going on |
01:34.22 | hyperChipmunk | people are lying to friendly rodents |
01:34.31 | kergoth | i'm testing a variety of method resolution types in my code here, performance testin |
01:34.59 | kergoth | and it looks like my multiple inheritence's method resolution is wayyy faster than it should be |
01:35.00 | kergoth | hmm |
01:35.29 | cladhaire | hahaha |
01:35.31 | cladhaire | i wanna play |
01:35.55 | kergoth | what the fuck |
01:35.58 | kergoth | okay, get this |
01:36.12 | kergoth | a table lookup of a key takes roughly 0.2 microseconds, no __index function |
01:36.13 | kergoth | and yet: |
01:36.19 | kergoth | Class5 Lookups(multi): 0.2μs, 0.2μs, 0.2μs, 0.2μs, 0.2μs, 0.2μs, 0.2μs |
01:36.19 | kergoth | Class5 Lookups(multi, subsequent): 0.2μs, 0.2μs, 0.2μs, 0.2μs, 0.2μs, 0.2μs, 0.2μs |
01:36.45 | kergoth | how the hell can my multiple inheritence __index function be as fast as a key lookup??? |
01:36.47 | kergoth | hehe |
01:36.53 | kergoth | this is nonsensical |
01:36.54 | hyperChipmunk | looks like a test resolution problem from here =p |
01:37.02 | kergoth | yes, something is weird |
01:37.05 | kergoth | very, very weird |
01:37.11 | hyperChipmunk | can you go down to nanoseconds |
01:37.27 | kergoth | the os clock isnt all that accurate, this is already subject to a fair amount of error |
01:37.41 | kergoth | HAHA |
01:37.42 | kergoth | what the fuck |
01:37.52 | cladhaire | PASTEBIN BITCH! |
01:37.52 | hyperChipmunk | can you do anything less that 0.2? |
01:39.10 | hyperChipmunk | whois kergoth |
01:39.11 | hyperChipmunk | oops |
01:39.43 | kergoth | hehe |
01:39.49 | kergoth | okay, check this |
01:39.58 | kergoth | i'm doing a simple inheritence chain, class a -> class b -> class c -> class d |
01:40.02 | cladhaire | i mean hai |
01:40.05 | cladhaire | *nod* |
01:40.07 | kergoth | class1 is direct __index points to parent class |
01:40.15 | kergoth | class5 is my c3 linearization __index function |
01:40.18 | *** join/#wowace Tem (n=Tem@ip70-177-40-169.br.br.cox.net) |
01:40.18 | *** mode/#wowace [+o Tem] by ChanServ |
01:40.25 | kergoth | Class1 Lookups: 0.2μs, 0.24μs, 0.28μs, 0.32μs |
01:40.25 | kergoth | Class1 Lookups(subsequent): 0.2μs, 0.24μs, 0.27μs, 0.32μs |
01:40.34 | kergoth | Class5 Lookups: 0.2μs, 0.2μs, 0.2μs, 0.2μs |
01:40.34 | kergoth | Class5 Lookups(subsequent): 0.2μs, 0.2μs, 0.2μs, 0.2μs |
01:40.36 | kergoth | lmao |
01:40.49 | kergoth | theres no way i'm faster than lua's normal inheritence |
01:40.57 | kergoth | my code is possessed |
01:41.06 | cladhaire | post the code. |
01:41.07 | cladhaire | i hate you |
01:46.26 | Tem | I <3 abstraction |
01:46.44 | Tem | AceGUIBase -> AceGUILayoutFrame -> AceGUIRegion -> AceGUIFontString |
01:48.40 | Tem | Tem proud of AceGUI's new structure |
01:49.16 | hyperChipmunk | ~pat Tem |
01:49.17 | purl | ACTION pats Tem and says "Nicely Done!" |
01:49.22 | Tem | lol |
01:51.04 | kergoth | cladhaire: was just taking my giant monolithic file with 8 different class implementations and breaking it down to a test case |
01:51.07 | kergoth | :) |
01:51.08 | kergoth | hmm |
01:51.12 | cladhaire | =) |
01:51.15 | kergoth | still happens, i need your help, posting it now |
01:51.17 | kergoth | hehe |
01:51.20 | cladhaire | that took me an hour with my issue last night, which I still haven't resolved. |
01:52.11 | Tem | Oh hell. I'm out of widget to implement that meet the following requirements |
01:52.14 | Tem | 1) Aren't bugged |
01:52.23 | Tem | 2) I completely understand how they work |
01:52.30 | cladhaire | whats bugged? |
01:52.43 | Tem | buttons |
01:52.47 | cladhaire | O.o |
01:53.01 | Tem | there are "easy" workarounds for them |
01:53.10 | Tem | but I just don't feel like fooling with it |
01:53.13 | Tekkub | fine clad, shoot down my idea, screw you hippie |
01:53.15 | hyperChipmunk | the dark side are they? |
01:53.30 | cladhaire | Tekkub: Lol.. i think it can be done.. it just have to be carefully |
01:53.48 | cladhaire | I should run the Ace 1.2 AceHooks versus 1.3 and show you the overhead of functino calls =) |
01:54.01 | kergoth | cladhaire: http://ace.pastebin.com/643382 is c3.lua |
01:54.29 | Tekkub | well considering every one of my onupdates has a function call in it I don't see how it's that bad.... |
01:54.48 | Tekkub | I mean... I con't set an update too easily without that function call |
01:54.50 | kergoth | cladhaire: http://ace.pastebin.com/643383 is c3test.lua, my sanity checks to confirm it works |
01:55.00 | cladhaire | DAMN you for using lua 5.1 |
01:55.02 | cladhaire | I have to go get it now. |
01:55.34 | cladhaire | Tekkub: What do you mean your onupdates have function calls? |
01:55.52 | Tekkub | I'm pulling one up since you didn't go look at it like I told ya to :P |
01:56.11 | cladhaire | i JUST got home from work.. im lucky i'm not in bed |
01:56.46 | kergoth | cladhaire: and http://ace.pastebin.com/643385 is c3time.lua, my rudamentary performance tests... be merciful, i'm new to performance testing with lua :) |
01:57.15 | kergoth | i'll backport to 5.0 if it turns out we want it in ace |
01:57.16 | Tekkub | function PerfectRaidTargets:OnUpdate() |
01:57.16 | Tekkub | self.elapsed1 = self.elapsed1 + arg1 |
01:57.16 | Tekkub | self.elapsed2 = self.elapsed2 + arg1 |
01:57.16 | Tekkub | if self.elapsed1 > self.updaterate1 then self:Update1() end |
01:57.16 | Tekkub | if self.elapsed2 > self.updaterate2 then self:Update2() end |
01:57.16 | Tekkub | end |
01:57.16 | Tekkub | that handles two diff update rates |
01:57.16 | cladhaire | Tekkub: Yes, but that's after the throttle |
01:57.20 | cladhaire | If you add a function call on top of that.. that's the problem |
01:57.28 | Tekkub | yes, that's the whole fucking point of the module I want to make |
01:57.32 | kergoth | and finally, copy & paste of the result of c3time.lua: |
01:57.35 | kergoth | Basic Class Lookups: 0.2μs, 0.23μs, 0.27μs, 0.3μs |
01:57.35 | kergoth | Basic Class Lookups(subsequent): 0.2μs, 0.23μs, 0.27μs, 0.31μs |
01:57.35 | kergoth | Class Lookups: 0.2μs, 0.2μs, 0.2μs, 0.2μs |
01:57.35 | kergoth | Class Lookups(subsequent): 0.2μs, 0.2μs, 0.2μs, 0.2μs |
01:57.43 | Tekkub | to handle the frame and the throttle for the author |
01:57.56 | Tekkub | and recycle the frames to boot |
01:58.20 | cladhaire | Tekkub: So your module would be passed a table with time and function pairings? |
01:58.24 | hyperChipmunk | can you make something to handle the throttling OF the author? |
01:58.36 | hyperChipmunk | cuz, like, I'd use that |
01:58.53 | Tekkub | not a table, probably just a few args... a function, an update rate, maybe a name to track multiple update frames |
01:58.59 | cladhaire | Tekkub: Thats good.. and can simplify things for lots of people =) Most of my OnUpdates are custom coded to avoid function calls-- but the case you're guarding for it perfect =) |
01:59.03 | cladhaire | Tekkub: You have my blessing =) |
01:59.15 | Tekkub | self:RegisterOnUpdate(somefunc, updaterat, name) |
01:59.21 | Tekkub | thank you! |
01:59.22 | Tekkub | :) |
01:59.42 | cladhaire | Hehe |
01:59.46 | Tekkub | I mean, it's gonna be damn minimal, I just pasted the whole meat of the code there :) |
01:59.57 | cladhaire | not that you need it.. but I didn't want you to get too far on a busted concept =). not that I didn't have faith |
02:00.04 | cladhaire | but OnUpdates are a pet peeve of mine. |
02:00.19 | Tekkub | I just need to write up a function to get a frame and attach the stuff you pass to it, then functions to show/hide |
02:00.38 | Tekkub | I understand that completely |
02:00.42 | cladhaire | Yeppers =) code is simple |
02:00.48 | cladhaire | if you dont write it.. i'll have it done in an hour =) |
02:00.53 | kergoth | cladhaire: you installing 5.1? i need to know if i'm going insane |
02:00.55 | kergoth | hehe |
02:01.11 | Tekkub | but with dynamic creation I've already tweaked all my updates to work like this, why not make a lil module to do it simply for the authors |
02:01.12 | cladhaire | kergoth: I'm working on it.. you break my test environment =) |
02:01.20 | cladhaire | Tekkub: Agreed |
02:01.33 | Tekkub | and it gives the added potential of frame recycling |
02:01.40 | kergoth | cladhaire: just grab a luabinaries 5.1 build :) |
02:01.48 | Tekkub | even tho unregisters will probably be rare |
02:01.58 | Tekkub | anyway I'll go write it up already :) |
02:02.20 | Tekkub | even if no throttle rate is give is it okey to make that function call onupdate? |
02:02.43 | Tekkub | wait... |
02:02.56 | Tekkub | I can just set it as the script handler if no rate is passed |
02:03.18 | Tekkub | but then self won't get passed will it? |
02:03.22 | Tekkub | *ponder* |
02:04.04 | Tekkub | *shrug* I'll write it up, you can critique afterwards |
02:05.26 | cladhaire | kergoth: Looking now |
02:05.36 | kergoth | cool |
02:06.02 | kergoth | resolution is straightforward, it just checks each of the classes in self.mro in turn for the key |
02:06.12 | kergoth | mro is our defined method resolution order, the linearization |
02:06.21 | Tem | kergoth: the hell is #variablename ? |
02:07.04 | kergoth | Tem, lua 5.1 length operator |
02:07.15 | cladhaire | kergoth: getting an issue with std.math |
02:07.16 | Tem | works on strings, tables, ? |
02:07.24 | kergoth | cladhaire, here, i'll pastebin the round function |
02:07.32 | kergoth | Tem, strings, tables, and anything else that defines the __len metamethod |
02:08.20 | kergoth | cladhaire, http://ace.pastebin.com/643391 |
02:08.23 | cladhaire | If anyone has reasons for WoW to move to 5.1.. please let Iriel know.. we're looking for use cases to entice slouken =) |
02:08.37 | kergoth | Tem, BUT, you cant override __len on tables. it bypasses the metamethod for table and string types :(( |
02:08.55 | Tem | so it's only useful for usedata and liteuserdata? |
02:08.56 | kergoth | cladhaire, the biggest change that could affect us is most likely the switch to an incremental garbage collector |
02:09.00 | kergoth | cladhaire, we need numbers |
02:09.38 | kergoth | Tem, well, in 5.1 every type can have metamethods, even numbers and such, but i've not tried it on anything else |
02:09.55 | Tem | what else is there? |
02:09.59 | kergoth | that said, __len works on userdata, and with newproxy you can create userdata (outside of wow, at least) |
02:10.09 | kergoth | so you can create a proxy that even looks the right size |
02:10.15 | kergoth | which is pretty cool |
02:10.27 | Tem | proxy? |
02:10.32 | kergoth | iteration isnt so clean though, since there still isnt an __pairs metamethod |
02:10.41 | kergoth | Tem, a table that proxies access to another, like to monitor accesses |
02:10.42 | Tem | still? |
02:11.00 | Tem | I'm really surprized there isn't a __paris metamethod yet |
02:11.05 | kergoth | me too |
02:11.14 | kergoth | also, ipairs doesnt appear to obey __len when doing its thing |
02:11.22 | kergoth | i had to override it to get my proxy bits working |
02:11.28 | Tem | I'm also surprized there isn't a __tobool yet either |
02:12.16 | kergoth | http://ace.pastebin.com/643392 - proxy bits |
02:13.53 | cladhaire | kergoth: there is an area in the profiling somewhere.. I'm pretty confident of that... but i'm looking |
02:14.30 | kergoth | an area? |
02:14.40 | cladhaire | nvm |
02:14.42 | cladhaire | smoking crack |
02:14.46 | kergoth | i dunno, somethings weird, but i dunno what |
02:14.50 | kergoth | cause those numbers cant be right |
02:14.53 | kergoth | its nonsensical |
02:14.59 | cladhaire | don't average the numbers |
02:15.02 | kergoth | hm? |
02:15.05 | kergoth | i dont |
02:15.09 | cladhaire | i just saw that |
02:15.11 | cladhaire | as i typed it =) |
02:15.13 | kergoth | i take the median of the times executions |
02:15.13 | kergoth | hehe |
02:15.27 | kergoth | the shift thing is to get the time up to a measurable amount |
02:15.31 | kergoth | since os.clock() sucks ass |
02:15.47 | cladhaire | *nod* |
02:17.52 | kergoth | fyi, in 5.1, ipairs isnt its own iterator anymore |
02:18.47 | cladhaire | Kergoth: I'd like to see you drop it down to 5.0 and see if we can expose anything else there. |
02:19.09 | kergoth | well, thatll take a little doing, as you can see, the actual linearization code makes use of ... |
02:19.14 | kergoth | shouldnt be too difficult though |
02:19.15 | cladhaire | *nod* |
02:19.22 | cladhaire | I'm trying to go through it tho |
02:20.16 | Tekkub | clad, think I should embed an arg to pass to the onupdate func, like maybe self? |
02:20.37 | Tekkub | if this.elapsed >= this.rate then this.elapsed = 0; this.func(this.arg) end |
02:20.58 | kergoth | cladhaire, :( i just wanted to see some real numbers so i could decide whether or not to use it in ace 2.0's object model |
02:21.01 | kergoth | dang thing |
02:21.34 | cladhaire | Tekkub: Make the args optional? hrm |
02:21.44 | Tekkub | arg would be optional, yes |
02:21.48 | cladhaire | kergoth: Hrm.. do you have a paper on the c3 linearization? |
02:21.50 | Tekkub | and probably just the one |
02:21.59 | Tekkub | to make it easy to pass a self |
02:22.15 | Tekkub | cause my onupdates usually involve a self |
02:22.25 | kergoth | cladhaire, google for what i talk about in c3.lua |
02:22.38 | kergoth | i mention the paper's title :P |
02:22.39 | cladhaire | k.. didnt know if it was magically google-able. |
02:22.43 | kergoth | its available on citeseer |
02:22.52 | kergoth | which is the definitive academic paper site |
02:22.56 | cladhaire | you even quoted.. but i am.. lazy tonight |
02:22.56 | cladhaire | aue |
02:22.57 | cladhaire | aye |
02:23.01 | kergoth | hehe |
02:26.29 | kergoth | the c3 algo works fine, if thers a problem with those numbers its with the profiling code. all my tests confirm that its failing to linearize when it should fail and produces the right order the rest of the time |
02:26.31 | kergoth | hmm |
02:29.35 | cladhaire | hehe |
02:29.43 | cladhaire | i'd look at the total time too of ALL cases |
02:29.48 | cladhaire | it tends to reveal a lot. |
02:30.04 | cladhaire | not that you're logic is flawed anywhere.. but raw is good |
02:30.42 | kergoth | have testlookup() and testmultilookup() do a total time of all the testit()s? os.clock() at entry adn exit of the lookup functions? |
02:30.55 | kergoth | notice my function naming sucks when i'm hammering out horrid testing code |
02:30.57 | kergoth | hehe |
02:31.35 | cladhaire | hehe |
02:31.53 | cladhaire | kergoth: *nod* just add all the the total execution time. |
02:32.49 | kergoth | the c3 constructor is slow when doing multiple inheritence, but thats expected. i worked to ensure that c3.lua optimized the common case |
02:32.56 | kergoth | (single) |
02:35.10 | *** part/#wowace Warol (n=Warol@adsl-75-5-43-183.dsl.emhril.sbcglobal.net) |
02:37.30 | Tem | WTF! |
02:37.49 | kergoth | Basic Class Lookups: 0.2μs, 0.24μs, 0.28μs, 0.32μs |
02:37.49 | kergoth | Basic Class Lookups(subsequent): 0.2μs, 0.24μs, 0.28μs, 0.32μs |
02:37.49 | kergoth | Basic Class Lookups(Total): 16.64s |
02:37.49 | kergoth | Class Lookups: 0.21μs, 0.2μs, 0.2μs, 0.21μs |
02:37.49 | kergoth | Class Lookups(subsequent): 0.2μs, 0.2μs, 0.2μs, 0.2μs |
02:37.49 | kergoth | Class Lookups(Total): 13.01s |
02:37.53 | kergoth | cladhaire, .. |
02:38.08 | cladhaire | hahahaha |
02:38.28 | cladhaire | maybe lua is doing something peculiar? |
02:38.43 | kergoth | at first i thought it wasnt actually doing the lookups properly, thats why i added the asserts on a.a, a.b, etc to c3test |
02:38.45 | kergoth | but those all pass |
02:38.47 | cladhaire | i haven't had a chance to check your code, and the paper just isn't working with my brain at the moment. |
02:38.52 | kergoth | so it is in fact traversing the inheritence chain |
02:39.08 | kergoth | cladhaire, one thing, i use a shared metatable across all those classes |
02:39.16 | kergoth | i think it might be smart enough to avoid some lookups in that case |
02:39.25 | kergoth | i dunno |
02:39.26 | cladhaire | <PROTECTED> |
02:39.34 | kergoth | methinks its backport time |
02:39.40 | kergoth | cause if i can repro those numbers in 5.0, i'm dancing a jig |
02:39.45 | cladhaire | try a less joined approach |
02:39.54 | kergoth | elaborate? |
02:39.59 | cladhaire | I'm trying =) |
02:40.52 | cladhaire | somethign without shared metatables? |
02:40.57 | cladhaire | lol |
02:41.04 | cladhaire | thinking tonight is kinda difficult. |
02:41.54 | cladhaire | i've been very useless tonight. all i did was upset tekkub, and make your results even crazier =) |
02:42.13 | Tekkub | *sob* |
02:42.18 | Vanish | Isn't upsetting Tekkub a fairly easy hing to do? |
02:42.34 | Tekkub | no worries, it's done time to reload and find all my typos, then test |
02:42.50 | cladhaire | not from me.. he likes him some cladhaire-abuse. |
02:43.01 | Vanish | Hehe |
02:43.27 | cladhaire | I had a chicken quesadilla tonight. Even with fat free cheese its delicious. |
02:43.30 | Vanish | When it coms to abuse he's not too picky... he likes it all |
02:43.32 | Tekkub | I just ask that you look at the code BEFORE you start bitching about it :P |
02:43.52 | Vanish | That takes all of the fun out of it though |
02:44.17 | cladhaire | Tekkub: It you expect me to bitch only in one place.. you should just give up now. |
02:44.25 | Tekkub | no typos? WTF? |
02:44.38 | Tekkub | something's wrong |
02:46.05 | hyperChipmunk | GRRRRRRRRRRRRRRRRR |
02:46.23 | Vanish | Hey! Stop kicking me in the stuff, man |
02:49.30 | cladhaire | kergoth: You should post your implementation on the lua listserv |
02:49.41 | cladhaire | i'd like to see what they have to say |
02:50.16 | hyperChipmunk | http://ace.pastebin.com/643423 |
02:50.41 | hyperChipmunk | how come this always shows POI's equal to 1, when the zone I'm entering has 5 |
02:52.46 | Tekkub | wewt, eet werks |
02:52.48 | hyperChipmunk | and what other way would there be to detect the zone's actual # of POIs upon zone-in |
02:53.22 | Tekkub | http://ace.pastebin.com/643432 |
02:53.27 | Tekkub | tear into it clad |
02:54.01 | cladhaire | *gasp* don;t use my embed version, use 1.3 as a basis, and get rid of the :Embed method. |
02:54.08 | Tekkub | havn't tested the frame recycling, but it's basically a direct copy/paste from Compost so I bet it'll work fine :) |
02:54.10 | cladhaire | rather, look at StickyFrames |
02:54.26 | Tekkub | nani? |
02:54.30 | Tekkub | *looks* |
02:54.58 | cladhaire | aah |
02:55.01 | cladhaire | you'll need an embed method |
02:55.07 | cladhaire | or rather you should use one. |
02:55.12 | cladhaire | unless you change the model |
02:56.17 | Tekkub | *confused* |
02:57.38 | Kaelten | sorry was unannounced afk |
02:57.49 | cladhaire | I would suggest using a single OnUpdate on a single frame per namespace, and do some trickery to iterate the list of updates that are registered... but i'm not 100% positive on that one. It would prevent the overhead of extra OnUpdate dispatches, as well as the extra frames |
02:57.56 | cladhaire | Tekkub: What specifically confuses you? |
02:58.11 | Tekkub | what exactly the problem is in the first place :) |
02:58.30 | cladhaire | The embed you use doesn't use Iriel's framework.. and it absolutely should |
02:58.44 | cladhaire | =) |
02:58.52 | Tekkub | well I didn't even KNOW about iriel's framework so :P on you |
02:59.00 | cladhaire | haha |
02:59.05 | cladhaire | obviously you haven't looked at AceHook 1.3.1.. |
02:59.07 | cladhaire | so shame on YOU |
02:59.10 | Tekkub | now I have to searn it AND rewrite this and Compost it seems |
02:59.15 | cladhaire | cause one should always be in tune with their hooks. |
02:59.36 | Tekkub | I looked at whichever AceHooks is sitting on my computer :P |
02:59.39 | cladhaire | Tekkub: StickyFrames is straight implementation of the framework |
02:59.51 | cladhaire | Tekkub: SVN update my friend |
03:00.11 | Tekkub | meh, for some reason I don't pull down SVN commits of the core Ace shit |
03:00.25 | cladhaire | Tekkub: AceHook 1.3.1 uses a version that has worked well for me, given integration with Ace.. but you'll need AceModule to cooperate with you, or do it manually |
03:00.42 | Tekkub | on the rare occation I upload something to WoWI I don't want it breaking cause the SVN is more up to date than WoWI |
03:00.56 | cladhaire | aye.. but when i ask for beta testers, i need you bitchez. |
03:01.03 | Tekkub | :P |
03:01.13 | cladhaire | other than that.. looks solid. |
03:01.17 | Tekkub | maybe I'll just abandon WoWI except for initial releases |
03:01.33 | Tekkub | cause I hate packaging updates and typing out notes |
03:01.43 | cladhaire | http://svn.brokendreams.net/wow/AceHook/trunk/AceHook.lua |
03:02.00 | Tekkub | Just put a big ol link to the SVN and big red "I'll never update the file here again MUAHAHAHAHA!" |
03:02.03 | cladhaire | hilights and pitfalls for making an embedded library that also exists within ace |
03:02.30 | Tekkub | yea I have taken a great liking to the embeddedness of stuff like Compost :) |
03:02.42 | cladhaire | The only embeds that work well with ace are those that use inheritance (using am embed method in this case) to give "self" the methods of the base class. |
03:02.46 | Tekkub | I guess I should make it better :P |
03:02.50 | hyperChipmunk | anybody other than tekk and clad here ? |
03:03.08 | cladhaire | so I provide a AceHookLib:Embed() that takes a namespace, and a version, and runs AceHookLib:GetInstance(version):Embed(namespace) |
03:03.48 | cladhaire | You also can't rely on ace:debug for debug messages, since it might not exist, so I created a private Debug method that doesn't get passed onto the embedding namespace |
03:04.16 | cladhaire | if object.debug then object.HookDebug = object.debug else object.HookDebug = self.HookDebug end |
03:04.18 | cladhaire | in this case. |
03:04.49 | Tekkub | yea |
03:04.55 | cladhaire | I have to admit 100%, that I dont like the inheritance model we use in Ace. |
03:05.09 | Tekkub | I've coded Compost as a totally not-ace library |
03:05.24 | Tekkub | yea I havn't even looked at it :) |
03:05.42 | cladhaire | Use StickyFrames as a base for Compost, |
03:05.49 | cladhaire | and AceHook as abase for AceOnUpdate |
03:05.50 | cladhaire | if you'd like |
03:05.57 | Tekkub | honestly.... considering our kinda communal nature and Kael's lack of time... |
03:06.12 | cladhaire | http://svn.brokendreams.net/wow/StickyFrames/trunk/StickyFrames.lua |
03:06.13 | Tekkub | maybe Ace needs to start splitting into seperate embedables? |
03:06.24 | cladhaire | *shake* i wouldn't take that step next |
03:06.28 | cladhaire | I just k we need to begin work on 2.0 |
03:06.40 | cladhaire | its all theory and personal preferencem when it comes down to it. |
03:06.53 | Tekkub | *shrug* nonetheless I think more work needs to get done on Ace core |
03:07.13 | cladhaire | Tekkub: What do you want done with the 1.3.x core? |
03:07.25 | Tekkub | and AceTooltip and maybe even Compost need to get slipped into it |
03:07.38 | hyperChipmunk | you don't have to prepend his nick; you're the only two talking! |
03:07.38 | Tekkub | the Events module, mainly |
03:07.49 | cladhaire | AceHook is an example, where you really want self being passed in implicitly (using inheritance) instead of explicitly |
03:07.49 | Tekkub | (silence) chip |
03:08.00 | cladhaire | cladhaire: I've been asked to work on AceEvent |
03:08.09 | cladhaire | hyperChipmunk: If you want to do start work on it.. go ahead-- just use the svn |
03:08.22 | hyperChipmunk | i r too nub |
03:08.23 | cladhaire | Fritti: Cause I think we can work very well on it if we need to-- but i wont have time for a few weeks. |
03:08.27 | Tekkub | actually Kael was yammering about it earlier |
03:08.42 | cladhaire | otravi: *nod* There's a bunch that needs ot be done.. and he's fiicng the magical crash-wow bug we currently have |
03:08.52 | hyperChipmunk | still learnin' lua, really |
03:08.57 | Tekkub | dawha? |
03:09.09 | cladhaire | Elviso: I need to get my theories on modules, libraries, classes and such online somewhere |
03:09.17 | cladhaire | Codayus: So peopel can understand what I'm talking about. |
03:09.18 | hyperChipmunk | <PROTECTED> |
03:09.22 | cladhaire | =) |
03:09.26 | Tekkub | what crash bug? |
03:09.40 | cladhaire | If you trigger an ACE event within an ACE event.. it .. hates itself or something. |
03:09.52 | Tekkub | hrm.... |
03:09.57 | Tekkub | eenteresting |
03:10.13 | Tekkub | *creates infinate event loop* |
03:10.16 | cladhaire | Tekkub: My solution is to build a delay queue while processing.. and spawn the events after the fact |
03:10.23 | Tekkub | shit there's a thought right there |
03:10.24 | cladhaire | but Kael will likely be fixing it for the 1.3.1 release |
03:11.01 | Tekkub | can it track what function triggered an event? |
03:11.07 | Tekkub | and prevent an event loop |
03:11.13 | cladhaire | I'm not sure how the current system works |
03:11.18 | cladhaire | but it doesn't need to be that complicated |
03:11.22 | Tekkub | true |
03:11.30 | Tekkub | I think it just iterates over a table |
03:11.35 | cladhaire | Anytime we're in the midst of processing an event (Which is just a queue).. any new events spawned are added to the queue. |
03:11.43 | cladhaire | well, to a seperate queue. |
03:11.57 | Tekkub | that could work.... |
03:12.12 | cladhaire | hehe i know, that's why i decided its the best solution =) |
03:12.23 | hyperChipmunk | that's actually very keen |
03:12.36 | Tekkub | so what, run an onupdate that just pulls an event out of the queue and processes it? |
03:12.37 | hyperChipmunk | predictibility is good |
03:12.50 | kergoth | hrm |
03:12.52 | cladhaire | *shake* |
03:12.54 | hyperChipmunk | HI KERGOTH |
03:12.55 | cladhaire | gime a sec tekkub |
03:12.55 | Tekkub | trigger event turns inte enqueueevent |
03:12.57 | cladhaire | i'll code the change =) |
03:12.59 | kergoth | i need to try to remember how this c3 code worked :D |
03:13.09 | kergoth | sure works well, however that is |
03:13.15 | cladhaire | in a naive solution at least |
03:13.46 | hyperChipmunk | hm |
03:14.04 | Tekkub | kerg, set up a SVN user for Shyva will you please? |
03:14.17 | Tekkub | I'll relay password and how to change it later when he's on |
03:14.32 | Tekkub | since it's such a PITA to catch you for a SVN pass :P |
03:14.40 | hyperChipmunk | actually, I really like the queued events thing; makes it nice and easy to log them and act on them after the fact |
03:15.19 | hyperChipmunk | say if your zoning-in events trigger before your POis for instance >8P |
03:15.36 | Tekkub | I think you're confused |
03:15.46 | hyperChipmunk | no, just looking for a singular solution =p |
03:16.13 | hyperChipmunk | and trying my darndest to warp whatever topic is at hand to my problem |
03:16.21 | hyperChipmunk | cuz I'm ready to kick stuff |
03:16.29 | Tekkub | clad, it wouldn't behave this way for WoW-created events correct? cause the global args would get fucked if it did |
03:16.51 | hyperChipmunk | can you poll the queue in an OnUpdate? |
03:17.28 | Tekkub | chip you're completely thinking of this the wrong way |
03:17.41 | Tekkub | this is for custom triggered Ace events, not the wow events |
03:17.47 | hyperChipmunk | ok I'll go sit in the corner and shut up then |
03:18.05 | Tekkub | you could manage you own event queue probably |
03:18.26 | Tekkub | but you'll need to store anything from arg1-arg9 as they'll get changed after the event is done |
03:19.00 | hyperChipmunk | all I want is something to trigger AFTER the zone loads |
03:19.11 | Tekkub | but WHEN after? |
03:19.17 | hyperChipmunk | as soon as possible |
03:19.46 | Tekkub | what function are you calling that's not returning back valid data? |
03:19.58 | hyperChipmunk | GetNumMapLandmarks(0 |
03:20.00 | hyperChipmunk | GetNumMapLandmarks() |
03:20.15 | hyperChipmunk | it still returns the previous zone's landmarks |
03:20.34 | *** join/#wowace Jarentha1 (n=Roo@cpe-066-057-087-213.nc.res.rr.com) |
03:20.38 | hyperChipmunk | and that's the only way to tell if a battlefield is an node-based one |
03:20.51 | Tekkub | "Returns the number of landmarks on the current world map" |
03:21.00 | Tekkub | are you forcing a map change before you call? |
03:21.22 | hyperChipmunk | hm |
03:21.34 | hyperChipmunk | I think I may have to find out how to do that |
03:21.36 | hyperChipmunk | thanks man =) |
03:21.39 | Tekkub | SetMapToCurrentZone() <-- try this first |
03:22.18 | Tekkub | that was something I had to do in SpecialEventsMovement, set the map to the new zone on a zone change (big zone/region, not subzone) |
03:22.20 | hyperChipmunk | that's not given, then? |
03:22.26 | hyperChipmunk | right |
03:22.31 | hyperChipmunk | I don't care about subzones |
03:22.34 | Tekkub | no it get set the first time you open the map usually |
03:22.47 | hyperChipmunk | I just want to know if the battlefield has objectives (i.e. av/ab style) |
03:22.55 | Tekkub | go look at the map frame's code, it only updates the map when you open it |
03:22.56 | hyperChipmunk | I could hardcode those two battlefields |
03:23.13 | hyperChipmunk | but that makes me hurt inside |
03:23.21 | cladhaire | that's a very simple, ugly solution-- it doesn't revamp the system at all.. just directs TriggerEvent() calls that happen during a dispatch to DelayedTrigger() |
03:23.21 | cladhaire | http://ace.pastebin.com/643454 |
03:23.24 | hyperChipmunk | that's an excellent suggestion though =) |
03:23.36 | hyperChipmunk | thanks; I'll leave you two alone again |
03:23.58 | Tekkub | :) |
03:24.11 | Tekkub | clad, make it less ugly and just SVN the bitch up |
03:24.19 | cladhaire | nah |
03:24.27 | cladhaire | i dont make changes without the big man's approval |
03:24.31 | cladhaire | i'll rewrite it tomorrow |
03:24.32 | Tekkub | I've officially give up on "release versions" |
03:24.33 | cladhaire | the whole module |
03:24.33 | cladhaire | lol |
03:25.19 | cladhaire | we use self.registry way too much.. Any registries that are static need to be locals, and referenced if necessary. |
03:25.27 | cladhaire | but i see why it sdone that way |
03:25.29 | cladhaire | again, i'll play for it. |
03:25.54 | cladhaire | s/for/with/ |
03:29.50 | *** join/#wowace Jarenthal (n=Roo@cpe-066-057-087-213.nc.res.rr.com) |
03:33.05 | cladhaire | Tekkub: up for some wacky testing? |
03:33.06 | cladhaire | http://ace.pastebin.com/643461 |
03:33.23 | cladhaire | should be 100% functionally equivalent to the current AceEvent, and handle queuing of triggered events. |
03:33.27 | kergoth | there, c3 works in 5.0 |
03:33.31 | kergoth | not efficient yet, but.. |
03:33.33 | cladhaire | *cheer* |
03:33.41 | cladhaire | don't optimize it yet |
03:33.46 | cladhaire | do your test pre-opt |
03:33.51 | cladhaire | so you have a baseline |
03:34.31 | cladhaire | lemme alter that a bit tekkub |
03:37.27 | cladhaire | http://ace.pastebin.com/643465 |
03:37.36 | cladhaire | Thats the real version |
03:37.47 | cladhaire | as in the code MIGHT work =) |
03:38.14 | kergoth | cladhaire, yeah, testing now |
03:38.48 | cladhaire | i want tekkub to test my code |
03:39.56 | cladhaire | lyke NOW! |
03:39.57 | kergoth | Basic Class Lookups: 0.31μs, 0.41μs, 0.41μs, 0.41μs |
03:39.57 | kergoth | Basic Class Lookups(subsequent): 0.31μs, 0.41μs, 0.41μs, 0.41μs |
03:39.57 | kergoth | Basic Class Lookups(total): 24.67s |
03:39.57 | kergoth | Class Lookups: 0.31μs, 0.31μs, 0.31μs, 0.31μs |
03:39.57 | kergoth | Class Lookups(subsequent): 0.31μs, 0.31μs, 0.31μs, 0.3μs |
03:39.57 | kergoth | Class Lookups(total): 19.76s |
03:39.57 | kergoth | lua 5.0. |
03:39.57 | cladhaire | wow..l |
03:39.57 | cladhaire | you need to post this.. |
03:39.57 | kergoth | so not only do we get a proper linearization for multiple inheritence, it now scales better |
03:39.58 | cladhaire | on the list i mean |
03:39.58 | kergoth | hehe |
03:39.58 | kergoth | hmm |
03:39.58 | kergoth | cladhaire, i dunno if itll be seen as all that interesting |
03:39.58 | cladhaire | i like your nickname.. its a nice soothing purple. |
03:40.41 | cladhaire | kergoth: Is this still using a shared metatable? |
03:40.41 | cladhaire | i'd like to see it without |
03:40.41 | Tem | I don't like that system |
03:40.41 | Tem | the event queue system |
03:40.41 | cladhaire | Tem: What system? |
03:40.41 | cladhaire | whats your proposal? |
03:40.48 | Tem | the problem is the args |
03:40.53 | Tem | args should be global |
03:41.06 | Tem | or else you break blizzard events |
03:41.28 | cladhaire | can you trigger blizzard events from Ace:TriggerEvent |
03:41.29 | cladhaire | ? |
03:41.40 | cladhaire | I thought it was only intended for "ACE_EVENT_BLAHBLAH"? |
03:41.56 | Tem | please hold |
03:41.59 | cladhaire | lol k |
03:42.00 | Tem | I might be retarded |
03:42.05 | kergoth | nope, it doesnt simulate bliz events, never did afaik |
03:42.12 | kergoth | man |
03:42.19 | kergoth | my fileserver / svn server / mailserver / etc in mn is down |
03:42.21 | Tem | I missed the discussion |
03:42.21 | kergoth | :'( |
03:42.23 | Tem | that's the point |
03:42.28 | kergoth | oh, and webserver. kergoth.com is poof |
03:42.29 | cladhaire | *gasp* that sucks! |
03:42.34 | Tem | s/that's/whats/ |
03:42.36 | kergoth | hard to fix it from here :P |
03:42.45 | cladhaire | Tem: Yeah, this is just meant to prevent the current issue with crashing wow when triggering an event from within a dispatch |
03:42.56 | kergoth | cladhaire, same performance with a seperate metatable and seperate function() end for each __index |
03:42.56 | Tem | oh lol |
03:43.01 | kergoth | so that isnt it |
03:43.05 | Tem | you can crash wow that way? |
03:43.07 | cladhaire | kergoth: Hrm.. very odd then |
03:43.11 | kergoth | quite |
03:43.12 | cladhaire | Tem: Well, its an infinite loop =) |
03:43.17 | Tem | that's not a crash |
03:43.27 | cladhaire | Maybe not a crash then.. i never reproduced it. |
03:43.30 | Tem | that will just take 30-40 seconds |
03:43.31 | cladhaire | but it happens =) |
03:43.39 | Tem | and cause lots of C-Stack Overflows |
03:43.41 | kergoth | cladhaire, i'd expect this to scale better than __index inheritence in the long run, because its just a bunch of rawgets, doesnt have to get the mt of each |
03:43.46 | kergoth | but this is beyond my expectations... |
03:43.49 | cladhaire | either way, its bad. i apoligize for labelling it as a "Crash", when in fact its not Tem-approved =) |
03:43.50 | Tem | 7-20 depending on how many addons are installed |
03:44.00 | cladhaire | kergoth: I agree.. its impressive |
03:44.29 | kergoth | well shit, i'm gonna merge this in with that class you pointed me to, and akclass, and test hte damn thing in wow |
03:44.31 | Tem | cstack overflows ... |
03:44.32 | kergoth | hehe |
03:44.44 | Tem | amateur hour |
03:44.52 | cladhaire | Tem: We do run into a problem if an ace addon relies on globals to pass anything, but I don't know if saving the global environment is worth it, but we can certainly do that, and then setfevn for the dispatch |
03:44.57 | hyperChipmunk | kergoth: whoa whoa, let's not do anything drastic here |
03:45.10 | Tem | cladhaire: that would be silly |
03:45.16 | cladhaire | Tem: would it? |
03:45.17 | Tem | cladhaire: if they do that it's their own fault |
03:45.22 | cladhaire | Tem: Hahah |
03:45.23 | cladhaire | =) |
03:45.26 | kergoth | ~whaleslap hyperChipmunk |
03:45.27 | purl | ACTION beats hyperChipmunk upside and over the head with a freakishly huge killer whale named Hugh |
03:45.30 | ckknight | down with the global environment! |
03:45.39 | ckknight | wait, what do you mean pass anything? |
03:45.48 | cladhaire | how cheap are getfenv and setfenv on the whole? I understood they were pretty cheap |
03:45.56 | *** join/#wowace Tain (n=tain@ip68-109-28-84.ri.ri.cox.net) [NETSPLIT VICTIM] |
03:46.01 | Tem | anyway, as I was saying |
03:46.07 | Tem | cstack overflows are amateur hour |
03:46.13 | ckknight | cladhaire, pretty cheap, all it's doing is changing the global table |
03:46.17 | Tem | gotta get a real crash for it to count |
03:46.35 | cladhaire | ckknight: If you rely on the global state when an event is triggered, and a delayed trigger will cause a problem for you-- this implementatino would break that. |
03:46.46 | cladhaire | Tem: Not my bug report, so I'm not offended =) |
03:46.55 | Tem | hehe |
03:47.03 | cladhaire | I'll find a crash someday =) |
03:47.18 | Tem | I think I'll probably find one while I'm working on AceGUI |
03:47.25 | cladhaire | ckknight: You use events more than most ace addons, so if you don't.. no one else does =) |
03:47.54 | cladhaire | Tem: We could DEFINITELY save the global environment I feel and restore it for dispatch.. at least from my basic understanding of it. |
03:47.57 | kergoth | stack overflows can occur whenever you have recursion, unless theres an explicit depth check, or you're doing tail recursion. i wouldnt say its amateur hour. functional programmers recurse all the time |
03:48.01 | cladhaire | but i agree.. we dont need to do that. |
03:48.20 | cladhaire | kergoth: The problem is.. we all know what cause it.. and how to fix it =) |
03:48.27 | Tem | kergoth: that's not what I meant at all |
03:48.53 | cladhaire | anyone have WOW open.. and not doing anything critical |
03:48.54 | cladhaire | please? |
03:48.57 | cladhaire | =) |
03:49.10 | Tem | kergoth: what I meant was causing a stack overflow and pronoucing proudly as I do sometimes, "I crash wow." is amateur hour. |
03:49.17 | cladhaire | hahaha |
03:49.33 | kergoth | ahhh. hehe |
03:49.49 | Tem | but here's a fun one for you |
03:50.06 | Tem | call TargetLastTarget() in a PLAYER_TARGET_CHANGED handler |
03:50.13 | hyperChipmunk | ohoho, there's my AB summon |
03:50.19 | hyperChipmunk | now for the moment of truth |
03:50.24 | hyperChipmunk | hehe Tem |
03:50.26 | cladhaire | Tem: nice =) |
03:50.34 | Tem | that's a creative stack overflow |
03:50.35 | hyperChipmunk | but it won't do it |
03:50.35 | kergoth | sigh |
03:50.47 | kergoth | my server ran my addon set svn |
03:50.47 | kergoth | thank god i use svk |
03:50.51 | cladhaire | TEKKUB |
03:50.59 | cladhaire | get yo bacon ass over here., |
03:51.03 | hyperChipmunk | lol |
03:51.17 | kergoth | i have a local mirror with full history, and can resync back up when it returns |
03:51.24 | hyperChipmunk | YES IT WORKD |
03:51.29 | ckknight | cladhaire, but using a library or something won't affect it, right? |
03:51.58 | cladhaire | ckknight: I'm not sure what you m |
03:53.09 | Tem | ean |
03:53.16 | cladhaire | ckknight: The only issue is if you use Ace:TriggerEvent() within an ace addon, and don't pass it the args necessary for it to do its job-- i.e. you rely on specific data in the global environment. Your event will be called immediately AFTER the current event |
03:53.19 | cladhaire | whoops.. logic error.. brb |
03:53.45 | ckknight | ah |
03:53.48 | ckknight | like arg1? |
03:53.55 | ckknight | or something? |
03:54.20 | Tem | honestly, I don't think even that will be an issue |
03:54.37 | ckknight | me either |
03:54.42 | Tem | unless whatever code is triggered by the event changes the global |
03:55.03 | cladhaire | aye. |
03:55.05 | Tem | even if it's a global indicating some type of state, I still don't think it should be an issue |
03:55.08 | cladhaire | it has to pass the kergoth seal of approval. |
03:55.28 | Tem | Cairenn: you've been rather quiet today |
03:55.31 | Tem | Cairenn: what's up? |
03:55.35 | cladhaire | ~lick Cairenn |
03:55.37 | purl | ACTION licks Cairenn *SHLUUURRRRPPP* |
03:56.05 | cladhaire | hahah no one caught that i put my code in EventHandler() which.. is only called for blizzard events.. my code.. was just fancy code with the same problem |
03:56.12 | Cairenn | worried about my kiddo, spending most of my time with her right now, trying to help keep her distracted from the pain |
03:56.31 | hyperChipmunk | what, did she look at Tekkub? |
03:56.47 | Cairenn | she had her 4 wisdom teeth pulled last Friday |
03:56.55 | hyperChipmunk | ah |
03:57.02 | hyperChipmunk | I never got around to doing that =P |
03:57.07 | Cairenn | the surgery didn't go .... easily ... |
03:57.11 | kergoth | :( |
03:57.16 | hyperChipmunk | >8( |
03:57.23 | Tekkub | I'm glab I've not had to do nufin wif mah wizdom teef yet |
03:57.26 | Cairenn | she is *still* not going back to school |
03:58.05 | Cairenn | she still needs T1s to get any relief whatsoever from the pain, and even they aren't really doing it, but trying to get her off the T3s |
03:58.35 | Cairenn | just worried about my kiddo |
03:58.38 | Tem | Cairenn: she's still in pain? |
03:58.43 | Cairenn | oh yeah |
03:58.49 | Tem | Cairenn: that's either not normal or I heal quickly |
03:58.51 | Cairenn | she still looks like a chipmunk, too |
03:59.01 | hyperChipmunk | >8D |
03:59.03 | Cairenn | no offense hyperChipmunk |
03:59.27 | Tem | nah, she doesn't look like a chipmunk |
03:59.28 | Cairenn | anyway, that's why I'm quiet, tied up with her |
03:59.35 | hyperChipmunk | none taken! Chipmunks are naturally stylish |
03:59.36 | Tem | she looks like she's winning a game of chubby bunny |
03:59.40 | Cairenn | lol |
04:00.06 | Tem | and for me, that was mostly gone within a few days |
04:00.32 | kergoth | i'm gonna have to rework c3 5.0 substantially to reduce gc pressure. tables of tables, table copies.. |
04:00.34 | kergoth | hmm |
04:02.04 | Tekkub | Cair: teach her how to communicate in chitters |
04:02.19 | Kaelten | kergoth: c3? |
04:02.21 | Cairenn | lol |
04:02.31 | kergoth | Kaelten, method resolution algorithm for multiple inheritence |
04:02.32 | Kaelten | hope she gets better soon. |
04:02.35 | Tem | Cairenn: get her some icecream and tell her I hope she feels better. I remember that experience all too well |
04:02.41 | Tekkub | seriously, my cat's begun chittering at bidrs in the morning, he's a freak |
04:02.51 | Cairenn | Tem: thanks |
04:02.55 | kergoth | Kaelten, the __index function i'm using appears to be faster than the case where the classes __Index just points at the parent class... it boggles the mind |
04:03.31 | Tekkub | Cair: get the ice cream and eat it in front of her, tell her she'll get some when she's better, then make sure you eat it all before she can |
04:03.34 | ckknight | pastebin, kergoth? |
04:03.53 | Tem | Tekkub: I think you're so screwed up it's become contageous to other things living near you. |
04:04.02 | Tekkub | bah |
04:04.20 | kergoth | ckknight, the only ones i have handy require 5.1. working on the 5.0 code atm |
04:04.28 | ckknight | hrm |
04:04.28 | Tekkub | seriously look at chip and say that again |
04:04.35 | ckknight | can I see the code anyway? |
04:04.40 | ckknight | I want to catch the gist |
04:05.29 | kergoth | look at the ace pastebin posts by me tonight |
04:05.32 | kergoth | its all there |
04:05.44 | ckknight | okay |
04:05.53 | kergoth | base code, rudamentary unit test code, and rudamentary performance test code |
04:06.15 | cladhaire | Wow.. unable to connect on wow.. thats a new one. |
04:07.28 | ckknight | I've gotten that |
04:10.25 | Tem | haha! |
04:10.28 | Tem | I'm already in game |
04:11.02 | Tem | cladhaire: the login servers seem to be taking their usual peak-hour shit |
04:12.51 | cladhaire | *nod* |
04:14.10 | *** join/#wowace Wobin_ (n=wob@221.221.35.169) |
04:15.20 | hyperChipmunk | anyone know what time moonwolf normally logs in? |
04:15.32 | Kaelten | kergoth, you got that password handy? |
04:16.52 | cladhaire | hahaha |
04:18.33 | Kaelten | damn talk about an annoying brute force. |
04:19.10 | Tekkub | *rawr* |
04:19.47 | cladhaire | If you have something you LEGITIMATELY want me to look at for Ace, or something related to it.. toss it up on my discussion page: http://wiki.wowace.com/index.php/User_talk:Cladhaire |
04:19.49 | kergoth | okay, added the __call metamethod to the c3 class to generate objects, now to split hte namespace like akclass, make the table usage more efficient, and call it done |
04:20.01 | kergoth | ~emulate me |
04:20.02 | purl | Forget |
04:20.06 | kergoth | :'( |
04:20.17 | hyperChipmunk | ~me |
04:20.19 | purl | you are, like, *chitterchitterchitterchitterchitterchitterchitterchitter* |
04:20.25 | hyperChipmunk | =D |
04:20.49 | Kaelten | ~me |
04:20.50 | purl | hmm... kaelten is awsome |
04:20.53 | hyperChipmunk | O_o |
04:20.54 | Kaelten | lol |
04:21.04 | Tekkub | ~me |
04:21.05 | purl | i heard tekkub is a furry pervert |
04:21.08 | kergoth | purl, no, emulate kergoth is <action> hmms. || <action> wields a mean spiked metal cluebat || <reply> Why don't you go away, and come back when you've got some clue? || <action> hacks on OZ, OE, bitbake, and other projects. |
04:21.09 | purl | kergoth: okay |
04:21.09 | Tekkub | :) |
04:21.14 | kergoth | thats a start |
04:21.36 | Kaelten | ~emulate kergoth |
04:21.38 | purl | ACTION wields a mean spiked metal cluebat |
04:22.02 | kergoth | purl, no, emulate kergoth is <action> hmms. || <action> wields a mean spiked metal cluebat || <reply> Why don't you go away, and come back when you've got some clue? || <action> hacks on OZ, OE, bitbake, and other projects. || <reply> Hmm... I know I was supposed to be doing something. I wonder what it was. |
04:22.03 | purl | okay, kergoth |
04:22.04 | Tem | ~me |
04:22.05 | purl | I wonder what Tem is breaking now... |
04:22.16 | Tem | Tem is breaking his own code |
04:22.19 | hyperChipmunk | hehe |
04:22.19 | kergoth | ~me |
04:22.21 | purl | well, kergoth is Chris Larson, an open source developer, often in the embedded Linux arena. Currently working for Computer Sciences Corporation in Scottsdale, AZ. Contact at kergoth@handhelds.org Core dev / architect on the BitBake, OpenZaurus, and OpenEmbedded projects. Maintainer of hte tslib project. Often the resident BOFH, an often an ass. Newbies and ... |
04:22.28 | kergoth | doenst fit :( |
04:22.38 | ckknight | le sigh |
04:22.56 | kergoth | ckknight, you find that code? |
04:23.30 | kergoth | hehe, i sure seem to do this alot.. picking up a specific task and implementing it like 47 different ways, eventually finding the optimal one |
04:23.36 | kergoth | did that with the table traversal stuff too |
04:24.11 | cladhaire | <-- bed times.. k k k ? |
04:24.22 | cladhaire | i'll be writing a new AceEvent this weekend, for those who are curious |
04:24.27 | kergoth | excellent |
04:24.33 | cladhaire | well |
04:24.34 | cladhaire | i'll try |
04:24.37 | cladhaire | i make no promises. |
04:24.47 | kergoth | if i have the time, i'll finish this up and start on the global stub |
04:24.53 | cladhaire | but.. its 0.17% the work of AceHook.. so I should be able to get it out. |
04:25.01 | kergoth | with the gf here, having not seen her in 4 months, not making any promises on touching the computer at all :P |
04:25.03 | cladhaire | kergoth: Sexellent! |
04:25.07 | cladhaire | =) |
04:25.11 | Tain | I'm going to try to go to work tomorrow. |
04:25.11 | hyperactiveZzzzz | btw, tekkub, if you didn't hear: that solution worked perfectly, and allowed me to eliminate an entire event function + 8-10 lines of other code |
04:25.14 | cladhaire | she's a saint for giving you to us as much as she has |
04:25.22 | hyperactiveZzzzz | so thanks a bunch; I owe you one |
04:25.24 | cladhaire | Tain: A noble effort my friend. |
04:25.43 | kergoth | indeed. though i've been trying to get work done on actual work stuff while working on this class stuff. and i wonder why i cant concentrate. jesus. do i have enough distractions or what |
04:25.49 | kergoth | irc, tv, multiple bits of code |
04:26.18 | Tain | I got my new PC up and running. Still software to install of course, but the bulk of it is done. |
04:26.43 | Tain | But I have to get up for work in 6 hours and I just don't want to do it. Damnit. |
04:27.33 | kergoth | i predict i'll be taking http://www.curse-gaming.com/mod.php?addid=2235 and enhancing it and making it an ace 2.0 module |
04:28.10 | Tekkub | good chip |
04:38.29 | Wobin_ | yarf |
04:47.45 | Tem | (that was directed at the other channel |
04:47.49 | Wobin_ | Yeah |
04:47.49 | Tem | ) |
04:47.53 | Wobin_ | I know how you feel =P |
04:48.30 | Wobin_ | He has a... difficulty in identifying opinion vs insult =P |
04:48.51 | Tem | I don't really care what his problem is. |
04:48.56 | Tem | this isn't the first time he's pissed me off |
04:49.02 | Wobin_ | He's an arse =P |
04:49.05 | clad|sleep | I agree |
04:49.07 | Tem | I can't stand him |
04:49.17 | clad|sleep | Kergoth: come back so I can go to bed. |
04:49.20 | clad|sleep | =( |
04:49.26 | clad|sleep | s/(/)/ |
04:49.30 | Wobin_ | kergoth`bbl: Clad wants you in his bed! |
04:49.37 | clad|sleep | ... duh? |
04:49.44 | Wobin_ | =) |
04:50.00 | Tem | something tells me clad|sleep hasn't seen the picture kergoth posted of himself |
04:50.25 | clad|sleep | *lick* |
04:50.36 | clad|sleep | its hanging in a 14x10 picture above my bed |
04:51.08 | clad|sleep | next to my drawring of what I think Tem looks like in a bathing suit |
04:51.09 | clad|sleep | *wink* |
04:51.39 | clad|sleep | ~crickets |
04:51.57 | clad|sleep | ~botsnack |
04:51.57 | purl | thanks, clad|sleep |
04:52.08 | clad|sleep | Ok, I spent 13 hours at work today, then came home and coded with you chuckle-heads all night long. I'm exhausted (hence the insanity). So adieu |
04:52.12 | Tekkub | purl needs a proper response to ~fuck you |
04:52.28 | Tem | heh, night cladhaire |
04:52.28 | Tekkub | but purl won't accept certain words in the reply |
04:52.36 | Tem | ~fuck you |
04:52.37 | purl | What, no dinner or a movie? What do you take me for? Cheap? |
04:52.53 | Tem | Tekkub: what would you put in it's place? |
04:53.06 | Tekkub | No fuck YOU! |
04:53.15 | Tem | No, fuck YOU! |
04:53.21 | Tekkub | at least as one of the randoms |
04:53.42 | Tem | oh it's a random? |
04:53.44 | Tem | ~fuck you |
04:53.46 | purl | Oh, tem, Any time, big boy. |
04:54.13 | Tem | ~fuck you |
04:54.14 | purl | Oh, tem, Any time, big boy. |
04:54.25 | Tem | ~literalinfo fuck you |
04:54.27 | Wobin_ | Tem's getting lucky tonight =P |
04:54.38 | Tem | Tem is going to bed soon |
04:54.52 | Tem | ~literal fuck you |
04:54.53 | purl | "fuck you" is "<reply> (Oh, $nick, Any time, big boy.|What, no dinner or a movie? What do you take me for? Cheap?|I've heard better pick up lines from a goat with Aspergers.|I have a headache)" |
04:55.05 | Wobin_ | no Fuck YOU |
04:55.21 | Wobin_ | oh that's right... I never put it in =P |
04:55.22 | *** join/#wowace Jarenthal (n=Roo@cpe-066-057-087-213.nc.res.rr.com) |
04:55.24 | Codayus | Yay for login server issues. We can only get 3 warriors online for MC. :-/ |
04:55.34 | Wobin_ | Shouldn't be a problem then Cody! |
04:55.37 | Codayus | Yay for druid tanks... |
04:55.51 | Tem | yeah, you only need 3 except for domo |
04:56.05 | Tem | druids can probably pull of domo's adds as well |
04:56.11 | Tem | never tried though |
04:56.31 | Codayus | Well, we're using a resto druid who says he's never really tanked before on core hounds. This could be fun. |
04:57.33 | Wobin_ | hehe |
04:57.48 | Wobin_ | mark7777g |
04:57.48 | Wobin_ | PeriodicTable Dependancy Where do I get PeriodicTable and What is it? Can you possibly include it in the download? |
04:57.48 | Kaelten | ok smart events dont' seem to give me any beneift on a reloadui |
04:57.51 | Kaelten | is that expected? |
04:58.04 | Wobin_ | That comment is directly -after-: wobin |
04:58.05 | Wobin_ | Periodic Table A more frequently updated link for PT would be http://www.wowinterface.com/downloads/fileinfo.php... |
04:58.24 | Kaelten | I guess its not quite the same thign as zoning |
04:58.26 | Wobin_ | Oh Curse Gaming users, how typical you can be |
04:58.43 | Codayus | Domo won't be an issue for a while yet. We're new enough to MC we don't even have 8 people with the rep, never mind with the quest done. |
05:00.01 | *** join/#wowace Jarenthal (n=Roo@cpe-066-057-087-213.nc.res.rr.com) |
05:00.41 | Tem | Codayus: hehe |
05:01.11 | Tem | Codayus: we progressed so fast when we go to Domo, we didn't have enough people with the quest to summon him for the first 2 weeks |
05:01.31 | Tem | (first 2 weeks of his "avialability" |
05:01.47 | Tem | s/y"/y")/ |
05:02.36 | Kaelten | SmarEvents is saving my light char about .5 a s ec on load time |
05:03.07 | Wobin_ | the hell? |
05:03.10 | *** join/#wowace Jarenthal (n=Roo@cpe-066-057-087-213.nc.res.rr.com) |
05:03.12 | Codayus | We're on our 2nd MC raid. :-) And...wiped to a dog pack. New tank lost target. Doh. |
05:03.17 | Wobin_ | Curse gaming does not allow links in the description text? |
05:03.25 | Wobin_ | And considers it HTML |
05:03.31 | Wobin_ | ?? |
05:04.36 | Tem | there is more than one reason I don't use curse anymore |
05:04.53 | Wobin_ | oh wait |
05:05.02 | Wobin_ | no, it just doesn't tell you it updates anything |
05:05.06 | Codayus | And 30 people wasn't enough to recover. Ah well. :-/ |
05:05.11 | Wobin_ | which is stupid |
05:07.42 | Kaelten | Tem: I updated my whitelist so it uses a table lookup and it appears that it saved about 10% of my main's load time |
05:07.49 | Kaelten | he has about 50 ace addons running. |
05:07.59 | Tem | cool |
05:08.18 | Kaelten | but anyway, I'm off to bed. |
05:08.29 | Tem | the real problem for me is not Ace addons |
05:08.38 | Tem | later man |
05:08.46 | Tem | night Cairenn|sleep |
05:09.15 | Kaelten | night cair |
05:09.23 | Cairenn|sleep | night guys |
05:13.48 | *** join/#wowace Ratbert_CP (n=KCummins@c-24-130-132-88.hsd1.ca.comcast.net) |
05:13.53 | *** join/#wowace Jarenthal (n=Roo@cpe-066-057-087-213.nc.res.rr.com) |
05:14.44 | Codayus | Oops, the resto druid lost connection halfway through the 2nd time. Rogue tanks ftw? |
05:15.01 | Codayus | Oh well, 29 people is enough for luci. |
05:22.36 | Codayus | yay, using a druid to tank one of lucis guards. *cry* |
05:31.19 | Tem|Food | oh |
05:31.21 | Tem|Food | my |
05:31.21 | Tem|Food | god |
05:31.32 | Codayus | Yay, we got luci. |
05:31.41 | *** join/#wowace Arokh (i=DvdKhl@p508A6443.dip.t-dialin.net) |
05:31.41 | Tem|Food | http://wow.pastebin.com/643526 |
05:31.44 | Tem|Food | browse that |
05:31.58 | Tem|Food | (It gets called on every BAG_UPDATE event |
05:31.59 | Codayus | Newb warrior tank kept losing aggro, but the feral druid tanked well. I've seen more deaths with 40 people... |
05:31.59 | Wobin_ | Mira's? |
05:32.09 | Tem|Food | Wobin_: yeah |
05:32.15 | Wobin_ | Well he did say he didn't write the original function |
05:32.25 | Tem|Food | Wobin_: I looked up ShardTracker to see when it would be called |
05:32.35 | Tem|Food | and it gets called every fucking BAG_UPDATE |
05:32.42 | Wobin_ | ow |
05:32.50 | Wobin_ | That's... hello pain |
05:32.52 | Tem|Food | there is a needlessly created table |
05:32.58 | Tem|Food | 2 really |
05:33.12 | Tem|Food | and he scans a tooltip |
05:33.14 | Tem|Food | EVERY TIME |
05:33.31 | Tem|Food | better make that 3 uneeded tables |
05:33.45 | Tem|Food | because the tooltip scan dumps the contents of the tooltip into a table |
05:34.50 | Tem|Food | just for fun, turn on FireShow and tell it to only show you BAG_UPDATE events |
05:35.05 | Wobin_ | Oh, trust me, I know about bag_update |
05:35.12 | Tem|Food | then start moving shit around |
05:35.23 | Tem|Food | that's just fucking stupid |
05:35.28 | Wobin_ | I've deliberately got ArmchairAlchemist ignoring any bagupdate on zoning or even MrPlow sorting |
05:35.53 | Wobin_ | (ignoring = deregistering) |
05:36.30 | Codayus | Okay, lost two hunters. Mag with one tranq shot....hmmm. Could be fun. |
05:37.07 | Wobin_ | Y'know Tem... the tooltip scanning is entirely unecessary |
05:37.42 | Wobin_ | Surely GetContainerItemCooldown would work? |
05:53.08 | *** part/#wowace Ratbert_CP (n=KCummins@c-24-130-132-88.hsd1.ca.comcast.net) |
05:57.29 | Codayus | The things you learn late at night on TS. Really gruff grouchy raid leader who's constantly barking at people...used to do puppet shows for kids, and has a wide repitoire of silly voices. oO |
05:58.06 | Wobin_ | "Oh no, Punch!" "Oh yes! Judy!" "Oh no!" "Oh yes!" |
06:02.31 | Tekkub | erf... I think I'm gonna completely rewrite Compost to use Iriel's embedded design, huzzah |
06:03.09 | Wobin_ | Where's this design? |
06:03.11 | Tekkub | I will do my best to maintain backwards compatability, but you've been warned.... if anyone but my even uses it |
06:03.22 | Tekkub | http://www.iriel.org/wow/addondev/embedlibrary1.html |
06:06.52 | Wobin_ | You're doing it already to a certain extent, aren't you? |
06:07.03 | Tekkub | yea kinda |
06:07.15 | Tekkub | this is much more in depth and robust, I like it |
06:07.23 | Wobin_ | Just not to the degree in Iriels =) |
06:07.28 | Tekkub | it'll maintain multiple major versions as well |
06:08.04 | Tekkub | so yea, if you're using Compost you may want to put a hold on it for the moment :) |
06:08.10 | Wobin_ | k |
06:08.30 | Tekkub | I mean, there's a whole 3 methods it should be easy to maintain compatability |
06:08.33 | Wobin_ | I won't be using it until I've figured out a bit more on gui |
06:08.44 | Tekkub | but don't get too Compost happy till I've got this new shit in :) |
06:08.54 | Wobin_ | The more shit, the better the compost =P |
06:09.04 | Tekkub | :) |
06:09.26 | Tekkub | you know... |
06:09.46 | Tekkub | I think I'm gonna write up a little GC frequency/qty meter |
06:09.59 | Wobin_ | AceGCInfo? |
06:10.25 | Tekkub | compare numbers with compost enabled and disabled (I made it very easy to disable compost and have the old functionality work if you didn't notice :) |
06:10.45 | Tekkub | no more detailed than AceGCInfo... |
06:11.02 | Tekkub | give frequecy of the GC and the average amount freed |
06:11.43 | Tekkub | and I guess an overall average memory consumption rate |
06:21.14 | otravi | oO |
06:44.10 | *** join/#wowace [MoonWolf] (n=MoonWolf@a80-127-128-193.adsl.xs4all.nl) |
06:44.10 | *** mode/#wowace [+o [MoonWolf]] by ChanServ |
07:25.11 | *** join/#wowace id` (n=tom@tor/session/x-0fd1cc570d54d158) |
07:25.34 | *** join/#wowace Norque (n=Mickachu@081.a.001.dub.iprimus.net.au) |
07:36.56 | Wobin_ | If you haven't seen The Brothers Tauren, I highly recommend you do =) http://video.google.com/videoplay?docid=9215047663627675265&q=tauren&pl=true |
07:45.49 | *** join/#wowace Norque (n=Mickachu@203.134.90.81) |
08:57.26 | Tekkub | god I feel like a fool |
08:57.37 | Tekkub | send email job app, forget to attach resume |
09:05.20 | Wobin_ | I've done that sometimes with some webapplicaitons |
09:06.00 | Tekkub | so two ponderances on my OnUpdate manager library.... |
09:06.24 | Wobin_ | ~ponder |
09:06.26 | purl | Wuh, I think so, wobin_, but if we didn't have ears, we'd look like weasels. |
09:06.33 | Tekkub | one, embedding? I don't think it's worth the hastle since the only calls would be register and start/stop |
09:06.48 | Wobin_ | What will your OnUpdate manager library do? |
09:07.03 | Tekkub | two, manage multiple frames or just iterate over a table of functions each update? |
09:07.26 | Tekkub | it'll let you register for something to get called at a certain frequency |
09:07.38 | Tekkub | like a normal OnUpdate with a throttle rate |
09:07.46 | Tekkub | but you won't have to manage all that |
09:07.46 | Wobin_ | Like every second or something? |
09:07.56 | Tekkub | yea if you set it for 1 second |
09:08.03 | Wobin_ | A shorter term than using Timex |
09:08.43 | Tekkub | like in PRT I'm gonna update the target list (requires scanning every raid unit's target and comparing to know targets) every .25 sec whereas the frame updates for targets will be every .05 sec |
09:08.50 | Tekkub | yes |
09:09.09 | Wobin_ | Although, embedding does mean that if more than one person uses it, it'll save memoryspace |
09:09.15 | Tekkub | the aim is to provide the shortterm repeating calls that timex causes too much overhead for |
09:09.27 | Tekkub | well not really |
09:09.39 | Tekkub | embedding only gives them faster access to the methods |
09:10.00 | Tekkub | which they SHOULDN"T be calling very often |
09:10.01 | Wobin_ | Ah, I see what you mean |
09:10.23 | Tekkub | and they could always store a local pointer to the library and make calls that way if they choose |
09:10.27 | Wobin_ | I got confused between embedding and libraries |
09:10.47 | Tekkub | yea fuck embedding, the author can embed a pointer to the library if they want one |
09:11.03 | Tekkub | embedding is what AceEvents does |
09:11.08 | Tekkub | or AceHooks |
09:11.15 | Wobin_ | self:RegisterEvent() |
09:11.27 | Tekkub | AceHooks is a better example, it's tables are stored in the addon it's embedded into |
09:11.51 | Wobin_ | Well, essentially you'll be doing something similar to AceEvents |
09:12.00 | Wobin_ | in that the addon registers to be notified |
09:12.05 | Tekkub | but yea, if the author wants the speed of self:Blah() they can go the route of... |
09:12.29 | Wobin_ | (PS, call your addon Metronome =)) |
09:12.36 | Wobin_ | s/addon/library/ |
09:12.38 | Tekkub | self.OnUpdateLib = OnUpdateLib ... self.OnUpdateLib:RegisterOnUpdate(......) |
09:12.51 | Tekkub | oh thank you, a good mane |
09:12.58 | Tekkub | name* |
09:13.21 | Tekkub | righto, now on to dilema two... |
09:13.26 | Wobin_ | Okay, in regards to your second ponderance |
09:13.45 | Wobin_ | You're asking if the library should do more managing, or if the addon should? |
09:13.56 | Tekkub | a frame for every function registered and recycle them when unregistered or a single frame for the whole thing and iterrate over a table every update? |
09:14.19 | Wobin_ | What are the advantages of the first? |
09:14.29 | Wobin_ | It seems more intensive, processingwise |
09:14.30 | Tekkub | well the thought of a frame per func is that it'd be easy to enable/disable just by show/hide |
09:14.49 | Tekkub | but it'll take more memory, a frame for each func |
09:15.09 | Tekkub | table would be a single frame, but you got memory for each table in the table |
09:15.25 | Wobin_ | Wouldn't it be easier for the addon to register/deregister, rather than using enable/disable? |
09:15.34 | Tekkub | and you'd have to iterate over it, which prolly isn't much diff than a bunch of frames hitting an onupdate |
09:15.56 | Wobin_ | Essentially it's the same thing |
09:16.18 | Tekkub | yea but is there any real advantage to one system over the other? |
09:17.01 | Wobin_ | Can you see the number of frames increasing to a point where the memoryload for the first method would be prohibitive? |
09:17.30 | Tekkub | well in most cases it's prolly gonna be one func/frame for each addon that registers |
09:17.44 | Tekkub | there might be rarer cases like PRT that'll register more than one |
09:18.20 | Tem|Food | Wobin_: I know this is WAY late, but I wasn't meaning that the tooltip scanning was unessasary, but it was done poorly and too often |
09:18.24 | Wobin_ | The first method seems the same as the second in the second stage, just a bit easier with the interface... |
09:18.36 | Wobin_ | Tem: Oh I understand fully |
09:18.43 | Tekkub | Tem! opinion |
09:18.47 | Tem | uh oh |
09:18.52 | Tekkub | OnUpdate manager.... |
09:18.52 | Tem | whatcha got? |
09:19.03 | Tem | Tekkub: I'm not sure that's such a good idea |
09:19.06 | Wobin_ | Tem: Considering the amount of damn bag_updates, scanning the tooltips every single time would be... dumb |
09:19.21 | Tekkub | multiple frames with seperate OnUpdate scripts or one farme with a table that's looped over? |
09:19.24 | Wobin_ | Tem: Which is why I suggested he use the function instead, if he had to do the checking |
09:19.46 | Tekkub | I'm not asking your opinion on the premise of the library |
09:19.49 | Wobin_ | Tem: Although I'm sure that whole function could be better rewritten |
09:19.51 | Tem | Tekkub: I'm no expert on the cost of a function call, but such a manger would introduce at minmum one extra function call |
09:19.58 | Tekkub | I'm asking which approach you think is better |
09:20.23 | Tekkub | okey, first off I've discussed shit with clad already about that |
09:20.39 | Tekkub | second, no it won't, at least not how I'm already handling onupdates |
09:20.51 | Tekkub | I just want to centralize managing the onupdates |
09:21.07 | Tekkub | I keep doing the exact same shit in every mod I use an onupdate in |
09:21.18 | Tem | yeah, I understand that |
09:21.47 | Tem | I just don't completely understand how much overhead a system like that would add to something that's so sensative to screwups |
09:21.59 | Tekkub | so which is worse, looping over a table or creating a bunch of frames with their own onupdates.... |
09:22.17 | Tem | in theory, I think a bunch of frames would be faster |
09:22.24 | Tem | but would use more memory |
09:22.31 | Tekkub | hrm.... |
09:22.42 | Tem | either way a loop is going on |
09:22.47 | Tekkub | yea I know |
09:22.51 | Tem | it's just is the loop happening in C land or in lua land |
09:23.00 | Tem | it's a safe bet that C is faster |
09:23.07 | Tekkub | and which is worse... C land or LUA land.... |
09:23.18 | Tekkub | so your vote is for frames |
09:23.23 | Tem | for n OnUpdates running you have n extra frames |
09:23.37 | Wobin_ | hm |
09:23.54 | Tem | which will increase your memory use by n tables and n userdata objects |
09:23.55 | Tekkub | as opposed to n table value compares |
09:23.59 | Wobin_ | I would say if one method were 'faster' you should go for it, especially since it's for a timing program |
09:24.24 | Tekkub | well inside the loop the logic will be the same.... |
09:24.39 | Wobin_ | Just the interface on the outside |
09:24.58 | Tekkub | yea.. which is better, n frames or looping thru a table full of n tables |
09:25.31 | Tem | I think my vote is for the frames |
09:25.38 | Tekkub | okey |
09:25.44 | Tem | for 2 reasons |
09:25.48 | Tekkub | I'll discuss some more with clad tamara |
09:25.56 | Tekkub | I got the frame stuff written up already |
09:26.02 | Wobin_ | I don't know enough about the differences in efficiency between frames and tables to offer an opinion |
09:26.30 | Tem | Wobin_: neither do I really, I'm just giving a good guess |
09:26.37 | Tekkub | yea |
09:26.49 | Tekkub | and honestly I'm not exactly sure how to test it |
09:27.01 | Tem | Tekkub: I think the only person who really understands it -- maybe -- would be Iriel |
09:27.14 | Tekkub | I know how to test the timing of the algy that'll get called each update, but that's the same in both |
09:27.31 | Tekkub | I CAN measure the table loop, but not the frame loops... |
09:28.05 | Tem | Tekkub: I think you can |
09:28.18 | Tem | put 2 frames updating |
09:28.20 | Tekkub | how? |
09:28.31 | Tem | if you listen I'm about to explain it |
09:28.38 | Tem | =P |
09:28.40 | Tekkub | type faster |
09:28.47 | Wobin_ | hehe |
09:29.23 | Tekkub | oh come on alreay! |
09:29.27 | Tekkub | *already |
09:29.34 | Tem | at each update, have both frames spit out something |
09:30.14 | Tem | when you look at the time closely enough, you should see a pattern |
09:30.26 | Tem | two events followed by a pause |
09:30.35 | Tem | then another two events |
09:31.04 | Tem | so then you have 2 data sets to consider |
09:31.12 | Tekkub | hrm... |
09:31.14 | Tem | 1) the time between the "close" events |
09:31.22 | Tekkub | ugh... this is making my brain hurt >< |
09:31.25 | Tem | 2) the time between the two events and the next set |
09:31.51 | Tem | The first being how long it takes your system to move from one frame's OnUpdate to the next |
09:32.04 | Tem | and the second being how long the system takes between updates |
09:32.36 | Tem | the first is the only one that should change, but the second may change as a result of the first |
09:32.42 | Wobin_ | You could essentially run the two methods in parallel, with timing output and see if one has any appreciable speed difference |
09:33.29 | Tem | but make sure to take into account the ammount of time it takes to call the output function |
09:33.53 | Tem | it would probably be better to benchmark it before the tests so that you don't have to measure that too |
09:34.07 | Tekkub | but that won't matter as the functions inside the laap/frames would be identical |
09:34.23 | Tekkub | I need some concreate way to time the frames |
09:34.40 | Tekkub | but since I cannot isolate them I don't see a way I can time them accuratly |
09:34.46 | Wobin_ | (OT: Is Compost on SVN?) |
09:34.53 | Tem | not sure |
09:35.02 | Tekkub | I have no clue what other frame's onupdates the system is calling, or in what order |
09:35.13 | Tem | Tekkub: it doesn't matter |
09:35.20 | Tekkub | I can encase a table loop in time/gc calls and measure that easily |
09:35.38 | Tekkub | Wob, yes the PT commit has the latest version |
09:35.47 | Wobin_ | It doesn't specifically have to be OnUpdate... since you're the one doing the calling... |
09:38.03 | Tem | Tekkub: I was thinking about Compost, and I was wondering.... |
09:38.16 | Tem | Tekkub: are you keeping a pool of unused table objects? |
09:39.01 | Tem | Tekkub: What I'm getting at is: Is whatever data structure that's holding those table references weak? |
09:40.05 | Tekkub | I hate to sound like a dick... but did you try reading my code before you asked that? |
09:40.31 | Tem | night folks |
09:40.33 | Tekkub | heh |
09:40.43 | Tekkub | I'll take that as a no :P |
09:41.08 | Tekkub | (If you read the first few lines of the library you'd have your answer) |
09:42.20 | Tekkub | 15 lines of code is all ya gotta read! |
09:42.29 | Tekkub | So Wob, what's up? |
09:42.52 | Wobin_ | Bank sorting! |
09:43.02 | Tekkub | oh fun |
09:43.25 | Wobin_ | Not a problem really... just have to reference different bags with the same functions =) |
09:43.33 | Tekkub | yea |
09:43.51 | Wobin_ | And eyeing MASH with trepidation =P |
09:44.15 | Tekkub | oro?+ |
09:45.13 | Wobin_ | I've got the basic framework down |
09:45.31 | Wobin_ | I just have to put some sort of graphical interface to it |
10:09.47 | Tekkub | frames are fun! (now that I don't have to fuck with XML) |
10:10.22 | Wobin_ | Isn't it about the same though? =P |
10:10.30 | Wobin_ | Maybe I'll wait til AceGUI gets more |
10:17.31 | [Ammo] | the new lua constructed frames are perfect |
10:33.01 | Wobin_ | Actually I'm not sure what sort of GUI I'm going to put up |
10:33.14 | Wobin_ | Should it just be the same as NeedyList? |
10:34.36 | Wobin_ | Can anyone think of a better layout? |
11:08.39 | *** part/#wowace Norque (n=Mickachu@203.134.90.81) |
11:23.59 | Tekkub | blargh |
11:40.54 | [Ammo] | yay all the buttons in my Necronomicon are working |
11:57.19 | Tekkub | glayven someone finally hackported EngInv to EngBank |
12:08.55 | Wobin_ | glayven? |
12:36.33 | [MoonWolf] | Tekkub, can you register multisets into pt ? |
12:38.52 | Tekkub | no, there's no reason to |
13:11.28 | [Ammo] | has anyone played with getting information from GameTooltip's defined only in lua? |
13:11.44 | [Ammo] | or do I still have to give it a name |
13:11.47 | [Ammo] | and use the globals |
13:11.47 | [Ammo] | meh |
13:16.12 | [Ammo] | I now have to use: local text = getglobal(self.frames.tooltip:GetName().."TextLeft1"):GetText() |
13:16.22 | [Ammo] | I think |
13:47.29 | [Ammo] | arg, need inheritance meh bah |
13:49.36 | [Ammo] | when using an action button with an instacast spell no SPELLCAST_START gets fired |
13:49.49 | [Ammo] | so I have to parse the tooltip of the button to find out which spell is being cast |
13:50.09 | [Ammo] | but I can't create a frame that inherits blizz's gametooltiptemplate |
13:50.17 | [Ammo] | I think |
14:22.09 | hyperactiveZzzzz | bam! |
14:23.12 | otravi | *gasps* |
14:24.28 | hyperChipmunk | run now while you still can |
14:24.54 | otravi | I can't, purl stole my legs :( |
14:26.06 | Wobin_ | ~run |
14:26.07 | purl | ACTION runs round the world |
14:29.25 | otravi | haha, I just "fell of the chair :p |
14:29.40 | otravi | like cable around leg while wakling ^^ |
14:29.59 | otravi | todays entertainment! |
14:30.34 | hyperChipmunk | =x |
14:41.07 | hyperChipmunk | hi God |
14:41.17 | hyperChipmunk | have that report for me yet? |
14:41.19 | God | Hello little munk |
14:41.29 | God | It's in the mail, along with the cheque |
14:41.36 | hyperChipmunk | excellent |
14:44.43 | *** join/#wowace ag` (n=Andreas@0x50c4844b.adsl-fixed.tele.dk) |
14:57.33 | hyperChipmunk | !date |
14:57.37 | hyperChipmunk | oops |
15:14.23 | *** join/#wowace purl (i=ibot@pdpc/supporter/active/TimRiker/bot/apt) |
15:14.23 | *** topic/#wowace is wowace.com | ace.pastebin.com | New official WowAce Channel (beware of the Bear) |
15:16.09 | ckknight | so should I have left center and right placement? |
15:16.24 | hyperChipmunk | ooh |
15:16.39 | ckknight | Mazzlefizz asked for it |
15:17.56 | *** join/#wowace [MoonWolf] (i=moonwolf@f176182.upc-f.chello.nl) |
15:17.56 | *** mode/#wowace [+o [MoonWolf]] by ChanServ |
15:17.58 | hyperChipmunk | sounds liek a swell idea |
15:17.59 | Tain | I had thought about putting in a request for that a long time ago, but I thought about it and realized I wouldn't actually use it. So I didn't. |
15:18.04 | Tain | It is a good idea though |
15:18.18 | ckknight | hrm |
15:18.49 | Tain | I do try to temper, somewhat, suggestions for the sake of being able to do something with suggestions that I think I'd actually use. |
15:19.15 | ckknight | yea |
15:19.23 | ckknight | that's why I didn't put in Autohide for a while |
15:19.29 | ckknight | it seems so pointless for a bar that gives nfo |
15:19.33 | ckknight | info* |
15:19.41 | ckknight | but people kept asking for it |
15:21.25 | Tain | I never understood it either, but if people want it ehn what can you do. |
15:22.06 | ckknight | I could be a dick and just ignore it |
15:22.11 | ckknight | but I don't want to be like that |
15:22.56 | Wobin_ | I guess it's a balance of what's easy to implement and what seems not worth the time to code |
15:24.05 | ckknight | what do you think about if the plugins start to overlap, automatically create a new bar and place the infringing buttons on that? |
15:24.50 | hyperChipmunk | that's the best option, really |
15:25.02 | hyperChipmunk | so at least you can click the hidden ones to turn them off |
15:25.05 | hyperChipmunk | hmm |
15:25.18 | hyperChipmunk | you should have autocreated bars auto-disappear if they're emptied |
15:25.31 | hyperChipmunk | it should just be a temporary holding place |
15:25.55 | hyperChipmunk | ls |
15:26.01 | hyperChipmunk | doh |
15:28.28 | otravi | It's not your day today? |
15:30.52 | [MoonWolf] | trust me , irc is not a *nix shell |
15:31.04 | ckknight | unless... |
15:34.08 | Tain | ~ls |
15:34.10 | purl | bash: ls: permission denied |
15:34.35 | otravi | :p |
15:34.49 | ckknight | goddammit, why is WoW down? |
15:34.57 | ckknight | transferring to a new location? |
15:34.57 | otravi | not in EU :D |
15:35.12 | ckknight | ? |
15:37.08 | *** join/#wowace Tem (n=Tem@ip70-177-40-169.br.br.cox.net) |
15:37.08 | *** mode/#wowace [+o Tem] by ChanServ |
15:38.00 | Wobin_ | some are |
15:38.07 | Wobin_ | transferring to the new hardware |
15:43.49 | ckknight | here's a feature request, what do you think about it; "What about adding an options to hide zoom in and out buttons on minimap and the ability to zoom with mousewheel instead?" |
15:44.32 | ckknight | doesn't have anything to do with the location plugin, but it is a handy feature |
15:46.22 | *** join/#wowace id` (i=debian-t@tor/session/x-a7ee6e28d8d13dd6) |
15:47.24 | hyperChipmunk | would allow me to delete an AddOn folder |
15:49.15 | ckknight | I use MapScroll |
15:49.39 | ckknight | *sigh* my realm is down for 24 hours |
15:50.02 | id` | :P |
15:50.36 | ckknight | what? |
15:50.44 | ckknight | this'll just obselete yours |
15:50.51 | id` | what'll ? |
15:51.06 | ckknight | if I add minimap scrolling to the location plugin |
15:51.17 | id` | what location plugin |
15:51.33 | ckknight | LocationFu |
15:51.44 | id` | ckknight, if its for your bar addon then its not a good thing |
15:51.54 | ckknight | probably not |
15:51.59 | ckknight | doesn't seem to fit right |
15:52.03 | ckknight | that's why I didn't do it earlier |
15:52.07 | ckknight | but someone asked for it |
15:52.20 | id` | In my honest opinion, the interface should be split out in small parts. each part does its own thing. |
15:52.35 | id` | you dont want one thing to do everything |
15:52.40 | id` | youll end up with something like emacs |
15:52.42 | id` | *twitch* |
15:52.46 | ckknight | yea |
15:52.51 | ckknight | that thing's a beast |
15:53.18 | id` | a bar addon is handy for showing you lots of information in little space |
15:53.32 | id` | like a bunnon that unfolds into a menu. great.. |
15:54.02 | id` | but it should be the front end for something else, if its going to configure stuff. not include all the functionality itself |
15:54.09 | id` | imho |
15:54.11 | id` | :p |
15:55.11 | id` | coolest thing would be if you have an addon that uses slash commands to configure it, to have a front end that uses the same functions being used to set/unset stuff as the slash commands do |
15:55.36 | id` | so you have two addons 'talking' to eachother |
15:56.18 | id` | hey you there? -> yea -> ill enable this in the menu. set this. -> ok i set it/no theres something wrong -> response |
15:56.38 | id` | meh, </rant> |
15:57.43 | ckknight | I don't see that happening quite yet |
15:58.15 | ckknight | but yes, eventually I want to split up a lot of things |
15:58.29 | id` | That will only happen if you do it together (the addon authors) |
15:58.46 | ckknight | The location plugin specifically |
15:58.57 | id` | what does it do? |
15:59.04 | ckknight | and I also want to take out the Utils in FuBar and make that its own addon |
15:59.09 | ckknight | um, it does more than a bar should |
15:59.19 | id` | heh ^^ |
15:59.20 | ckknight | well, actually, only one more thing |
15:59.21 | id` | lus is so fun |
15:59.22 | id` | :p |
15:59.23 | id` | lua* |
15:59.36 | id` | im poking at keplerproject.org |
15:59.40 | ckknight | it can show an overlay on the world map, showing instances and levels |
16:00.02 | id` | ah k |
16:00.15 | ckknight | so I want to lob that out |
16:01.24 | id` | :p |
16:01.32 | id` | right um, MORE CAFFEINE |
16:17.33 | *** join/#wowace darth_mall (n=evan@zero.navi.cx) |
16:19.37 | *** join/#wowace Shyva (n=n0time@sd511586e.adsl.wanadoo.nl) |
16:24.17 | id` | morn Cairenn |
16:24.21 | Cairenn | hey id` |
16:24.42 | id` | oo oo, anime watch time! |
16:24.53 | id` | finish gundam seed desinty \o/ |
16:28.00 | *** join/#wowace Ratbert_CP (n=KCummins@proxy-ce3.disney.com) |
16:29.24 | *** join/#wowace Tem_ (n=Tem@ip70-177-40-169.br.br.cox.net) |
16:29.24 | *** mode/#wowace [+o Tem_] by ChanServ |
16:37.43 | hyperChipmunk | hey, boss? |
16:37.48 | ckknight | now someone wants me to add map notes to LocationFu |
16:37.52 | hyperChipmunk | lol |
16:37.53 | ckknight | hey |
16:38.24 | hyperChipmunk | any chance we can get FuBarUtils color constants for the user's horde and alliance colors? |
16:38.40 | hyperChipmunk | you have some basic color |
16:38.40 | ckknight | that'd make sense |
16:38.52 | ckknight | I want to add a whole bunch of stuff to the Utils |
16:39.01 | ckknight | specifically a shitload of Localization stuff |
16:39.19 | ckknight | but sure, the Horde/Alliance colors dealy would be cool to add |
16:39.27 | hyperChipmunk | well, if you could add those, it'd save me a ton of redundant code |
16:39.29 | ckknight | you thinking the standard colors or the ones the user defines? |
16:39.43 | hyperChipmunk | well, if the user doesn't define |
16:39.47 | ckknight | sure, that's something I'm willing to do |
16:39.49 | hyperChipmunk | then they're standard already |
16:40.17 | hyperChipmunk | so if the user wants to define nonstandard, I figure, may as well do what he says =P |
16:40.39 | hyperChipmunk | so just go with the user colors, which in 99% of cases will likely be the default ones |
16:40.41 | ckknight | you already have that code, right? |
16:41.43 | hyperChipmunk | sorta; I wrote my own and I'm now finding it inferior to the utils stuff |
16:41.49 | hyperChipmunk | but the values you want are: |
16:42.10 | hyperChipmunk | ChatTypeInfo["BG_SYSTEM_ALLIANCE"] and the same for BG_SYSTEM_HORDE |
16:42.39 | hyperChipmunk | and r,g, and b are table entries |
16:43.00 | hyperChipmunk | e.g. ChatTypeInfo["BG_SYSTEM_ALLIANCE"].r = the red value of the alliance color |
16:43.40 | ckknight | I really need to split the utils into its own adodn |
16:43.41 | ckknight | addon* |
16:44.02 | hyperChipmunk | actually, I can poke in fubarutils and replicate one of yours if you're busy |
16:44.09 | hyperChipmunk | I'll just pastebin the final function |
16:44.44 | ckknight | okay |
16:45.00 | hyperChipmunk | http://ace.pastebin.com/644368 is what i have now |
16:45.25 | hyperChipmunk | gimme a moment, and I'll make the appropriate FuBarUtils-type functions |
16:48.00 | ckknight | okay, for my Utils library, should I keep it in a table or put the functions mostly as globals/ |
16:48.02 | ckknight | ?\ |
16:49.35 | hyperChipmunk | I don't know enough about the benefits of either to make an educated response to that question |
16:51.16 | *** join/#wowace Tem (n=Tem@ip70-177-40-169.br.br.cox.net) |
16:51.16 | *** mode/#wowace [+o Tem] by ChanServ |
16:52.13 | hyperChipmunk | hm |
16:52.38 | hyperChipmunk | second thought, you better make the decision on how to implement user colors; I didn't realize you only had constants |
16:53.16 | hyperChipmunk | though hm |
16:53.17 | ckknight | yea... |
16:53.32 | hyperChipmunk | the thing is, they're not really constants |
16:54.11 | hyperChipmunk | but ideally, you'd want to be able to use e.g. COLOR_HEX_HORDE just like you'd use, say, COLOR_HEX_ORANGE |
16:54.59 | hyperChipmunk | peh, you should just make it default and say 'screw it' =P |
16:55.09 | hyperChipmunk | users suck anyhow |
16:55.12 | hyperChipmunk | who cares what they think |
16:55.15 | ckknight | lol |
16:56.46 | hyperChipmunk | actually |
16:57.25 | hyperChipmunk | probably be better off in the long run if you're going with the idea of a more useful FuBarUtils to make a ColorToHex function anyway |
16:57.49 | hyperChipmunk | cuz that's the real crux of the issue |
16:58.09 | hyperChipmunk | being able to put those stupid 3-member tables in a format function |
16:58.51 | hyperChipmunk | if I could just stick a translation function in there, there wouldn't be need for anything |
17:00.17 | hyperChipmunk | e.g. format("cff%s%s|r", FuBarUtils:ColorToHex(ChatTypeInfo["BG_SYSTEM_ALLIANCE"]), text) |
17:01.23 | ckknight | isn't there already a color to hex deal in there? |
17:01.43 | hyperChipmunk | you could even make a ChatColorToHex which would just take "BG_SYSTEM_ALLIANCE" as the arg |
17:01.50 | hyperChipmunk | I just searched the wowwiki |
17:01.55 | hyperChipmunk | nothin' there |
17:02.28 | hyperChipmunk | the word 'color' only shows up like 5 times |
17:03.03 | hyperChipmunk | for changing chat colors and getting the RGB value for item quality color |
17:05.01 | ckknight | alright, I figured out a great way to do Bosslib |
17:05.05 | ckknight | should I call it that? |
17:05.08 | ckknight | with the Boss and all |
17:05.39 | hyperChipmunk | lol |
17:05.42 | Wobin_ | KnightLib? |
17:05.54 | Wobin_ | It's a library, call it what you want, I say =) |
17:06.04 | Wobin_ | Since 'users' will be coders |
17:06.15 | hyperChipmunk | chipperLib |
17:06.18 | Wobin_ | And hopefully able to distinguish =P |
17:06.30 | hyperChipmunk | I like KnightLib =) |
17:06.36 | ckknight | I'm thinking KnightLib would be cool |
17:06.40 | Wobin_ | hehe |
17:06.59 | hyperChipmunk | yea, wob, that was a real original one |
17:07.09 | hyperChipmunk | mad props to you |
17:07.19 | ckknight | I'm a Knight, so you get to suck it :-P |
17:07.24 | Wobin_ | I do not necessarily offer originality, merely ... opportunities not always seen =P |
17:07.32 | hyperChipmunk | <PROTECTED> |
17:07.35 | hyperChipmunk | nobody saw that one |
17:07.46 | Wobin_ | ChipperLib *cough* |
17:07.53 | hyperChipmunk | now THAT'S a name |
17:23.01 | ckknight | really, I just want my handy bunch of functions and not have to have FuBar installed |
17:25.10 | hyperChipmunk | so have FuBar require KnightLib, and include KnighLib as part of the fubar package |
17:25.23 | Wobin_ | well not really 'require' |
17:25.27 | Wobin_ | Just have it in the code |
17:25.37 | ckknight | it'd be embedded |
17:25.37 | Wobin_ | (embedded) |
17:25.47 | hyperChipmunk | right |
17:25.56 | ckknight | so most people won't notice |
17:25.56 | Wobin_ | nobody outside of those coding will know it exists |
17:26.33 | Wobin_ | hrm |
17:26.46 | Wobin_ | Should I extend ArmchairAlchemist to Engineering recipes? |
17:26.59 | ckknight | could be cool |
17:27.00 | hyperChipmunk | no |
17:27.13 | hyperChipmunk | 99% of engineering recipes require you to be engineer anyway |
17:27.16 | Wobin_ | It's a bit more... cliquiesh, engineering =) |
17:27.17 | Wobin_ | yeah |
17:27.23 | hyperChipmunk | only thing it'd be used for is bullets |
17:27.27 | Wobin_ | Or scopes |
17:27.28 | hyperChipmunk | and discombobulator rays |
17:27.40 | hyperChipmunk | still not enough to justify it |
17:27.46 | Wobin_ | I don't think there are enough to... ya =) |
17:27.56 | hyperChipmunk | since scopes are only needed when you get a new ranged weapon |
17:28.14 | hyperChipmunk | which is maybe 10 times in the lifetime of a character, spread out over a reasonable period of time |
17:29.26 | hyperChipmunk | now if you made something for engineers that would allow them to click on the component buttons in the bottom-half of the tradeskill frame to switch to the creation of that reagent, you'd be a God |
17:30.06 | ckknight | when used not to describe God as a proper noun, e.g. "a god", it's lowercase |
17:30.11 | hyperChipmunk | add forward/back history arrows and you'd need to carry around a pole to fend off your adoring fans |
17:30.14 | hyperChipmunk | yea, I know |
17:30.20 | hyperChipmunk | typo |
17:30.28 | hyperChipmunk | he was God earlier |
17:30.37 | *** join/#wowace kergoth (i=kergoth@rikers.org) |
17:30.44 | Wobin_ | Only briefly so I could ankletap Shouryuu |
17:30.57 | kergoth | ckknight: you or clad figure out why that c3 stuff was performing as well as it was? i did. stupid, stupid simple thing |
17:31.14 | kergoth | interesting of course, but unsurprising |
17:31.23 | Wobin_ | It usually is =) |
17:31.38 | hyperChipmunk | you're a moron? |
17:31.48 | hyperChipmunk | that's what it usually is, for me |
17:32.12 | hyperChipmunk | i'll be all like, hey, wow, this doesn't seem right |
17:32.20 | hyperChipmunk | and then I'll remember, "oh, yea. I'm a moron" |
17:32.35 | kergoth | yes, it was a forehead slapping moment |
17:33.22 | ckknight | kergoth, what is it? |
17:37.56 | kergoth | wait, damnit, that explains some of the performance, but not all of it :) |
17:38.06 | hyperChipmunk | moonwolf around? |
17:38.16 | kergoth | ckknight: my test case for single inheritence was benefiting from c3's __index memoizing the values |
17:38.26 | kergoth | so the first lookup was slow, but the new 999999 were smoking fast |
17:38.29 | kergoth | hehe |
17:38.33 | kergoth | s/new/next/ |
17:39.07 | Wobin_ | <PROTECTED> |
17:39.10 | kergoth | its because i called it as class({b}) instead of class(b) (the latter "optimized" to a table __index, which removed the memoize) |
17:39.30 | hyperChipmunk | oh em geez what a dunce |
17:39.50 | kergoth | Wobin_: ace's classes do this |
17:40.15 | kergoth | in the a -> b -> c -> d case |
17:40.21 | kergoth | if d defines what we want |
17:40.38 | kergoth | it checks them in that order, getting each metatable and checking the table in __index |
17:40.52 | kergoth | when you memoize, as soon as it finds the method in d, it caches that in c, then in b, then in a |
17:40.59 | kergoth | so that subsequent lookups find d's method locally in a |
17:41.09 | kergoth | just the first lookup you pay function overhead |
17:41.40 | kergoth | 0.35us instead of 0.25us, roughly |
17:41.43 | kergoth | for the first lookup |
17:45.53 | hyperChipmunk | boss, did you change the unable to load plugin to be a completely silent fail? |
17:47.57 | ckknight | no, it fucks up the whole thing |
17:47.59 | ckknight | need to fix that |
17:48.44 | hyperChipmunk | no, I mean, I've obviously got an error in my plugin, but fubar doesn't even load at all when my plugin is enabled |
17:48.56 | hyperChipmunk | no errors in fubar, no plugin errors, nuthin |
17:49.05 | ckknight | odd |
17:49.07 | hyperChipmunk | making it rather difficult to debug, as you might imagine =) |
17:49.16 | ckknight | yes... |
17:49.28 | ckknight | set it to not load on demand temporarily |
17:49.34 | hyperChipmunk | k |
17:49.39 | hyperChipmunk | my plugin? |
17:50.21 | [MoonWolf] | hyperChipmunk, im here now,. |
17:50.28 | hyperChipmunk | ey dude |
17:50.41 | ckknight | yea |
17:50.44 | hyperChipmunk | XRaid is yours, right? |
17:50.47 | hyperChipmunk | ckknight: no dif |
17:50.49 | [MoonWolf] | I was watching battlestar. |
17:50.52 | hyperChipmunk | =D |
17:51.12 | hyperChipmunk | ckknight: or do I have to restart wow completely after a toc change like that |
17:51.13 | [MoonWolf] | nope, xraid is not mine. |
17:51.22 | otravi | Moonsorrow != MoonWolf |
17:51.27 | hyperChipmunk | you hosers |
17:51.40 | hyperChipmunk | change your names |
17:51.58 | [MoonWolf] | I have had this one for 3 years now. |
17:51.59 | [MoonWolf] | i like it. |
17:52.00 | hyperChipmunk | does moonsorrow lurk in here? |
17:52.23 | [MoonWolf] | <PROTECTED> |
17:52.28 | hyperChipmunk | =( |
17:52.55 | ckknight | hyperChipmunk restart for toc change |
17:53.02 | *** join/#wowace Tem_ (n=Tem@ip70-177-40-169.br.br.cox.net) |
17:53.02 | *** mode/#wowace [+o Tem_] by ChanServ |
17:53.09 | [MoonWolf] | morning tem |
17:53.19 | hyperChipmunk | k, restarting X =P brb |
17:54.22 | hyperChipmunk | well, if I wanted to contribute a bar texture for XRaid, how might I go about doing that? |
17:54.51 | otravi | Post in the topic :D |
17:55.13 | hyperChipmunk | kay |
17:58.52 | hyperChipmunk | ckknight: well, fubar loads, but still no error messages =\ |
17:59.01 | hyperChipmunk | guess I debug by eye =P |
17:59.52 | kergoth | ckknight: there were two things going on |
18:00.03 | ckknight | ok |
18:00.05 | kergoth | ckknight: first, the single inheritence case optimization wasnt working correctly |
18:00.23 | kergoth | second, memozing makes the numbers misleading, because i have to do the lookup 1000000 times to get a measurable result |
18:00.35 | ckknight | hrm |
18:00.58 | kergoth | so that initial larger lookup time is made unnoticable due to the lack of accuracy at that level |
18:01.19 | Wobin_ | hrn |
18:01.27 | Wobin_ | I wonder if facboy has access to the SVN |
18:01.31 | hyperChipmunk | bah, messageboards don't allow .tga posts |
18:01.38 | hyperChipmunk | er, attachments |
18:02.51 | [MoonWolf] | zip it. |
18:02.56 | hyperChipmunk | yea |
18:03.07 | hyperChipmunk | but now I gotta make a separate png for the preview =) |
18:03.29 | [MoonWolf] | browers dont view tga anyway. |
18:04.06 | hyperChipmunk | good point |
18:04.16 | hyperChipmunk | i still have to zip it! |
18:04.23 | ckknight | what other localized strings would be handy? |
18:04.34 | hyperChipmunk | wow should support png =\ |
18:04.48 | ckknight | I have classes "Warlock" <-> "WARLOCK" and zones "The Barrens" <-> "BARRENS" now |
18:05.32 | hyperChipmunk | ooh |
18:05.48 | hyperChipmunk | that works through localization, too? |
18:06.13 | ckknight | "Hexenmeister" <-> "WARLOCK" |
18:06.28 | Wobin_ | =) |
18:06.28 | hyperChipmunk | oh, that's one way to do it =) |
18:06.32 | ckknight | "Das Brachland" <-> "BARRENS" |
18:06.41 | hyperChipmunk | I was concerned about multi-case languages |
18:06.51 | hyperChipmunk | but if you normalize to english, that solves that =P |
18:06.58 | ckknight | yea |
18:08.00 | ckknight | can someone point me to a page that describes AceUtils? |
18:08.11 | ckknight | hyperChipmunk, what other localizations would be handy? |
18:08.20 | ckknight | I'm thinking Spells maybe |
18:08.55 | ckknight | jrjr |
18:08.58 | ckknight | hehe* |
18:09.19 | hyperChipmunk | spells would be a beastly task |
18:09.28 | hyperChipmunk | your translators might revolt |
18:10.06 | hyperChipmunk | unless you could access them directly from the database |
18:10.16 | hyperChipmunk | and had the right databases |
18:10.40 | ckknight | i can get the info from blizzard |
18:10.55 | ckknight | least I hope so |
18:11.10 | Wobin_ | for spell translations? |
18:11.14 | Wobin_ | There is one way |
18:11.18 | Wobin_ | but it's time consuming |
18:11.29 | Wobin_ | head to www.wowguru.com |
18:11.30 | hyperChipmunk | you could trawl thottbot =) |
18:11.41 | Wobin_ | as much as I dislike zeeg, his site does have all the translations |
18:13.27 | ckknight | I'm sure I can crawl this somehow |
18:15.12 | hyperChipmunk | ha, I figured otu my problem |
18:15.24 | ckknight | what was it? |
18:15.38 | hyperChipmunk | there was another error blocking it from appearing for some reason |
18:15.50 | hyperChipmunk | I disabled the addon that had that error and it shone through =P |
18:16.10 | hyperChipmunk | aha, forgot a () |
18:16.29 | ckknight | lol |
18:16.39 | hyperChipmunk | twice =P |
18:17.00 | hyperChipmunk | vim autocomplete doesn't include them, for obvious reasons |
18:17.46 | otravi | autocomplete + me = errors most of the times :< |
18:18.02 | hyperChipmunk | hehe, i just hit Ctrl-P and go |
18:18.54 | hyperChipmunk | the best command in all of wow |
18:18.57 | hyperChipmunk | <PROTECTED> |
18:19.22 | otravi | / /batfu |
18:19.35 | otravi | if you want to write /s without a space in irssi :p |
18:19.57 | hyperChipmunk | how do you do that? |
18:20.03 | hyperChipmunk | oh |
18:20.07 | hyperChipmunk | /test |
18:20.09 | hyperChipmunk | gotch |
18:20.15 | hyperChipmunk | but that's two characters instead of 1 |
18:20.24 | otravi | Yes, but it looks better :p |
18:20.31 | hyperChipmunk | fine |
18:20.35 | hyperChipmunk | anyway, as I was saying! |
18:21.05 | hyperChipmunk | I can just imagine a military commander in the heat of battle yelling, "Batfu, report!" |
18:21.14 | ckknight | no you can't |
18:21.26 | hyperChipmunk | and it cracks me up everytime |
18:21.35 | hyperChipmunk | yes I can |
18:21.49 | otravi | prove it! |
18:22.02 | ckknight | yea, you don't have the willpower |
18:22.19 | hyperChipmunk | I use "report" as my request for the state of the battlefield in AB all the time |
18:22.57 | hyperChipmunk | it's not much of a stretch to add an imaginary "Batfu" character, to whom I'm addressing the command |
18:23.35 | ckknight | if I do local func |
18:23.40 | ckknight | then function func() end |
18:23.44 | ckknight | it'll be local, right? |
18:24.10 | Wobin_ | not local function func() end ? |
18:24.26 | ckknight | no |
18:24.34 | ckknight | has to be a different place |
18:24.35 | Wobin_ | I'm not sure tbh |
18:24.48 | ckknight | gonna check with the old lua interpreter |
18:26.01 | ckknight | yea, it works |
18:26.08 | Wobin_ | Yeah |
18:26.19 | Wobin_ | I think cause they're first class functions that it'll work that way |
18:26.36 | Wobin_ | er values |
18:30.52 | [MoonWolf] | Okay i have stripped all of the functions out of mendeleev now and converted the nameing to ExoticMaterial. |
18:31.02 | [MoonWolf] | Time to svn this baby up. |
18:31.24 | hyperChipmunk | does it show vendor prices? |
18:31.28 | Wobin_ | er |
18:31.29 | Wobin_ | aha |
18:31.30 | Wobin_ | The statement |
18:31.30 | Wobin_ | <PROTECTED> |
18:31.30 | Wobin_ | translates to |
18:31.30 | Wobin_ | <PROTECTED> |
18:31.41 | Wobin_ | So since it's defined local, it stays that way =) |
18:31.42 | [MoonWolf] | both work |
18:31.51 | Wobin_ | Yeah, syntactic sugar =) |
18:32.44 | [MoonWolf] | I prefer Function Object:function() notation. |
18:33.00 | Wobin_ | yeah, same |
18:33.15 | Wobin_ | and in actual regards to ckknight's question: |
18:33.15 | Wobin_ | The statement |
18:33.15 | Wobin_ | <PROTECTED> |
18:33.15 | Wobin_ | translates to |
18:33.15 | Wobin_ | <PROTECTED> |
18:33.24 | ckknight | ah, okay |
18:33.27 | ckknight | figured |
18:33.38 | ckknight | wow, I'm totally just stealing Iriel's shared library code |
18:33.39 | ckknight | it's really nice |
18:33.41 | [MoonWolf] | actually lua is the language with the most variations to create a functions ever. |
18:33.43 | Wobin_ | I know! |
18:33.46 | ckknight | http://www.iriel.org/wow/addondev/embedlibrary4.html |
18:33.46 | Wobin_ | Isn't it? =) |
18:33.50 | ckknight | yea |
18:33.59 | ckknight | I'll have to give him mad props |
18:34.11 | [MoonWolf] | why did the blizzard downloader start on me..... |
18:34.34 | hyperChipmunk | to hax0r ur b0x0r |
18:34.45 | ckknight | it's boxen, dumbass |
18:34.51 | hyperChipmunk | boxen is plural |
18:34.54 | ckknight | ah |
18:34.58 | ckknight | maybe he has two |
18:35.15 | hyperChipmunk | maybe, but he didn't indicate more than one |
18:35.23 | hyperChipmunk | just one blizzard downloader |
18:35.24 | otravi | [MoonWolf]: new DL thing that blizz inlcuded |
18:35.48 | hyperChipmunk | he didn't say, "holy crap, why are all these blizzard downloaders start on all my boxen!?" |
18:36.11 | [MoonWolf] | ah, its gone again |
18:36.19 | [MoonWolf] | i know what it is... but it caught me by suprise. |
18:36.35 | [MoonWolf] | i was half expecting it to start downloading 1.10.1 |
18:37.10 | otravi | The stop it from starting function doesn't work tho' |
18:37.16 | [MoonWolf] | i hope scam gets cia in here soon. |
18:37.21 | Wobin_ | PS keyrings in 1.11 yay |
18:37.28 | hyperChipmunk | >8O |
18:37.30 | [MoonWolf] | link |
18:37.34 | ckknight | PS keyrings? |
18:37.43 | Wobin_ | in WoW |
18:37.43 | hyperChipmunk | PS: keyrings |
18:37.46 | [MoonWolf] | Piece of Shit keyrings..... |
18:37.47 | Wobin_ | to store your keys =P |
18:37.47 | hyperChipmunk | one item slot |
18:37.49 | hyperChipmunk | all your keys |
18:37.54 | otravi | AAAAAH |
18:37.58 | hyperChipmunk | or 0 item slots, depending on implementation |
18:38.08 | [MoonWolf] | i assume 1 item slot |
18:38.12 | hyperChipmunk | eq was 0 |
18:38.16 | otravi | Then I don't have to cary around my bag of keys! |
18:38.17 | hyperChipmunk | it was part of your character data |
18:38.23 | Wobin_ | http://forums.worldofwarcraft.com/thread.aspx?fn=wow-general&t=7787923&p=1&tmp=1#post7787923 |
18:38.23 | otravi | EQ is very strange |
18:38.24 | hyperChipmunk | /keys |
18:38.32 | hyperChipmunk | and it showed all your keys |
18:38.56 | hyperChipmunk | ah |
18:39.01 | hyperChipmunk | it's a little sub-item |
18:39.10 | [MoonWolf] | i like the idea |
18:39.28 | hyperChipmunk | er, sub-container item |
18:39.56 | hyperChipmunk | so you still have to carry it around |
18:40.03 | Wobin_ | That's fine |
18:40.10 | Elviso | ckknight: I'm looking at the tga's for FuBar.....it's only the background.tga that's used for the background, right? |
18:40.15 | hyperChipmunk | so the only real difference is it elminates a bank swap |
18:40.21 | Elviso | I can't make the others out well enough to tell |
18:40.34 | Wobin_ | saves room in your bank as well |
18:40.38 | hyperChipmunk | yea |
18:40.47 | hyperChipmunk | k, point taken |
18:41.04 | hyperChipmunk | it's worth it for that alone |
18:41.20 | kergoth | heh |
18:41.21 | hyperChipmunk | cuz bag space is so precious in wow |
18:41.37 | kergoth | i think i'm gonna add support for clock_gettime and some other posix realtime extensions to the lua posix lib |
18:41.44 | kergoth | will really make profiling easier |
18:42.15 | [MoonWolf] | seggin root, 250 dkp |
18:42.21 | hyperChipmunk | bam |
18:43.28 | [MoonWolf] | can someone link me to the fake item creator ? |
18:43.39 | [MoonWolf] | i need to create a small example for you to look at. |
18:43.44 | Wobin_ | That's kremonte's isn't it? |
18:43.54 | hyperChipmunk | doesn't it cause you to get logged off now? |
18:45.43 | hyperChipmunk | http://www.curse-gaming.com/mod.php?addid=3307 |
18:45.57 | hyperChipmunk | oh, item creator |
18:47.12 | [MoonWolf] | http://wow.blupp.net/index.php <- its not really all that good and stuff but it shows my general idea |
18:47.15 | [MoonWolf] | oops |
18:47.22 | [MoonWolf] | http://wow.blupp.net/item.php?id=213308 |
18:47.24 | [MoonWolf] | that item. |
18:47.50 | [MoonWolf] | what do you think of that look ? |
18:48.07 | [MoonWolf] | (actual dkp value would be on the far right, and it would be coloured) |
18:49.03 | [MoonWolf] | anybody home ? |
18:49.25 | Wobin_ | I can't load it =( |
18:49.33 | [MoonWolf] | why not ? |
18:49.41 | Wobin_ | TGFWoC I expect |
18:50.05 | [MoonWolf] | :( |
18:50.16 | hyperChipmunk | =P |
18:50.27 | hyperChipmunk | looks fine |
18:50.27 | Wobin_ | help help I'm being opressed =P |
18:50.31 | [MoonWolf] | leave comments on a highlite of my name. |
18:50.35 | [MoonWolf] | Wobin_, hehe |
18:50.38 | hyperChipmunk | hehehe |
18:50.54 | hyperChipmunk | dkp is evil and capitalist |
18:54.32 | ckknight | what's wrong with Capitalism? |
18:54.57 | hyperChipmunk | he cant' load the page because he's in China |
18:55.07 | *** join/#wowace darth_mall (n=evan@zero.navi.cx) |
18:55.19 | hyperChipmunk | so I guess you ought to ask the Chinese Government |
18:55.50 | hyperChipmunk | TGFWoC = The Great FireWall of China |
18:56.00 | hyperChipmunk | I presume |
18:56.25 | otravi | haha |
18:57.53 | ckknight | Wobin_, you're in China? |
18:58.05 | Wobin_ | Yep =) |
18:58.11 | Wobin_ | Currently in Beijing |
18:58.19 | ckknight | ooh |
18:58.20 | ckknight | fun |
18:58.31 | hyperChipmunk | yea, fun was the OTHER word I was thinking of |
18:58.34 | Wobin_ | hehe |
18:58.53 | Wobin_ | You have to forgive hyperChipmunk. He doesn't always think of more than one word at a time =P |
18:59.13 | otravi | 1+1 equals ? |
18:59.23 | hyperChipmunk | ? = 2 |
18:59.25 | Wobin_ | ~1+1 |
18:59.27 | purl | methinks 1+1 is 3 for large values of 1 |
18:59.27 | otravi | :o |
18:59.34 | otravi | haha |
18:59.43 | otravi | ~good |
18:59.44 | purl | somebody said good was an adjective |
18:59.44 | ckknight | ~2+2 |
18:59.46 | purl | 4 |
18:59.55 | hyperChipmunk | ~cos PI/2 |
18:59.56 | ckknight | ~2^5 |
18:59.59 | purl | 7 |
19:00.05 | ckknight | it's 32, dumbass |
19:00.05 | otravi | ~test |
19:00.07 | purl | Test Passed! |
19:00.10 | otravi | yay |
19:00.11 | ckknight | ~2**5 |
19:00.13 | purl | 32 |
19:00.16 | ckknight | alright |
19:00.23 | ckknight | ~2**64 |
19:00.24 | purl | 18446744073709551616 |
19:00.28 | ckknight | ~2**128 |
19:00.30 | purl | a number with quite a few digits... |
19:00.33 | Wobin_ | hehe |
19:00.34 | otravi | :p |
19:00.36 | ckknight | dick. |
19:00.45 | ckknight | ~2**65 |
19:00.47 | purl | 36893488147419103232 |
19:00.51 | ckknight | hrm |
19:00.54 | ckknight | ~2**100 |
19:00.56 | purl | a number with quite a few digits... |
19:00.57 | Elviso | ckknight: I'm looking at the tga's for FuBar.....it's only the background.tga that's used for the background, right? |
19:01.00 | ckknight | ah, screw it |
19:01.06 | hyperChipmunk | ~cos(PI/4) |
19:01.09 | ckknight | right, Elviso |
19:01.14 | Wobin_ | ~2**65 + 2**65 |
19:01.16 | purl | 73786976294838206464 |
19:01.26 | otravi | ~1+PI |
19:01.31 | hyperChipmunk | ~pi |
19:01.33 | purl | [pi] 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930381964428810975665933446128475648233786783165271201909145648566923460348610454326648213393607260249141273724587006606315588174881520920962829254091 |
19:01.33 | Wobin_ | ~PI |
19:01.35 | purl | well, pi is 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930381964428810975665933446128475648233786783165271201909145648566923460348610454326648213393607260249141273724587006606315588174881520920962829254091 |
19:01.36 | hyperChipmunk | lol |
19:01.36 | otravi | :< |
19:01.41 | ckknight | ~1+pi |
19:01.43 | purl | 4.14159265 |
19:01.50 | ckknight | ~cos(pi) |
19:02.08 | Wobin_ | ~cosine |
19:02.14 | Wobin_ | ~cos |
19:02.15 | purl | Ask me about scientology |
19:02.18 | hyperChipmunk | lol |
19:02.19 | Wobin_ | hehe |
19:02.19 | hyperChipmunk | rofl |
19:02.20 | Tain | ~cosplay |
19:02.23 | Wobin_ | ~scientology |
19:02.24 | purl | i heard scientology is a mental disorder :) |
19:02.29 | otravi | :o |
19:02.29 | Wobin_ | So true =P |
19:02.31 | hyperChipmunk | lol |
19:02.39 | Wobin_ | ~sin |
19:02.49 | kergoth | ~answer |
19:02.51 | purl | 42 |
19:02.55 | Wobin_ | Naturally |
19:02.56 | kergoth | ~botsnack |
19:02.56 | purl | aw, gee, kergoth |
19:02.56 | hyperChipmunk | good purl |
19:03.00 | Wobin_ | ~question |
19:03.01 | purl | What do you get if you multiply six by nine? |
19:03.01 | otravi | ~spam |
19:03.03 | purl | ACTION sings, Spam, Spam, Spam, Spam, Spam, Wonderfull spam! |
19:03.07 | kergoth | hehe |
19:05.07 | Wobin_ | I wonder how easy a dynamic bag system like EngInv would be to redo with the new dynamic frame stuff |
19:05.35 | hyperChipmunk | i was gonna take a crack at it after fubar release |
19:05.51 | hyperChipmunk | but i'm rather nub |
19:06.25 | *** join/#wowace Tem___ (n=Tem@ip70-177-40-169.br.br.cox.net) |
19:06.29 | kergoth | best way to learn. pick up a real project |
19:06.30 | hyperChipmunk | but that addOn MUST be maintained |
19:06.43 | hyperChipmunk | for the good of all mankind |
19:06.58 | hyperChipmunk | so I figured I'd better do it, since nobody else seemed to be |
19:07.08 | Elviso | ~meaningoflife |
19:07.09 | Wobin_ | which addon? |
19:07.14 | otravi | EngInv |
19:07.15 | hyperChipmunk | EngInventory |
19:07.19 | Wobin_ | ah yeah =) |
19:09.43 | kergoth | hyperChipmunk: make a dead simple core that uses PT to manage sets, then we can drop on an enginventoory style ui for it, or an invsort style ui |
19:10.34 | hyperChipmunk | "I know kung fu" |
19:11.09 | ckknight | alright |
19:11.21 | ckknight | local lib = KnightLib:GetInstance("0.1") |
19:11.32 | Wobin_ | yeah, it's always the damn ui that throws me =P |
19:11.51 | Wobin_ | I've got a sorting thing going with PT atm with MrPlow... |
19:16.33 | Wobin_ | I'm definitely heading to sleep |
19:16.37 | Wobin_ | night all =) |
19:16.47 | hyperChipmunk | nighto wobo |
19:17.01 | kergoth | ckknight: knightlib? |
19:20.58 | ckknight | yea |
19:21.14 | ckknight | basically I wanted to separate FuBarUtils out of FuBar |
19:24.44 | kergoth | ah |
19:25.38 | ckknight | there is one part of Iriel's code that could be optimized |
19:27.00 | ckknight | if you check at the very top of your code if the library is obseleted, you can make it return and thus not have to deal with initializing the tables and whatnot |
19:27.34 | ckknight | instead of creating the tables/functions and then Gc'ing them, just don't create em at all |
19:27.47 | Elviso | ckknight, you got a sec? |
19:27.53 | ckknight | yea |
19:28.02 | Elviso | for the background on FuB.... |
19:28.14 | Elviso | would it be possible to create several different layers for it? |
19:28.22 | hyperChipmunk | heh |
19:28.25 | Elviso | or is it already? |
19:29.08 | ckknight | it doesn't create layers, it does a ;SetBackdrop() on a frame |
19:29.15 | Elviso | i see |
19:29.25 | ckknight | yea |
19:29.26 | Elviso | there's so many possibilities I'm seeing here |
19:29.29 | ckknight | keeps it simple |
19:29.34 | ckknight | lemme hear em |
19:29.43 | Elviso | well I'm talking about in photoshop |
19:29.54 | ckknight | if I feel inclined enough, I could support your crazy themes |
19:30.10 | Elviso | to simply limit it to just pre-made bkgd textures would severely limit the user's customizability |
19:30.18 | Elviso | (h/e you spell custom...) |
19:30.31 | ckknight | h/e? |
19:30.31 | Elviso | ok, I'm working on getting a working sample done |
19:30.35 | hyperChipmunk | being able to color your segment of the bar, or have a custom backdrop skin on that part of the bar |
19:30.44 | hyperChipmunk | would be neat |
19:30.52 | ckknight | per plugin? |
19:30.53 | Elviso | I was thinking 3 different objects/frames |
19:31.05 | hyperChipmunk | well, jsut putting little windows for your values or something |
19:31.07 | Elviso | or 4 |
19:31.24 | ckknight | remember KISS |
19:31.26 | hyperChipmunk | that way the plugin author can designate his backdrop if there's colorization issues |
19:31.30 | Elviso | 1) bkgd color, 2) delimiter color 3) bkgd style (the pattern) |
19:31.33 | hyperChipmunk | contrast etc |
19:32.04 | ckknight | delimiter color? |
19:32.07 | hyperChipmunk | I wouldn't use it, way too much, but you have to appease the artists =) |
19:32.11 | Elviso | you know the gold bar in titan? |
19:32.17 | ckknight | oh |
19:32.26 | Elviso | some ppl might want red...or blue....or none |
19:32.36 | ckknight | okay, you don't need bgcolor if you have a bg texture |
19:32.48 | ckknight | and the delimiter color is just the border |
19:32.56 | ckknight | you can edit that really easily |
19:33.16 | Elviso | well, the texture is seperate from the bkgd color...or could be |
19:33.23 | ckknight | why? |
19:33.34 | Elviso | say, texture 1 is "x x x x" and texture 2 is "o o o o" |
19:33.47 | ckknight | why do you need multiple textures? |
19:34.03 | hyperChipmunk | layerFX duh! |
19:34.07 | Elviso | the texture, in the aspect I'm talking about, is just the graphic on the background |
19:34.12 | Elviso | not the whole background itself |
19:34.19 | ckknight | what's the difference? |
19:34.41 | Elviso | well |
19:34.57 | Elviso | the "background" is just a color |
19:35.04 | ckknight | why not a texture? |
19:35.10 | Elviso | it has no intrinsic graphic abilities |
19:35.29 | Elviso | I was speaking for my "crazy themes idea" |
19:35.30 | ckknight | You're searching for a solution to a problem that doesn't exist, I think |
19:36.13 | Elviso | do you understand what I'm explaining though, the difference between a background color and bkgd texture? |
19:36.33 | ckknight | I understand that there could be a difference, but I honestly don't see a point |
19:36.34 | hyperChipmunk | yes, but a bckgd texture can be a color |
19:36.58 | Elviso | hyperChipmunk: that too |
19:37.13 | hyperChipmunk | so why support both, I think is what he's asking |
19:37.41 | hyperChipmunk | though, I admit, I'm confused what the issue is in the first place, too |
19:37.56 | Elviso | lets say I have 2 textures, one has "xxxx" the other "oooo" |
19:38.35 | kergoth | theres no point. use gimp and change the background color in the texture image |
19:38.38 | Elviso | in the current method, a new bkgd.tga would need to be made for each bkgdcolor:texture iteration |
19:39.04 | kergoth | and? |
19:39.05 | ckknight | yea |
19:39.10 | ckknight | I don't see an issue with that |
19:39.15 | ckknight | KISS |
19:39.16 | Elviso | ok |
19:39.31 | Elviso | I'm anal about making things look nice though :) |
19:39.37 | Elviso | and giving users choices |
19:39.38 | ckknight | so make a nice texture |
19:40.44 | Elviso | sometimes I love the internet for communicating....sometimes I hate it, hehe |
19:41.00 | ckknight | I understand what you're saying, fully |
19:41.12 | ckknight | it's just that it's a solution to a problem that doesn't exist |
19:41.14 | kergoth | i dont see why the user needs to be able to change it _in game_. they can change it just fine now, just not from within the game |
19:41.27 | hyperChipmunk | boss, you need to implement SVG rendering in your panel |
19:41.31 | ckknight | ... |
19:41.43 | Elviso | kergoth: a user with photoshop and the know-how could |
19:41.46 | hyperChipmunk | get to work |
19:41.53 | ckknight | though that would be pimp, the API doesn't really suit it |
19:41.58 | kergoth | Elviso: yes, and that user can share that with others. |
19:42.09 | kergoth | you can still theme, just not on the fly from within the game |
19:42.20 | ckknight | well, you can in game |
19:42.23 | ckknight | if someone made a plugin for it |
19:42.29 | ckknight | but they have to have the images in place |
19:42.35 | Elviso | maybe that's the solution, a plugin :) |
19:42.51 | ckknight | in like Interface\AddOns\FuBar_PimpTheme\ |
19:43.04 | Elviso | KISS for FuB, a AnalColorizerFu for me :) |
19:43.20 | ckknight | then you could right click to choose the texture you want |
19:43.22 | ckknight | or whatever |
19:44.11 | ckknight | kergoth, is there an easy way to share locals between different files in one package? |
19:44.36 | kergoth | okay, so multiple inheritence doing a memoize changes the first lookup from 0.19uS to roughly 1.8-2.5, depending on the depth of the inheritence chain |
19:44.42 | kergoth | first lookup overhead only |
19:44.53 | kergoth | is that reasonable, or should we do the memoizing in the class constructor? |
19:44.53 | ckknight | okay |
19:44.59 | ckknight | hrm |
19:45.18 | ckknight | I'd want it on demand, personally |
19:45.23 | ckknight | that's just how I work, though |
19:45.27 | kergoth | ckknight: fraid not. what i usually do is define my addon object in init.lua, register it in fini.lua, and then all the ones in between can stuff whatever they like into the object, rather than using a local |
19:45.36 | kergoth | thats what i'm leaning towards as well |
19:47.18 | kergoth | ckknight: the issue with on demand is that you have less granular control as a user over where that overhead occurs. that first lookup could happen in a critical path, whereas they'll already be avoiding creation of things in critical paths |
19:47.26 | kergoth | course this is wow, who's gonna notice 1.5 microseconds :P |
19:47.54 | ckknight | yea |
19:53.22 | otravi | anyone working on the MC timers for BigWigs+ |
19:55.09 | Shyva | yes, I am |
19:55.38 | otravi | Hokai, Then I'll skip the thought of starting :p |
19:55.45 | Shyva | ^^ |
19:56.02 | Shyva | anyone knows what Domo says when he gives up? |
19:56.12 | otravi | I can check soon |
19:56.13 | Elviso | I submit, I submit! |
19:56.24 | Elviso | Idk if he says anything before that though |
19:56.34 | otravi | Currently on Geddon tho' |
19:57.08 | Shyva | ok :-D |
20:02.05 | Shyva | Hmmm, how can I rotate texutes in wow? :-| any simple function for it? o.0 |
20:08.25 | *** join/#wowace Jarenthal (n=Roo@cpe-066-057-087-213.nc.res.rr.com) |
20:08.49 | [Ammo] | evening |
20:09.08 | [Ammo] | anyone got Lua only gametooltips working yet? ones that you can actually scan ? |
20:16.57 | kergoth | [Ammo]: maybe check with tem, he's been doing acegui stuff |
20:19.00 | [Ammo] | well I tried getting it to work |
20:19.11 | [Ammo] | but I can't set the inheritance to the blizz gametooltiptemplate |
20:19.29 | [Ammo] | so when I do: mytooltip:SetAction(id) I can't scan the textleft1 etc |
20:19.29 | ckknight | so recreate the template |
20:19.35 | ckknight | simple enough |
20:19.46 | ckknight | not that hard |
20:19.50 | [Ammo] | are the templates documented somewhere? |
20:19.57 | ckknight | yea |
20:20.03 | ckknight | get the Blizzard Interface Data |
20:20.08 | ckknight | FrameXML\GameTooltipTemplate.xml |
20:22.29 | ckknight | when I was still working with tooltips I saw it and added lines 31-40 to my own tooltip |
20:22.30 | ckknight | worked fine |
20:23.51 | [Ammo] | I'll give it a go |
20:24.09 | [Ammo] | right now I have the tooltip in an xml file and it's ugly |
20:24.28 | ckknight | no doubt |
20:24.43 | [Ammo] | it's the only thing in there and I want to get rid of it |
20:24.59 | ckknight | kergoth, does Lua do anything funny if I do alpha = { bravo = 1, bravo = 1 }? |
20:25.19 | [MoonWolf] | why would that do something funny ? |
20:26.44 | [MoonWolf] | kergoth ? |
20:29.49 | kergoth | ckknight: nope, thatll work fine, assuming you wanted bravo to be a string key, and not a reference to some bravo object |
20:30.09 | kergoth | if you wanted the key to be whatever the bravo var points at, you'd want alpha = {[bravo] = 1} |
20:30.17 | ckknight | right, kergoth`bbl |
20:30.21 | ckknight | it's a string |
20:30.32 | ckknight | why is there a kergoth and a kergoth`bbl? |
20:30.40 | kergoth | bbl is my instance of irssi at home |
20:30.40 | [MoonWolf] | two pcs ? |
20:34.07 | ckknight | would it be useful to have a function that did func("Power Word: Fortitude") == "Interface\\Icons\\Spell_Holy_WordFortitude" ? |
20:34.20 | ckknight | fully localized, of course |
20:37.21 | hyperChipmunk | why don't you screen your irssi and ssh instead? |
20:42.02 | kergoth | hyperChipmunk: because my machine at home is behind the proxy/nat box at the hotel i'm at. kinda hard to ssh into that |
20:42.08 | kergoth | now that i have this one running, i'll kill the one at home |
20:45.18 | hyperChipmunk | ah |
20:46.11 | otravi | wth -31 secs on a timexbar :o |
20:57.44 | [Ammo] | thanks for the tip ckknight that fixed my lua only stuff :) |
20:58.00 | Tain | haha I'm such a whore, got another new date tonight. |
20:59.56 | hyperChipmunk | that's, uh, nice |
21:00.47 | kergoth | Tain: http://www.boingboing.net/2006/04/05/mcsweeneys_nihilist_.html |
21:00.57 | kergoth | McSweeney's: Nihilist job resume |
21:00.59 | kergoth | hehe |
21:01.01 | kergoth | its amusing |
21:02.29 | hyperChipmunk | http://mcsweeneys.net/2006/4/3fezzell.html real link |
21:02.38 | kergoth | indeed |
21:03.25 | hyperChipmunk | Sales Clerk, Hot Topic (January 2001 to June 2003) |
21:03.25 | hyperChipmunk | Employee of the month 29 consecutive times. |
21:04.18 | hyperChipmunk | I'll admit I play tennis, although I don't keep score and insist that when my deluded partner does he use the terms "zero" or "nothingness" instead of "love," a superfluous notion. |
21:26.20 | otravi | damn,I was just going to give Shyva the message :( |
21:29.22 | otravi | -21 | Windfury Totem |
21:29.22 | otravi | :< |
21:30.20 | *** join/#wowace Andreas__ (i=Default@0x50c4844b.adsl-fixed.tele.dk) |
21:30.54 | *** join/#wowace Slayman (i=Slayman@c193022.adsl.hansenet.de) |
21:31.05 | *** mode/#wowace [+o Tem] by ChanServ |
21:31.27 | Tem | well... that was the most useless day... |
21:32.07 | otravi | :--O |
21:34.36 | *** join/#wowace Tekcub (n=Tekk@ip70-178-135-244.ks.ks.cox.net) |
21:35.11 | otravi | Todays best question: How do I install a foldeR? |
21:35.52 | Tem | WOOOOT!\ |
21:35.58 | Tem | this day just went from bad to awesome |
21:36.11 | otravi | Oh? How? |
21:36.18 | Tem | the job I've been interviewing for... |
21:36.29 | Tem | The boss wants me to come in first thing tomorrow morning |
21:36.44 | Tem | I kinda got the impression that I was out last time I spoke with her |
21:37.12 | Tem | but now I'm clearly not :) |
21:38.23 | otravi | :D |
21:38.24 | Tain | hah Tem I was the same with this job I just started. Thought the manager pretty much dismissed me entirely during the interview. |
21:38.33 | Elviso | well ckknight, I've got a nice proto, but.....my PS is being lame and not letting me save it properly |
21:38.35 | Tem | aye, same here |
21:38.36 | Tain | Then called and wanted me to start a week later. |
21:38.42 | Tem | I don't have the job yet |
21:38.51 | Tem | but I've got a really good feeling |
21:38.52 | Tain | Still a good sign though. |
21:42.37 | kergoth | otravi: heh, i sure get tired of people who dont know how to play a shaman well. the other day i was in a group with one warrior, a rogue, and a hunter, and he dropped windfury instead of grace of air :'( |
21:42.48 | Tem | .l;dsfkja;lsdkfj! |
21:42.55 | Tem | my neighber annoys the hell out of me |
21:43.03 | Tem | He has like 3 rap songs |
21:43.11 | otravi | kergoth: depending on the skill of the warrior: I would too |
21:43.11 | Tem | and he plays them over and fucking over |
21:43.37 | kergoth | otravi: if the warrior isnt able to keep aggro without it, i dont have much confidence in the run :P |
21:43.58 | otravi | hehe, I'm used to hunters only over DPS-ing :p |
21:44.35 | otravi | but I don't like the fact that my AceTimer showed -21 seconds on the bar |
21:44.42 | otravi | and -5 on another |
21:44.52 | kergoth | course that same shaman was the one that dropped flametongue and windfury simultaniously. twice. |
21:44.59 | kergoth | so that probably wasnt the best of examples |
21:45.02 | kergoth | but still |
21:45.04 | kergoth | :) |
21:45.11 | otravi | hehe |
21:45.37 | kergoth | tend to get these people obviously playing on their friends characters |
21:45.41 | kergoth | this is why i hate pugs :\ |
21:46.11 | otravi | Yeah, I know what you mean |
21:46.44 | otravi | I also noticed while playing on my warlock that people expect you to summon them to the instance, even though you are on the other side of the world |
21:47.40 | otravi | hyperChipmunk: That statusbar background made the number very hard to read :p |
21:47.47 | kergoth | hmm.. |
21:47.53 | Tain | "OCALA, Fla. (AP) . A Marion County Jail corrections officer was fired after an internal affairs investigation determined he struck his wife in an argument over his buying Dungeons and Dragons fantasy toys." |
21:48.20 | kergoth | this object model i'm looking at, its :new() passes the supplied arguments to an initialize() function if it was defined, so you can actually do initialization at object creation time cleanly |
21:48.35 | kergoth | but it relies on being able to pass ... directly into initialize()... in 5.0 we're stuck with unpack :( |
21:49.43 | hyperChipmunk | otravi: I don't use numbers |
21:49.59 | hyperChipmunk | you get used to eyeballing it from the segments |
21:50.01 | hyperChipmunk | each is 10% |
21:50.12 | hyperChipmunk | it's actually easier than using the numbers |
21:50.31 | otravi | I like numbers better :) |
21:50.40 | hyperChipmunk | you ought to give it a try for a bit |
21:50.43 | hyperChipmunk | you might be surprised |
21:52.28 | otravi | hehe, I still like to see exactly how much health a person has dropped |
21:52.35 | otravi | so I can select a heal based on that |
21:52.54 | Slayman | good evening gents |
21:53.07 | otravi | Hello Slayman |
21:53.14 | hyperChipmunk | roll a nunter nub |
21:53.27 | otravi | hyperChipmunk: working on it |
21:53.28 | hyperChipmunk | stop caring about such trivialities as other people's health |
21:53.32 | otravi | It's planned after my rogue |
21:55.16 | ckknight | woot |
21:55.21 | ckknight | I made a script to crawl wowguru |
21:55.35 | ckknight | should I include the translations for trade skills, i.e. Alchemy and whatnot |
21:59.13 | *** join/#wowace haste (n=haste@host-81-191-131-80.bluecom.no) |
21:59.52 | haste | *cries* |
22:00.09 | otravi | You know those power switches with a power button on? |
22:00.13 | otravi | having them under the table != smart |
22:02.52 | Tem | lol |
22:07.51 | *** join/#wowace HoJ|Slayman (i=Slayman@c207196.adsl.hansenet.de) |
22:13.07 | kergoth | hehe |
22:14.13 | *** join/#wowace Warol (n=Warol@adsl-75-5-43-183.dsl.emhril.sbcglobal.net) |
22:14.23 | *** part/#wowace id` (i=debian-t@tor/session/x-a7ee6e28d8d13dd6) |
22:45.43 | ckknight | kergoth, why does Lua use ~= instead of !=? |
22:48.28 | *** join/#wowace cladhaire (n=jnwhiteh@cpe-24-59-191-241.twcny.res.rr.com) |
22:49.09 | Tem | hey cladhaire |
22:50.27 | cladhaire | evening. |
22:52.04 | kergoth | ckknight: see the lua users mailing list archives. it comes up on a regular basis |
22:52.13 | kergoth | cladhaire: figured out what was causing the odd numbers :) |
22:52.54 | cladhaire | kergoth: What was it? |
22:53.01 | kergoth | two issues |
22:53.26 | cladhaire | talk.. i will be back in 3 minutes, approximately |
22:53.36 | kergoth | first, in testlookup(), i was passing the superclass as an arg, not a table containing the superclass, which means all lookups on the class werent going to the superclass. buncho f nils were coming out of it |
22:53.46 | kergoth | hence, smoking fast |
22:54.35 | kergoth | second, memoizing makes the numbers essentially useless, becuase the first lookup wehn it had to do real work was only the first of the 1000000 lookups that were made. those arent averaged, but the time is scaled/rounded, losing the least significant digits, sok that inforamtion was lost |
22:54.49 | kergoth | looked like every lookup was 0.18us, when it was only the last 999999 lookups that were that |
22:55.04 | kergoth | disabling all memoizing across the board, AND fixing the calls in testlookup, made the numbers make sense again |
22:56.09 | kergoth | i did compare a function __index + memoize vs a table __index in the single inheritence case, non-c3. interesting seeing how deep the inheritence chain needs to be before it pays for the function overhead |
22:56.18 | kergoth | not very :) |
22:57.25 | *** join/#wowace Jarenthal (n=Roo@cpe-066-057-087-213.nc.res.rr.com) |
23:06.40 | ckknight | kergoth, I've looked through like 20 messages and haven't figured out why they use ~= |
23:07.48 | kergoth | i remember reading something, but i dont have a link handy |
23:07.54 | kergoth | http://lua-users.org/wiki/SyntaxAddition has some people arguing in favor of != |
23:08.32 | ckknight | ew, they should not have !b instead of not b |
23:08.35 | Tem | kergoth: by that do you mean that you don't have to go very deep in the inheritance chain for the memoize to be noticeable or that it has little to no impact unless it's VERY deep? |
23:08.51 | kergoth | Tem: i mean that you dont have to go very deep to benefit from memoize |
23:09.32 | Kaelten | ello |
23:09.33 | kergoth | hey |
23:09.48 | ckknight | hey Kaelten |
23:11.19 | Kaelten | woot I show up and the conversation dies! |
23:11.21 | Kaelten | lol |
23:11.55 | Kaelten | kergoth: hows the c3 thingy going? |
23:13.01 | kergoth | fine, working on merging it into the class model that gives objects a seperate namespace from the classes they're instances of (facilitates the equivalent of a static class member vs an object member, so things like Embed dont flow into the objects) |
23:13.13 | kergoth | need 3 seperate __index functions for it, looks like |
23:13.40 | Kaelten | hmm |
23:13.46 | Kaelten | sounds complicated |
23:14.09 | Tem | sounds fun |
23:14.10 | Kaelten | what does c3 stand for anyway? |
23:14.17 | Tem | class3 is my guess |
23:14.38 | Tem | meaning the first 2 classes were failures |
23:14.49 | kergoth | nope |
23:14.50 | Kaelten | or maybe they where just learning experiacnes |
23:14.51 | kergoth | "If consistency with the extended precedence graph, local precedence order, and monotonicity are desired, a hybrid of the Dylan and L*LOOPS linearizations can be used. We call this linearization C3, because it is consistent with these three properties." |
23:16.18 | hyperChipmunk | it means the Chipmunk3 algorithm, the epitome of the purity of logical function |
23:16.20 | kergoth | see http://citeseer.ist.psu.edu/barrett96monotonic.html for the original paper |
23:16.27 | kergoth | A Monotonic Superclass Linearization for Dylan (1996) |
23:16.32 | Kaelten | I think you linked that before |
23:16.34 | kergoth | its the linearization used in python 2.3+ |
23:16.35 | kergoth | probably |
23:16.57 | hyperChipmunk | don't listen to kergoth |
23:17.00 | hyperChipmunk | he r dumb |
23:17.15 | Kaelten | tem: any more progress on acegui? |
23:17.24 | Tem | no sadly |
23:17.36 | Tem | I'm stuck on buttons |
23:18.09 | Kaelten | is it still the normaltext thats giving you the issues? |
23:18.09 | Tem | I'm thinking more and more that I should just say "fuck it" for 1.10 |
23:18.32 | Tem | just implement it expecting the stuff to -- you know -- work |
23:18.49 | Kaelten | lol |
23:18.58 | Kaelten | whats borked on buttons thats giving you so many issues? |
23:19.04 | Tem | the fontstrings |
23:19.29 | Kaelten | well, for now don't support anything but NormalText |
23:19.29 | Tem | emulating them being there is proving to be quite difficult |
23:19.36 | Tem | from a library standpoint |
23:19.41 | Kaelten | and then go on to another xml object |
23:20.03 | Tem | for an individual addon, it's pretty simple |
23:21.03 | Tem | I was hoping to get button written since CheckButton and LootButton are derrivatives |
23:21.15 | Kaelten | ya |
23:21.30 | Kaelten | how are you going about it, just writing each xml object in turn? |
23:21.41 | Tem | pretty much |
23:21.52 | Kaelten | hmm, how hard is it to implement a object? |
23:21.59 | Tem | I've got a pretty fleshed out backbone so for stuff that's not broken it's pretty easy |
23:22.18 | Tem | AceGUIBase -> AceGUILayoutFrame -> AceGUIFrame -> AceGUIButton |
23:22.19 | kergoth | ah, so tahts what that guy on the lua mailing list meant |
23:22.29 | kergoth | a "mixin" is like the decorator design pattern |
23:22.32 | Tem | AceGUIBase -> AceGUILayoutFrame -> AceGUIRegion -> AceGUIFontString |
23:22.34 | kergoth | seems like it, anyway |
23:22.38 | Tem | AceGUIBase -> AceGUILayoutFrame -> AceGUIRegion -> AceGUITexture |
23:22.40 | Tem | ect |
23:23.05 | Kaelten | k, well I'd like to help code the xml elements if you didn't mind? |
23:23.22 | Tem | sure |
23:23.34 | Tem | It's pretty easy |
23:23.42 | Tem | just inherit from the proper class |
23:24.00 | Tem | have a CreateUIObject method |
23:24.08 | Tem | and an ApplySettings method |
23:26.25 | Tem | oh, can't forget a GetValue/SetValue |
23:27.35 | Kaelten | cool |
23:27.42 | Kaelten | which ones next on the hit list? |
23:28.00 | Tem | I think I'm gonna hi Editboxes |
23:28.08 | Tem | even though they are also somewhat broken |
23:28.13 | Kaelten | lol |
23:28.22 | Tem | hit rather |
23:28.30 | Tem | so what's left? hmm.. |
23:28.54 | Tem | there's message frames |
23:28.57 | Tem | scroll frames |
23:29.19 | Tem | scrolling message frame |
23:29.25 | Tem | simpleHTML |
23:29.27 | Tem | slider |
23:29.32 | Tem | StatusBar |
23:31.11 | Kaelten | you just basing this off the list in the wow wiki? |
23:31.25 | Tem | yeah |
23:31.36 | Kaelten | kk |
23:31.49 | Tem | I figure once we get all the simple types in, we go for the "template" objects |
23:31.50 | Kaelten | what exactly is a Region? |
23:31.58 | Tem | Regions are Fontstrings and Layers |
23:32.02 | Tem | they're all done :) |
23:32.05 | Kaelten | woot! |
23:32.09 | Kaelten | we've got something done! |
23:32.22 | Tem | I have all of the base types in |
23:32.52 | Tem | I don't know how long it's been since I commited some changes |
23:32.58 | Tem | but I fixed an anchoring bug last night |
23:33.02 | Kaelten | bought Kristy a few games for the PS2 so I can code for a few days hehe |
23:33.08 | Tem | haha |
23:33.35 | Kaelten | hey 7.99 used games at gamestop due have a purpose |
23:33.42 | Tem | :) |
23:33.51 | Tem | hmm |
23:33.58 | Tem | I haven't commited my test file ever |
23:34.08 | Tem | guess I'll do that now... |
23:35.06 | Kaelten | k, I finally can commit to the svn too so that'll help |
23:35.57 | cladhaire | <PROTECTED> |
23:36.06 | Tem | yay |
23:36.13 | Tem | alright Kaelten |
23:36.18 | Tem | my latest changes are up |
23:36.23 | Kaelten | clad: nope |
23:36.58 | cladhaire | good.. then I dont have to code for it.. cause it never existed =) |
23:37.07 | Kaelten | I swear it did! |
23:37.11 | Kaelten | :S |
23:37.31 | ckknight | holy hell |
23:37.57 | hyperChipmunk | at your service |
23:37.57 | ckknight | for the localizations of all the spells, it's like 40k per language |
23:38.05 | hyperChipmunk | I told you |
23:38.07 | ckknight | 40 KiB, I mean |
23:38.12 | ckknight | you told me nothing |
23:38.15 | hyperChipmunk | didn't I? |
23:38.20 | ckknight | no, you didn't |
23:38.24 | hyperChipmunk | well I thought I did |
23:38.58 | hyperChipmunk | your fault for not reading my mind |
23:39.10 | ckknight | well, I'll see what I do when I cut out trade skills |
23:39.50 | kergoth | hmm... a mixin appears to be a class which has a 'super' clause, making it easy to drop it into an inheritence chain without it having an explicit reference to the parent class |
23:40.02 | kergoth | very hard to facilitate in lua though |
23:40.17 | kergoth | none of my 5 or so implementations of super() are such taht i'd want to use them in production code |
23:40.51 | hyperChipmunk | ~super |
23:40.52 | purl | Program to allow general users to do superuser things. URL: ftp://ftp.ucolick.org:/pub/users/will/super-3.12.1.tar.gz |
23:41.01 | kergoth | heh, no |
23:41.13 | kergoth | its a means of referencing your superclass from a method |
23:41.15 | hyperChipmunk | I know |
23:41.20 | hyperChipmunk | purl let me down |
23:42.54 | cladhaire | so am i evil if i code effortless crowd control using Model:GetModel() just to prove it lets us uniquely identify mobs, even if I hate mods like that? |
23:43.32 | hyperChipmunk | you are the spawn of satan |
23:43.34 | cladhaire | I'm taking requests for AceEvent.. since I'm going to be coding it during this raid. Anything anyone wants to see in particular? |
23:44.00 | Kaelten | no ... and unpack() |
23:44.08 | hyperChipmunk | battlefield events omg |
23:44.10 | Kaelten | 'smart' hooks |
23:44.23 | cladhaire | I have your requests.http://wiki.wowace.com/index.php/User_talk:Cladhaire |
23:44.24 | Kaelten | smart events I mean |
23:44.27 | Kaelten | lol |
23:44.31 | kergoth | hmmmmmm |
23:45.12 | hyperChipmunk | battlefield objective status updates are only currently workable two ways, both of which suck |
23:45.20 | Kaelten | you going to use the stub loader like you did with AceHooks? |
23:45.28 | hyperChipmunk | parsing chat messages and scanning map textures |
23:45.49 | cladhaire | Kaelten: I can if you'd like me to |
23:45.51 | Kaelten | hyper: Bug the priate for better info. |
23:46.02 | hyperChipmunk | priate? |
23:46.08 | Tem | cladhaire: are you sure it gives us unique ids? |
23:46.19 | hyperChipmunk | and the frigging messages aren't even standardized |
23:46.21 | Kaelten | clad: I'd like it to be seperately available like acehooks is |
23:46.23 | cladhaire | Tem: Combined with name, sex, level it comes pretty close. |
23:46.33 | kergoth | i think i may have a clean solution to the diamond inheritence problem using the c3 linearization to dynamically generate super() functions for subsequent calls as it traverses the linearization |
23:46.37 | Tem | cladhaire: sure, but it's still not perfect |
23:46.52 | cladhaire | Kaelten: I'll have to play with it.. since the event queue in central in this case instead of as part of the calling namespace. |
23:47.07 | cladhaire | Tem: Yeah yeah =) |
23:48.39 | Kaelten | clad: well thats what I'd like to see. |
23:49.07 | cladhaire | k |
23:49.19 | cladhaire | I need to document the current API first |
23:49.51 | Kaelten | Register/Unregister and UnregisterAll I think |
23:50.18 | cladhaire | and trigger |
23:50.21 | cladhaire | sillygoose. |
23:50.35 | Kaelten | Tem: so GameTooltip would inherit from AceGUIFrame? |
23:50.43 | Tem | don't go there |
23:50.45 | Tem | not yet |
23:50.48 | Kaelten | lol |
23:50.58 | Tem | AceGUITooltip may need to be a special case |
23:51.20 | Kaelten | well I'm trying to do ones with which I'm familar with how they work |
23:51.36 | Tem | well, the issue is that AceGUI objects don't have a global name |
23:51.57 | Kaelten | hmm |
23:52.06 | Kaelten | well how about I do Model then, that one looks like fun |
23:52.07 | Tem | and no one has really done any testing to see if GameTooltipObjects need to have named child fontstrings |
23:52.13 | Tem | go for it :) |
23:52.19 | kergoth | "Some languages provide a "super" call that implements the required sibling call in this case and the parent call in other cases." |
23:52.22 | kergoth | grar |
23:52.27 | kergoth | i dont wanna implement super :'( |
23:52.33 | Tem | kergoth so don't |
23:52.36 | ckknight | we don't need it |
23:52.43 | kergoth | yes, we do |
23:52.46 | ckknight | why? |
23:53.35 | kergoth | consider the following: class b and c both inherit a, and class d inherits b and c. d's initialization function calls b's, and c's to ensure his base classes are setup. b's and c's both call a's, because thats their base class |
23:53.41 | kergoth | so now a's initalization function was just called twice. |
23:53.48 | kergoth | to initialize one object |
23:53.56 | kergoth | the "diamond inheritence problem" |
23:54.09 | kergoth | we could easily be bit by this, we'll have diamond structures in ace 2.0 if we go with what clad and i've been discussing |
23:55.16 | kergoth | hence, you get a super() function that knows taht b should call c's, instead of a's, making the progression linear, obeying our method resolution order |
23:55.25 | kergoth | thats the cleanest solution to it |
23:55.35 | Kaelten | kergoth) thats yer headache. |
23:55.53 | hyperChipmunk | yea, d00d, quit yer whinin' |
23:56.11 | hyperChipmunk | <3 |
23:56.31 | kergoth | the only real way to be able to do this is to dynamically change super's behavior based on the original caller |
23:56.41 | kergoth | and figure out where it currently is in the mro |
23:56.44 | kergoth | to find the next |
23:56.55 | *** part/#wowace Warol (n=Warol@adsl-75-5-43-183.dsl.emhril.sbcglobal.net) |
23:57.05 | kergoth | getting the mro is easy, the object would be passed as self, most likely |
23:57.16 | kergoth | but gettnig the current position is nearly impossible without doing very ugly things |
23:57.33 | Kaelten | tem: should model actually inherit from AceGUIFrame? |
23:57.38 | Tem | yes |
23:58.05 | cladhaire | Kaelten: What functions did you want whitelisted? ADDON_LOADED, VARIABLES_LOADED and PLAYER_ENTERING_WORLD? |
23:58.22 | Kaelten | yes |
23:58.30 | Kaelten | although I'm wondering if we really need variables loaded anymore |
23:58.41 | cladhaire | it doesn't hurt |
23:58.43 | Kaelten | doesn't that ALWAYS fire beofre entering world? |
23:59.36 | Tem | DISPLAY_SIZE_CHANGED |
23:59.41 | Tem | UPDATE_BINDINGS |
23:59.53 | Tem | UPDATE_CHAT_WINDOWS |
23:59.57 | Tem | UPDATE_MACROS |