Friday, 2009-06-12

*** tpb has joined #tp00:00
*** ChanServ sets mode: +o tpb00:00
tansell-laptopGreywhind, from what I can see from your output00:01
Greywhindtansell-laptop: the server was indeed sending two groups with the same name00:02
Greywhindtansell-laptop: i managed to rename one of them, but i couldn't figure out how to merge them into one group00:03
Greywhindmaybe it won't be necessar00:03
Greywhindanyway, there's another error now00:03
tpbTitle: pastebin - collaborative debugging tool (at
tansell-laptopthe new libtpproto2-py should detect this problem00:04
tansell-laptopGreywhind, remove ~/.tp/cache* ?00:04
Greywhindstill happens00:05
Greywhindtansell-laptop: so it thinks there's an object 15 that doesn't exist? is that what causes that?00:20
tansell-laptopor actually00:21
tansell-laptopthe orderqueue doesn't exist00:21
tansell-laptopprobably the cache doesn't download the order queues00:21
llnzgreenlion: pong00:22
llnzGreywhind: pong00:23
Greywhindllnz: so, the server was sending two groups both named "Orders"00:23
Greywhindthat caused the bug00:23
llnzthat would do it00:23
Greywhindit would be best if it sent one group with two queues, but for now i'm trying just renaming one of the groups to "Orders2"00:23
Greywhindbut now it's seeing an object with id 15 that isn't actually in the list...00:24
*** greenlion has quit IRC00:24
Greywhindor it's not downloading the order queues, as Mithro is saying00:25
llnzGreywhind: i'll update the source in the repo in a couple of hours time00:27
Greywhindllnz: ok, thanks00:27
llnzthe problem of adding a second orderqueue to the existing group is that it affects the fleets as well00:27
llnz(thank tp01-tp03 for that)00:27
Greywhindllnz: i see00:27
tansell-laptopGreywhind, I think the problem is in libtpclient-py00:40
tansell-laptoplibtpclient-py use to just download orderqueues for each object00:41
tansell-laptopllnz, do we have GetOrderQueue list or similar?00:41
llnzbecause all the data that would be in it is in the orderqueue object parameter00:42
tansellguess so00:58
*** jmtan has joined #tp00:58
tansellGreywhind, so you see where you have to update the file?00:58
Greywhindtansell: sorry, went AFK - what do i need to do?01:01
tanselldownload the order queues01:02
Greywhindtansell: from where?01:03
tanselllook at line 473 in tp/client/cache.py01:04
Greywhindtansell: i'm not really sure what i'm looking for01:08
tansellthe orders downloading stuff01:08
tansellI'm surprised this even works01:08
tanselland line 62501:09
Greywhindi'm not sure how order queues are stored internally01:09
Greywhindis all the info inside the object properties?01:10
tansellGreywhind, so basically the cache just stores a dictionary of lists01:18
tansellbut queue_id use to equal objectid01:19
tansellbut now you have to iterate over the object and figure out the queueids01:20
Greywhindso basically the code is good except that it's using the wrong ID01:21
Greywhindmithro: the code appears to already be using the queueid rather than the object ID01:28
Greywhindvalue = getattr(getattr(object,,
Greywhindfor id in emptyqueues: getattr(self, sb)[id] = (cache(id).modify_time, ChangeList())01:28
tansellGreywhind, so there is a bug here i think01:30
*** llnz has quit IRC01:31
tansellcan you check that it's downloading two queues for the object?01:31
Greywhindtansell: well, the problem is i'm not sure where it's downloading the queues01:32
tansellright in that function you where just showing me01:32
Greywhindit's adding them to a list of empty queues, but i don't think that downloads them01:32
Greywhindi think it skips downloading queues that have no orders in them01:33
tansellgetattr(connection, "get_%s" % sb)(value.queueid, range(0, value.numorders))01:33
tansellmake sure that the adding of empty stuff is working correctly then?01:33
Greywhindtansell: hmm... looks like all the planet order queues except one have ID 001:41
Greywhindthat can't be right01:41
tpbTitle: pastebin - collaborative debugging tool (at
tansellso that should all work01:45
Greywhindproblem is there's no 1501:47
tpbTitle: pastebin - collaborative debugging tool (at
Greywhindthis is what return getattr(self, pn)[id]01:48
Greywhindis looking through01:48
tansellthat is wrong01:48
Greywhindpn = "objects"01:49
Greywhind^ shouldn't that be "orders"?01:49
tansellGreywhind, you could clean up this function01:49
Greywhindtansell: hmm... so getattr(self, "orders") is empty01:53
Greywhindbut getattr(self, "objects") clearly isn't right01:53
Greywhindso what am i supposed to get it from?01:53
Greywhindgetattr(self, sb)[id] = (cache(id).modify_time, ChangeList())01:57
Greywhindthis is the problem line01:57
Greywhindit's trying to get something about the order queue, not sure what01:57
Greywhindbut it's trying to get it from cache.objects using the order queue ID01:57
Greywhindcache(id) does that01:57
Greywhindbut i'm not sure where it _should_ be trying to get it from, if not from cache.objects01:58
Greywhindpn = "objects"01:58
Greywhindsn = "object"01:58
Greywhinddef cache(id=None, self=self, pn=pn):01:58
Greywhindif id==None:01:58
Greywhindreturn getattr(self, pn)01:58
Greywhindreturn getattr(self, pn)[id]01:58
Greywhindtansell: i think i just figured it out02:02
Greywhindfor objectid, id in emptyqueues: getattr(self, sb)[id] = (cache(objectid).modify_time, ChangeList())02:03
Greywhindhad to store the objectid with it, then use that object's modify time rather than trying to get some kind of order modify time?02:03
tansellGreywhind, doesn't sound great, but possibly02:32
tansellhrm llnz left02:32
tansellGreywhind, I think it points out that there should be a modify time for orderqueues02:33
tansellas multiple objects might share a single order queue02:33
Greywhindtansell: is there currently any way to get a modify time for order queues?02:36
tansellthey don't exist02:36
tansellhence the problem :)02:36
Greywhindtansell: heh. ok.02:37
Greywhindtansell: well, the good news is that multiple queue support seems to work02:37
Greywhindtansell: now i just have to try to figure out how the heck to make panels for the parameter types that don't have any02:38
tanselldid you end up rewriting that function?02:39
Greywhindtansell: i didn't, no02:40
Greywhindbut it works02:40
tansellI think it would be a good idea to clean up that function02:40
tansellit was original suppose to be generic, but the orderqueue stuff kinda screwed that02:40
Greywhindtansell: i'm not sure i understand libtpclient-py well enough to rewrite it myself, but i'll see if i can tomorrow02:40
tansellGreywhind, well got time to learn as any :)02:44
Greywhindtansell: heh. i suppose.02:44
tansellGreywhind, tpclient-pywx is the primary driver for libtpclient-py02:44
Greywhindtansell: i just want to finish this order panel stuff, that's all. it's been the most complex and frustrating stuff i've worked on so far.02:45
tansellcherez, ping?02:45
Greywhindbut at least it's working out now!02:45
tansellGreywhind, I tend to find when I find something frustrating it often means I'm missing some understand02:45
Greywhindtansell: do you think i could talk to you tomorrow about the panels for the other parameter types?02:46
tansellGreywhind, sure - I wouldn't worry about them to much02:46
tansellGreywhind, it seems to silly to add panel types which are never used02:46
*** nash has quit IRC02:46
Greywhindtansell: well, i would be happy to just leave them for another time if you don't think they need to be done now02:47
Greywhindit's these:02:47
Greywhindelif isinstance(property, parameters.OrderParamReference):02:47
Greywhindprint "Unimplemented: OrderParamReference"02:47
Greywhindelif isinstance(property, parameters.OrderParamReferenceList):02:47
Greywhindprint "Unimplemented: OrderParamReferenceList"02:47
Greywhindelif isinstance(property, parameters.OrderParamResourceList):02:47
Greywhindprint "Unimplemented: OrderParamResourceList"02:47
Greywhindelif isinstance(property, parameters.OrderParamGenericReferenceQuantityList):02:47
Greywhindprint "Unimplemented: OrderParamGenericReferenceList"02:47
tansellGreywhind, well - it might be a time to poke the server developers and ask what they want to use02:47
Greywhindtansell: maybe i'll send an e-mail to the mailing list asking people to let me know if they want any of those implemented in the near future02:48
tansellGreywhind, definately02:48
tansellalanp, might be a good person to talk to02:48
tansellas he is doing the most development on rulesets at the moment02:49
tansellbut it would be good to poke xdotx and the risk guy02:49
tansellto see what they wanted but did not have02:49
Greywhindtansell: e-mail sent02:57
tansellcherez, so I should have some CL's from you right?02:58
tansellGreywhind, you should have CLs for me too?03:11
Greywhindtansell: i'll try to submit some code for review tonight03:13
Greywhindit might be a bit ugly, but it should all work03:13
tpbTitle: Issue 1004: Added unit tests for structures. - Code Review (at
tansellcherez, could you go through and reply to the comments?03:23
tpbTitle: Issue 3001: Fixed panelOrder to work with tp04 and with multiple order queues. - Code Review (at
tansellGreywhind, I think that upload went wrong?03:29
Greywhindtansell: hmm?03:29
tansellwell, it's pretty massive?03:29
Greywhindsome of the changes will be wrong because tp04 has been updated since i branched off03:29
Greywhindthe order panel changes are pretty big though03:30
tansellGreywhind, merge the tp04 branch first then03:30
Greywhindtansell: ok, i'll try03:30
tansellGreywhind, and why do you have changes to windows/main/overlays/
Greywhindtansell: there's a small change to because it was using an old means of returning the object's position. i needed to change that so picking positions for the position parameter would work03:33
Greywhindtansell: after the tp04 merge:
tpbTitle: Issue 3001: Fixed panelOrder to work with tp04 and with multiple order queues. - Code Review (at
tansellthat looks much better03:34
Greywhindsorry about that. should have remembered to do that in the first place03:34
Greywhindtansell: i'm going to stop for tonight. i'll look at any comments you have tomorrow.03:36
tansellGreywhind, no problem03:37
tpbTitle: Issue 1004: Added unit tests for structures. - Code Review (at
tansellcherez, I don't see your comments?03:48
cherezSorry, just found that I need to publish them.03:49
cherezThey should be there now.03:49
cherezStill figuring out Rietveld....03:50
*** Greywhind has quit IRC04:04
*** jmtan has quit IRC04:19
*** llnz has joined #tp04:23
llnzhi all04:24
CIA-46llnz tpserver-cpp-multiqueue * r7260a139cd46 /modules/games/minisec/ (minisec.cpp planet.cpp): Fixes to multiple queue planets. Should work fine now.04:35
*** peres has joined #tp05:12
*** tansell-laptop has quit IRC05:32
tansellcherez, comments posted05:36
tansellllnz, so we discovered a little problem05:39
tansellwith orderqueues05:39
chereztansell: Thanks.05:39
tansellthey don't have any mod time of their own05:39
tansellcherez, pretty much LGTM with a few small changes05:39
tansellcherez, please commit your blog post to a file in the docs directory05:43
tanselland add instructions on how to generate coverage05:43
*** tansell-laptop has joined #tp05:44
*** mithro has quit IRC06:02
CIA-46snwallace libtpproto2-py * r548463dedbff / (19 files in 5 dirs): (log message trimmed)06:05
CIA-46Squashed commit of the following:06:05
CIA-46commit 306a83903202b7ace2d398b684eee599d853cd0306:05
CIA-46Author: cherez <[email protected]>06:05
CIA-46Date: Fri Jun 12 10:03:51 2009 +000006:05
CIA-46Added some documentation.06:05
CIA-46commit 1ce81238b44d3115175011ee3761de52352b17d406:05
*** mithro has joined #tp07:00
*** peres has quit IRC07:40
mithroepyon: ping?07:42
mithroI there not a boost vector class?07:42
epyonvector is std07:46
mithroepyon: so why not replace the vector3d class with the boost/std one?07:47
mithrothe less code we have, the less bugs we have :)07:48
epyonBecause yopu can't add a vector to a vector :P07:48
epyonAnd you cant count a vector length :P07:49
epyonstd::vector is a dynamic array, not a mathematical vector07:49
epyon(I already expressed my pain about that on the boost mailing list)07:49
mithrobut boost must have a mathematical vector right?07:49
epyonNo, and they didn't want my proposal to implement one :P07:50
epyonTheir problem ^^07:50
mithrowow, Vector3d must have been implemented a million times then07:50
epyonI've got at least five implementations of my own :P07:50
mithroepyon: it would be really good if you could also add tests in your refactoring :)07:51
mithroepyon: you got my message about the extra newline you need right?07:51
epyont would, however, now I'm mainly just doxyygenizing and doing small optimizations -- to get back on schedule I don't have time for that :/07:52
epyonum, message where?07:52
llnzepyon: on irc, just after you left, iirc07:55
epyonah, got it07:56
epyonokay, I'll correct myself07:56
* epyon always wondered why vim colored the second line in red ^^07:57
tpb<> (at
CIA-46epyon tpserver-cpp-refactor * ra4abc3502d82 /tpserver/ (logging.cpp logging.h logsink.h):07:59
CIA-46Logging cleanup07:59
CIA-46* doxyfied logsink and logging classes07:59
CIA-46* added typedef and minor cleanup07:59
CIA-46* fixed style issues07:59
mithroepyon: well a lot of it is quite hard to test07:59
* mithro loves tests but hates writing them :P08:00
CIA-46epyon tpserver-cpp-refactor * r121774328007 /tpserver/ (settings.cpp settings.h settingscallback.h):08:29
CIA-46Settings doxyfication and cleanup08:29
CIA-46* Settings class doxymented and style cleaned up08:29
CIA-46* Typedefs added08:29
CIA-46* settingscallback not touched -- will be removed in favour of boost::function08:29
llnzyeah, i've been using boost::function at work, I would now use them instead of the callbacks08:35
llnzbtw epyon, why aren't you fixing the rulesets as you go?08:37
epyonllnz, what do you mean?08:38
llnzwell, i haven't actually compiled your branch yet, but my impression was that the changes to board would have caused build failures in the rulesets08:39
epyonllnz: the beauty is that the interfaces have not been touched :)08:40
* epyon builds the server and does a simple test run before each commit08:40
llnzoh cool08:40
epyononly simple changes in persistence were needed08:41
CIA-46epyon tpserver-cpp-refactor * r4d54706cc3ce /tpserver/ (filelogger.cpp filelogger.h): Filelogger cleanup and doxymentation08:46
CIA-46epyon tpserver-cpp-refactor * r63325974010d /tpserver/ (syslogger.cpp syslogger.h): SysLogger cleanup and doxymentation08:51
*** jmtan has joined #tp08:51
*** tuna-fish has joined #tp08:53
llnzepyon: the logsinks would be a good candiates to move into their own directory/namespace, as they are internal to the core alone08:57
epyonllnz: I noticed that08:57
epyonAnd would do that with extreme pleasure ;)08:57
llnznoinstall_HEADERS is a big clue08:58
epyonthe build system is a big secret to me as for now -_-08:58
CIA-46epyon tpserver-cpp-refactor * rf30f28bdbdb0 /tpserver/ (consolelogger.cpp consolelogger.h): ConsoleLogger doxyfication and cleanup09:00
epyonI wouldn't be surprised if tpserver-cpp leaked bigtime -_-09:08
CIA-46epyon tpserver-cpp-refactor * rec6e7f80b2d3 /tpserver/ (adminlogger.cpp adminlogger.h):09:10
CIA-46AdminConnection doxyfication and cleanup09:10
CIA-46* also added assertion on connection09:10
CIA-46* initialized startup value to NULL09:10
epyonDuh, that's all I can manage today :/09:21
epyonBlog updated.09:21
*** krytzz_ has joined #tp09:34
*** krytzz has quit IRC09:35
*** matthewd has quit IRC09:35
*** matthewd has joined #tp09:38
*** tansell-laptop has quit IRC10:10
*** tansell_laptop has joined #tp10:10
* llnz wanders off10:27
llnzlater all10:27
*** llnz has quit IRC10:27
*** peres has joined #tp11:00
*** peres has quit IRC11:22
*** Greywhind has joined #tp12:02
CIA-46landon tpclient-pyogre * rcc82eebe9fcf /src/ Added basic states to BattleScenes so RoundManagers/BattleManagers know when to move on12:32
* Landon is going nutty12:38
Landonsomehow between different classes a list is getting shared :\12:38
Landoner, different instances12:38
jmtanhey Landon, which list is that?12:40
Landonfound it12:42
Landonlist of rounds in the BattleManager object12:42
Landonwas creating it in the class definition instead of __init__12:42
LandonI'll have to remember that one, never had it happen to me before12:43
Landonoh, guess it was the list of events in RoundManager, but its good now12:44
CIA-46landon tpclient-pyogre * ra9fc77416ae6 /src/ Fixed bug introduced by not creating the empty scene list in __init__12:45
*** Erroneous has joined #tp13:20
*** gau_veld1 has joined #tp13:52
*** gau_veldt has quit IRC13:56
*** jmtan has quit IRC14:15
*** krytzz_ is now known as krytzz14:18
*** greenlion has joined #tp14:42
*** ezod has quit IRC14:56
*** ezod has joined #tp14:57
*** ezod has quit IRC15:02
*** ezod has joined #tp15:08
*** greenlion has quit IRC17:04
*** greenlion has joined #tp17:04
*** puumala has joined #tp17:34
*** puumala is now known as as-mo17:34
*** gau_veld1 is now known as gau_veldt17:35
as-mologo lehmä17:42
cherezErr... hi?17:42
as-mowho are you17:43
*** as-mo has left #tp17:44
*** greenlion has quit IRC18:04
*** tuna-fish has quit IRC18:12
*** llnz has joined #tp19:19
tpbTitle: Issue 3001: Fixed panelOrder to work with tp04 and with multiple order queues. - Code Review (at
*** peres has joined #tp21:21
*** mithro has quit IRC21:32
*** Erroneous has quit IRC22:07
*** jmtan has joined #tp23:31

Generated by 2.13.1 by Marius Gedminas - find it at!