#bitfighter IRC Log

Index Search ←Prev date Next date→

IRC Log for 2012-05-25

Timestamps are in GMT/BST.

00:03:50raptori can't believe how crazy this is to get to compile
00:03:54raptorcircular includes...
00:38:36raptor Quit (*.net *.split)
00:44:03raptor has joined
01:09:02raptor Quit ()
04:48:46raptor has joined
04:48:46ChanServ sets mode +o raptor
05:33:03raptorstacktrace of crash when adding s_bot now: http://pastie.org/3963990
05:34:13raptorwhy is the index counting down?
05:44:46kodaws has joined
05:55:32Watusimoto has joined
06:02:15Watusimoto Quit (Ping timeout: 260 seconds)
06:03:51raptor Quit ()
07:08:42sam686 has left
07:52:22kodaws Quit (Ping timeout: 248 seconds)
08:10:28watusimoto has joined
08:10:28ChanServ sets mode +o watusimoto
08:27:50kodaws has joined
13:15:13IAmBeard has joined
14:39:13watusimoto Quit (Remote host closed the connection)
15:04:49Watusimoto has joined
15:22:53raptor has joined
15:22:53ChanServ sets mode +o raptor
15:23:00raptormorning!
15:30:43raptorWatusimoto: when you call dumpTable() do you go backwards in indices? e.g. -1, then -2, then -3, etc..
15:34:27IAmBeardg'morning :)
16:38:33watusimoto1 has joined
16:38:39watusimoto1hey there
16:38:46raptorHI
16:39:00watusimoto1ok, I think I know the problem with luaW
16:39:13watusimoto1it's fixable, just not sure how
16:39:15raptordid my trace help at all?
16:39:28watusimoto1I will try to do it tonight, but no promises
16:39:29watusimoto1no
16:39:38watusimoto1but the crash was not related
16:39:39raptorthose circular includes were killing me..
16:39:43raptorah ok
16:39:51watusimoto1it was a bug in the debugging code
16:40:00watusimoto1ironically
16:40:05raptorha!
16:40:13raptorthat was my guess
16:40:22watusimoto1anyway, I'm going to (quickly) explain the problem, so you can think it over, and we'll see later if we can find a solution
16:40:30watusimoto1We do a bunch of registrations like this:
16:40:31raptorok
16:40:31watusimoto1REGISTER_LUA_SUBCLASS(MoveObject, Item);
16:40:38watusimoto1and REGISTER_LUA_CLASS(MoveObject, Item);
16:40:44raptoryes
16:40:52watusimoto1oops
16:40:58raptorthat second one looks wrong...
16:41:01watusimoto1and REGISTER_LUA_CLASS(Item);
16:41:03watusimoto1yes
16:41:09watusimoto1turns out the order is important
16:41:11watusimoto1I think
16:41:21raptoras in you need to register the parents first?
16:41:23watusimoto1so before we can do REGISTER_LUA_SUBCLASS(MoveObject, Item), we have to have registered item
16:41:28raptorok
16:41:35watusimoto1and before we register item, we need to register anything that item depends on
16:41:37watusimoto1and so on
16:41:41raptorok
16:41:52watusimoto1pretty straightforward
16:42:12raptorso we need a way to guarantee the parent is always registered first?
16:42:13watusimoto1currently, we register all the classes in arbitrary order, which is fine
16:42:27watusimoto1because they depend on nothing
16:42:37watusimoto1then the subclass declarations also get done, also in arbitrary order
16:42:42watusimoto1which is the problem
16:42:55watusimoto1so yes -- we need to order the subclasses so that they go in the proper order
16:43:09watusimoto1REGISTER_LUA_SUBCLASS(MoveObject, Item)
16:43:12raptorok
16:43:16watusimoto1REGISTER_LUA_SUBCLASS(Item, BfObject)
16:43:24watusimoto1REGISTER_LUA_SUBCLASS(MoveItem, MoveObject)
16:43:31watusimoto1REGISTER_LUA_SUBCLASS(TestItem, MoveItem)
16:43:33raptorthen we need a pre-registry registry that preps all the class by reordering them
16:43:41watusimoto1yes, probably
16:43:55watusimoto1so. that needs to go in luaW, in the registrar class
16:44:08watusimoto1it's very straightforward in there, only like 10 lines of code
16:44:19watusimoto1just putting stuff into vectors, which are then processed
16:44:23raptoryeah, looks good
16:44:44watusimoto1if you want to look at that, I won't do anything on that until I visit chat, if at all
16:45:04watusimoto1you can remove any debugging code from luaw -- if this is the problem, we won't need it
16:45:10watusimoto1and it's crashy in any event
16:45:18watusimoto1though I know the problem and can fix it
16:45:37watusimoto1so if you can figure out a solution, great, otherwise I'll take a look. But i may only have like an hour
16:45:42raptordo you want to keep the dump* methods? because if so, they need to be removed from LuaObject
16:46:02watusimoto1if you remove them from luaWrapper, they can stay in luaObject, no?
16:46:07raptoryes
16:46:14watusimoto1so you can just do that, if it's easier
16:46:17raptorok
16:46:25watusimoto1or hell, we can move them to luaWrapper
16:46:32watusimoto1anyway, I've got to run
16:46:42watusimoto1so I'll check in later
16:46:45raptorwell, my workaround was to make a new namespace LuaDebug and put them in lua.h
16:46:46raptorok
16:46:57watusimoto1saw that
16:47:20raptorsee you later
16:47:35watusimoto1we can probably cosolodiate much of luaObj and luaW later
16:48:18watusimoto1bye!
16:48:43raptorbye
16:52:39watusimoto1 Quit (Ping timeout: 260 seconds)
16:59:34kodaws Quit (Read error: Connection reset by peer)
17:33:27Watusimoto Quit (Ping timeout: 246 seconds)
18:34:25LordDVG has joined
19:00:05LordDVG Quit (Read error: Connection reset by peer)
19:00:47LordDVG has joined
19:23:13Watusimoto has joined
19:29:25raptorhi Watusimoto
19:41:33Watusimotohi
19:41:44raptorok, so i did crazy stuff:
19:41:48raptorhttp://pastie.org/3967736
19:42:14raptorbasically inserting the class registration into a map that sorts by class and parentclass
19:42:24raptorbut it doesn't sort properly
19:43:02raptorsome objects aren't being compared within the map and i'm not sure why
19:43:25raptorthe map has a key/value of: compareKey, registerFunc
19:43:44raptorcompareKey is a pair<classname, parentClassname>
19:44:10Watusimotook, looking
19:44:59Watusimotoso sorting doesn't work, or it works, but lua is still broken?
19:45:17raptorsorting works-ish
19:45:27raptorbecause it isn't complete, lua is still broken
19:45:43raptormy sorting works on half the objects properly, i think
19:45:53raptorso it may be bad somewhere, but i'm not sure where
19:46:04Watusimotowhat are first and second?
19:46:43raptorso the map looks like this: map<pair<classname, parentClassname>, function>
19:46:59raptorso the key is a pair of the class name and parent classname
19:47:06raptorkey.first = classname
19:47:08Watusimotofist = class, second = parent
19:47:13raptoryes
19:48:07raptorbut i may be going about this entirely wrong...
19:48:07Watusimotoso if sort returns true, a is before b?
19:48:10raptoryes
19:48:34Watusimotothe NUL checks look ok
19:48:51Watusimotostrcmp check looks ok
19:51:04raptorbut only about half the classes are registered in order - it could be i'm iterating incorrectly, too
19:51:12raptorbut i don't know how else...
19:51:50Watusimotoiterators... yuck! :-)
19:52:16Watusimotoso... what do you get?
19:52:45Watusimotohalf sorted; what does that mean?
19:52:48raptorhttp://pastie.org/3967829
19:52:54raptoris how they're registered
19:53:21raptorand here is the comparator results when inserting: http://pastie.org/3967833
19:53:43raptorthere are breaks in places, like Item never gets compared to BfItem
19:53:44Watusimotolook mostly totally unsorted to me
19:53:53Watusimotoasteroid is 2nd
19:53:59raptoryeah well
19:54:15raptorit does Item -> MoveItem -> MoveObject ok
19:54:24Watusimotocould be luck
19:54:31raptortrue
19:55:49Watusimotoso the map is maintained in a sorted manner?
19:55:55raptoryes
19:56:05raptoror at least that what all the docs say...
19:56:11raptori don't know how the iterator works
19:56:20Watusimotowell, you should see lots of stuff being printed as you sort
19:56:23Watusimotoso you should know
19:56:37raptorsort is done on insert
19:56:52raptorthat second link above shows the sort
19:57:36raptoranything without an r: true or false means it was sorted alphabetically
19:58:33raptormaybe i need to keep a vector and do a sort after the fact..
19:59:30Watusimotoso every insert gets sorted
19:59:40raptoryes
19:59:43Watusimotoand every sort iteration, aside from alpha sort, should
19:59:48Watusimotoprint an r: line
19:59:52raptori do
19:59:55Watusimotoperhaps more than 1
20:00:01raptorwell, except for the last one
20:00:07Watusimotoa: Ship, parent: MoveObject
20:00:07Watusimotob: SoccerBallItem, parent: MoveItem
20:00:25Watusimotowhich do you think you are inserting here?
20:00:50Watusimotomaybe b?
20:01:08Watusimotomaybe a is already in the map, then adding b?
20:01:09raptorok, i'll add the last sort print
20:01:22Watusimotobetter, print out what's getting added
20:01:32Watusimotoso we can see what's going in in which order
20:01:47Watusimotoand make sure it's bing sorted as we think it is
20:02:14WatusimotoI don't even know how many comparisons are being generated by a particular insert
20:02:58raptormuchos
20:04:23Watusimotothe sort results look correct
20:04:24raptorok, here is better logging: http://pastie.org/3967897
20:04:44Watusimotoso
20:04:45Watusimotoadding: SoccerBallItem, parent: MoveItem
20:04:48Watusimotono sort, good
20:04:49raptoryes - the problem is that certain insertions aren't comparing all top elements
20:05:24raptordon't ask me why some compares are run twice...
20:05:32Watusimotoadding: Ship, parent: MoveObject
20:05:32Watusimoto=======
20:05:32Watusimotoa: Ship, parent: MoveObject
20:05:32Watusimotob: SoccerBallItem, parent: MoveItem
20:05:32Watusimotor: true
20:05:33raptorquirk of the container, i think
20:05:34Watusimoto=======
20:05:36Watusimotoa: Ship, parent: MoveObject
20:05:38Watusimotob: SoccerBallItem, parent: MoveItem
20:05:41Watusimotor: true
20:05:43Watusimotommmm
20:05:47Watusimotoadding ship
20:06:03Watusimotodid you log alpha sorting?
20:06:11raptoryes, that is what it is doing
20:06:13Watusimotook
20:06:26raptoralpha sorting is the default when nothing else can be determined
20:06:32Watusimotoright
20:06:51Watusimotoso 2nd iter is ok, aside from double sort
20:07:49Watusimotoyou should dump the map after each iteration
20:07:56raptorok
20:08:02Watusimotoso we can see what's ending up where
20:11:59raptorok, compiling...
20:12:21raptorthis will be noisy...
20:12:57raptorWatusimoto: http://pastie.org/3967937
20:13:10Watusimotolooking
20:15:13Watusimototake out the alpha sort
20:15:49raptorok
20:15:56Watusimotoa: Asteroid, parent: MoveItem
20:15:56Watusimotob: Projectile, parent: BfItem
20:15:56Watusimotor: true
20:16:08Watusimotobut asteroid isn't above projectile
20:16:31raptorthen what do i place in its stead?
20:16:51Watusimotouh
20:17:00Watusimotoyou have to return something, don't you
20:17:06Watusimotothen leave it
20:17:12Watusimotobut there's something wrong here
20:17:26Watusimotolook at asteroid
20:17:55Watusimotothe first comparison tells it that asteroid is above projectile
20:18:20Watusimotothat asteroid is above everything, really
20:18:37raptorit is, alphabetically
20:18:51Watusimotowe have a pre-sorted map
20:18:55Watusimotowe add asteroid
20:19:07Watusimotoif asteroid is above the first item, it can really stop there, no?
20:19:28Watusimotobecause the entire list is sorted
20:19:48Watusimotothe problem is that, I think, we don;t have a list
20:19:55Watusimotowe have a series of trees
20:19:57raptorexplain?
20:20:00raptorah yes
20:20:10Watusimotosome of the trees are unrelated
20:20:22Watusimotoyet we're treating them as if they can all be ordered somehow
20:20:28Watusimotowhen they can't
20:20:52raptormaybe something in the hierarchy is broken somewhere...
20:20:58Watusimotono
20:21:03WatusimotoI've checked that
20:21:09Watusimotolook at the comparisons for asteropid
20:21:11raptorbecause there is no Item <-> BfItem comparison
20:21:18Watusimotoall are correct
20:21:24raptoryes
20:21:29Watusimotosticking with asteroid for a second
20:21:37raptorok
20:21:40Watusimotono important comparisons are made
20:21:47Watusimotoeverythign compared is irrelevant
20:22:08Watusimotoif I gave you a list of sorted numbers and asked you to insert a new one, you could do that easily
20:22:28Watusimotocompare your # with the first item on the list, and either insert or compare further
20:22:55Watusimotoif, however, I gave you a list of numbers, letters, and colors on the spectrum, and handed you "violet", how would you insert that?
20:23:03Watusimotocompare violet to 3
20:23:04raptoryes
20:23:11raptorok
20:23:18Watusimotook, I arbitrarily tell you violet comes first
20:23:31Watusimotoso you insert that at the head of the list
20:23:46Watusimotowhen in fact, you need to find the other colors and make your comparisons there
20:24:09Watusimotothe map thinks it is a sorted, ordinal list
20:24:11Watusimotobut it's not
20:24:24Watusimotoso it gets confused and hands us garbage
20:24:43Watusimotoit doesn't know it needs to keep searching until it finds something related to the asteroid, then insert
20:25:11raptorok recursive search...
20:26:18WatusimotoI don't think so
20:26:41raptorqsort on a vector
20:26:45raptorallows -1, 0, 1
20:27:52WatusimotoI think we're going to need to do this in at least 2 passes
20:28:25Watusimotolet's jhust take it in order and see
20:28:39Watusimotoadding: SoccerBallItem, parent: MoveItem
20:28:51Watusimotofirst item, stick it anywhere
20:29:05Watusimotoadding: Ship, parent: MoveObject
20:29:13Watusimoto2nd -- unrelated to first
20:29:41Watusimotoshould it go in the same list?
20:30:03Watusimotooh hell, stick it anywhere
20:31:09Watusimotoadding: Robot, parent: Ship
20:31:27Watusimotocompare with ship, stick it under
20:31:47Watusimotoso we have
20:31:47WatusimotoShip
20:31:47WatusimotoRobot
20:31:47WatusimotoSoccerBallItem
20:31:48Watusimotoso far so good
20:31:55Watusimotoadding: Projectile, parent: BfItem
20:32:11Watusimotoadding: Burst, parent: MoveItem
20:32:18Watusimotothese go anywhere
20:32:24Watusimototake that back
20:32:29Watusimotostart iterating down the list
20:32:41Watusimotothis won't work
20:33:11Watusimotoif your hiearchy is asteroid is a move item is a moveobject is a item is a bfobject
20:33:26Watusimotoand you get asteroid first
20:33:29Watusimotothat goes on top
20:33:32raptoryep
20:33:35Watusimotothen you get item
20:33:39Watusimotothat goes second
20:34:03Watusimotothen you get moveitem
20:34:12Watusimotothat goes third (it appears unrelated to other entries)
20:34:27Watusimotoso our list looks like asteroid item moveItem
20:34:40Watusimotothen we get moveObject
20:34:44Watusimotowhere does that go?
20:34:47LordDVG Quit (Remote host closed the connection)
20:35:04Watusimotoyou have to redo the whole list
20:35:33Watusimotomo is an item, so you put before item
20:35:43Watusimoto(sorry, this is all reversed)
20:36:07Watusimotoso you get asteroid moveobject item moveitem
20:36:28Watusimotohow does moveitem get to the right place?
20:37:59raptorare you asking within the context of std::map?
20:41:21Watusimotoor really any context
20:41:33Watusimotoonce the item is in place, how do you know it needs to be moved?
20:41:45raptorso the issue is that we have asteroid as a top level element, and it stays put
20:41:53Watusimotoyes
20:42:12Watusimotobut I think it's because we are approaching the problem wrong
20:42:18raptoryes
20:42:24Watusimotowe have a tree
20:42:30Watusimotoor a series of trees
20:42:43raptorand we're comparing only the first level, isntead of all levels we have
20:42:48Watusimoto(though we could perhaps make everything inerit from a single dummy class to force it to be a tree)
20:43:11raptoror maybe make sure BfItem goes in first?
20:43:11Watusimotowell, we also get objects and might not have enough info to know where they go
20:43:21Watusimotowe can't control the order
20:43:35Watusimotowe might get that one last
20:44:28Watusimotoas we get new classes, we could add them to a regular vector
20:44:31Watusimotounsorted
20:44:34raptori'm testing something evil...
20:44:43Watusimotothen build a tree from the classes we have
20:44:54Watusimotorepeating the exercize for each new class
20:45:56Watusimotook
20:46:43WatusimotoI know how to do it if we care nothing for efficiency
20:46:47raptori'm doing a qsort on a vector after all objects are entered
20:46:55raptorwe don't care about efficiency much do we?
20:46:57Watusimotohow do you know they're all entered?
20:47:19Watusimotoand the qsort won';t work anyway
20:47:20raptorbecause registerClasses(lua_State *L) is called once after they're added to the vectors
20:47:30Watusimototrue
20:47:52Watusimotoknowing that, my method isn't too bad
20:48:20Watusimotomy idea is this
20:48:49Watusimotowhen we have all the classes, we know that every class is either a root or a child of another class
20:48:54Watusimotowe know all the roots
20:49:04Watusimotoso we create one vector for each root
20:49:13Watusimotothen we start with the children
20:49:31Watusimototake each child, look at ll the possible roots, see if we can find a parent
20:49:45Watusimotoif so, insert it into the parent's vector just below the parent
20:49:57Watusimotoif not, advance to next item
20:50:01Watusimotonext child
20:50:09Watusimotorepeat until we come to the end of the list
20:50:18Watusimotothere will be some children remaining
20:50:41Watusimotogo back to the top of the list and start again, looking for parents in the vectors
20:50:53Watusimotorepeat until the child list is empty
20:51:23Watusimotopretty inefficient, but for 20-30 objects, it should be fine
20:51:56Watusimotothough this is definitely an o(n^2) design
20:52:15raptorhehe, yep
20:52:41Watusimotomaybe an n^3
20:53:17Watusimotobut the problem is you can't tell two items are releated unless they are immediately adjacent on the tree
20:53:33Watusimotothat is, they have a parent-child relationship
20:53:41raptornested for loops all the way!
20:53:43Watusimotoyou look at parent-grandchild, and you'll see no connection
20:53:56Watusimotoit's for loops, all the way down :-0
20:55:38IAmBeardnest for loops all the way across the sky! nested for loops, oh my god, nested for loops!
21:01:54Watusimotoof course, we could go back to a centralized registration process
21:02:08raptorugh
21:02:12Watusimotothat would solve everything!
21:02:22Watusimotoexcept for the centralization issue
21:06:37raptorwell... at least i learned lots about templates
21:09:33Watusimotowe aer severely limited by the restrictions that each class only knows what it's parent is, and the classes can be registered in any order
21:10:32BFLogBot - Commit b4ed0e9657c3 | Author: watusim...@bitfighter.org | Log: Fix error handling functions
21:10:34Watusimotowe could, perhaps, add something to the macro to let a class interrogate its parent
21:11:08Watusimotowhich could in turn interrogate its parent; that would make ordering things much easier
21:12:49Watusimotothough not easy to return a class in c++
21:15:31Watusimotoor maybe a different approach
21:16:01Watusimotomaybe we just stick everything in an unordered vector
21:16:04Watusimotoas we do now
21:16:26Watusimotoregister all the base classes first, as we do now
21:16:34Watusimotothen start with the child list
21:16:59Watusimotoif we've registered a class' parent, we register the child, discard it
21:17:06Watusimotoif we haven't, we come back later
21:17:15Watusimotokeep iterating over the list until its empty
21:17:27raptorthat's what i thought you were already doing...
21:17:49Watusimotoactually... this is pretty much the same as my other idea, but with simpler logistics (i.e. no mutliple vectors)
21:18:24Watusimotoyou mean currently?
21:18:49raptori mean what you're implementing right now
21:18:54Watusimotono
21:19:03Watusimotocurrently we register all base classes
21:19:09Watusimotothen register children in arbitrary order
21:19:21WatusimotoI'm proposing only registering children when the parent is registered
21:19:36Watusimotoand iterating over the list a couple of times
21:19:55Watusimotoso if a child is registered before its parent
21:20:08Watusimotosorry, if a child is preregistered before its parent
21:20:30Watusimotowhen registering the children, we hit the child, see its parent hasn't been registered, and move on to the next child
21:20:33sam686 has joined
21:20:33ChanServ sets mode +v sam686
21:20:36Watusimotothen come back and check again
21:20:41Watusimotoand again
21:20:49Watusimotoand again, until we can register it
21:20:57Watusimotobrb
21:31:25Watusimotook, it's 11:30
21:31:28Watusimotoi give myself until 12:00 to make this work
21:31:33raptorok
21:31:35Watusimotootherwise it's hast la vista
21:31:44raptorok, send me your work if not completed
21:38:33Watusimotoas long as it doesn'
21:38:35Watusimotot suck
21:49:01raptorwell, if you hate it, i'll pick up again tonight
22:02:18raptorok, your time is up
22:03:48Watusimotoit is
22:04:20Watusimotohttp://pastie.org/3968445
22:04:48raptorok
22:04:49Watusimotoadded static std::vector<const char *> extendedClasses;
22:04:55Watusimotothis is the list of classes extended to date
22:05:14Watusimotonow when you register a base class, it gets added to this list
22:05:36Watusimoto LuaW_Registrar1Arg()
22:05:36Watusimoto {
22:05:36Watusimoto registerClass<T>();
22:05:36Watusimoto getExtendedClasses().push_back(LuaWrapper<T>::classname);
22:05:36Watusimoto }
22:05:55Watusimotoand when you extend, the class gets added to list
22:06:12Watusimoto template<class T, class U>
22:06:12Watusimoto void static extendClass(lua_State *L)
22:06:12Watusimoto {
22:06:12Watusimoto getExtendedClasses().push_back(LuaWrapper<T>::classname);
22:06:12Watusimoto luaW_extend<T, U>(L);
22:06:13Watusimoto }
22:06:29Watusimotoso, you need to verify this actually works (have stubborn link error here)
22:06:49Watusimotothen in registerClasses(L):
22:06:51Watusimoto/ Extend those that need extending... but in order <=== iterate over this list extending ones with parents already in
22:06:51Watusimoto // getExtendedClasses() list. Probabbly need check to see if you make a complete pass without adding any, it means
22:06:51Watusimoto // that the inheritance chain is broken, and it indicates an assertable error state. (otherwise, will loop forever)
22:06:51Watusimoto for(unsigned int i = 0; i < getExtensionFunctions().size(); i++)
22:06:51Watusimoto getExtensionFunctions()[i](L);
22:06:58raptorone quick question, what is the exact relationship between the extended list and non-extended?
22:07:01Watusimotodo what the commeens say
22:07:12Watusimotoextended list?
22:08:47raptor getExtendedClasses()
22:08:52Watusimotoah
22:09:05raptorgetRegistrationFunctions()
22:09:11raptorwait you renamed those
22:09:29WatusimotogetExtendedClasses just gets a list of strings of the names of already-extended classes
22:09:39Watusimotoanything with a parent on this list is safe to extend
22:09:46raptorah ok
22:09:52raptorwhat i meant was
22:10:00raptorbefore your current work
22:10:02Watusimotoget RegistrationFns() is just a list of classes to be registered in any order
22:10:13raptorwhen everything is registered arbitrarily
22:10:28Watusimotothere are two steps to registering
22:10:31Watusimoto1. register
22:10:34Watusimoto2. extend
22:10:39raptorexplaint he extend part for me
22:10:48Watusimotoresistration can happen in any order
22:10:56raptorok
22:10:59Watusimotoextension is where you say a is a child of b
22:11:12Watusimotoand I *thought* this could happen in any order, but it can't
22:11:18Watusimotob needs to be extended before a
22:11:25Watusimotoand both need to be registered
22:11:34raptorso all my work with getRegistrationFunctions() was for naught
22:11:39raptori needed to use getExtensionFunctions() instead
22:11:50WatusimotoI suppose it was
22:11:53raptorha!
22:11:55Watusimotobut the logic would have worked
22:12:01raptorok, good, i'm glad you expained that
22:12:05Watusimotobut the whole idea was flawed
22:12:32Watusimotoso the macros either add a class to the registration list or
22:12:41Watusimotoadd it to both the registration and extension lists
22:12:48Watusimotoeverythign gets registered
22:12:54raptorthe registration list can be in any order?
22:12:54Watusimotoonly things with parents get extended
22:12:59Watusimotoreistration can be in any order
22:13:04raptorok
22:13:10Watusimotoat least that's what I think currently
22:13:12raptorthen I know better what needs done
22:13:12Watusimoto:-)
22:13:14raptorha!
22:13:39Watusimotoif you verify that names are added to the list properly, and then do that parent checking during extension iteration, it should work
22:14:07Watusimotobut I'm not sure how to get the extension and parent classnames in order to check the list
22:14:18Watusimotoyou may need to register things as pairs
22:14:26Watusimotoname, function
22:14:28Watusimotoor soemthing
22:14:31Watusimotoyou'll figure it out
22:14:38raptoryes, that is what i already implemented...
22:14:38Watusimotoor I'll do it on Friday
22:14:42raptorok
22:14:45Watusimotoyes
22:14:46raptori'll take another stab at it
22:14:55Watusimotook, well see y'all in a week or so!
22:15:05raptorlater!
22:15:07raptorand good ngiht
22:59:21Watusimoto Quit (Ping timeout: 256 seconds)
23:14:42Little_Apple has joined
23:14:51Little_Applehelloooo
23:15:00raptorhi
23:15:05Little_Applesup
23:16:06raptorhi
23:17:55Little_Appleworking?
23:18:27raptoryes
23:18:36Little_AppleI SHALL LEAVE YOU IN PEACE
23:18:40Little_Apple Quit (Client Quit)
23:49:57raptor Quit ()

Index Search ←Prev date Next date→

These logs were automatically created by BFLogBot on irc.freenode.net.