*** tpb has joined #tp | 00:00 | |
*** ChanServ sets mode: +o tpb | 00:00 | |
tansell-laptop | Greywhind, from what I can see from your output | 00:01 |
---|---|---|
Greywhind | tansell-laptop: the server was indeed sending two groups with the same name | 00:02 |
tansell-laptop | ahh | 00:03 |
Greywhind | tansell-laptop: i managed to rename one of them, but i couldn't figure out how to merge them into one group | 00:03 |
Greywhind | maybe it won't be necessar | 00:03 |
Greywhind | *necessar | 00:03 |
Greywhind | err | 00:03 |
Greywhind | *necessary | 00:03 |
Greywhind | anyway, there's another error now | 00:03 |
Greywhind | tansell-laptop: http://pastebin.com/d34fbc751 | 00:04 |
tpb | Title: pastebin - collaborative debugging tool (at pastebin.com) | 00:04 |
tansell-laptop | the new libtpproto2-py should detect this problem | 00:04 |
tansell-laptop | Greywhind, remove ~/.tp/cache* ? | 00:04 |
Greywhind | still happens | 00:05 |
Greywhind | tansell-laptop: so it thinks there's an object 15 that doesn't exist? is that what causes that? | 00:20 |
tansell-laptop | yeah | 00:20 |
tansell-laptop | or actually | 00:21 |
tansell-laptop | the orderqueue doesn't exist | 00:21 |
tansell-laptop | probably the cache doesn't download the order queues | 00:21 |
llnz | greenlion: pong | 00:22 |
llnz | sorry | 00:22 |
llnz | Greywhind: pong | 00:23 |
Greywhind | llnz: so, the server was sending two groups both named "Orders" | 00:23 |
Greywhind | that caused the bug | 00:23 |
llnz | ah | 00:23 |
llnz | that would do it | 00:23 |
Greywhind | it 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 |
Greywhind | but now it's seeing an object with id 15 that isn't actually in the list... | 00:24 |
*** greenlion has quit IRC | 00:24 | |
Greywhind | or it's not downloading the order queues, as Mithro is saying | 00:25 |
llnz | Greywhind: i'll update the source in the repo in a couple of hours time | 00:27 |
Greywhind | llnz: ok, thanks | 00:27 |
llnz | the problem of adding a second orderqueue to the existing group is that it affects the fleets as well | 00:27 |
llnz | (thank tp01-tp03 for that) | 00:27 |
Greywhind | llnz: i see | 00:27 |
tansell-laptop | Greywhind, I think the problem is in libtpclient-py | 00:40 |
tansell-laptop | libtpclient-py use to just download orderqueues for each object | 00:41 |
tansell-laptop | llnz, do we have GetOrderQueue list or similar? | 00:41 |
llnz | no | 00:42 |
llnz | because all the data that would be in it is in the orderqueue object parameter | 00:42 |
tansell | guess so | 00:58 |
*** jmtan has joined #tp | 00:58 | |
tansell | Greywhind, so you see where you have to update the cache.py file? | 00:58 |
Greywhind | tansell: sorry, went AFK - what do i need to do? | 01:01 |
tansell | download the order queues | 01:02 |
Greywhind | tansell: from where? | 01:03 |
tansell | look at line 473 in tp/client/cache.py | 01:04 |
Greywhind | ok | 01:04 |
Greywhind | tansell: i'm not really sure what i'm looking for | 01:08 |
tansell | the orders downloading stuff | 01:08 |
tansell | I'm surprised this even works | 01:08 |
tansell | and line 625 | 01:09 |
Greywhind | i'm not sure how order queues are stored internally | 01:09 |
Greywhind | is all the info inside the object properties? | 01:10 |
tansell | Greywhind, so basically the cache just stores a dictionary of lists | 01:18 |
tansell | self.cache.orders[queue_id] | 01:19 |
tansell | but queue_id use to equal objectid | 01:19 |
tansell | but now you have to iterate over the object and figure out the queueids | 01:20 |
Greywhind | ah | 01:21 |
Greywhind | so basically the code is good except that it's using the wrong ID | 01:21 |
Greywhind | ? | 01:22 |
Greywhind | mithro: the code appears to already be using the queueid rather than the object ID | 01:28 |
Greywhind | value = getattr(getattr(object, group.name), property.name) | 01:28 |
Greywhind | emptyqueues.append(value.queueid) | 01:28 |
Greywhind | for id in emptyqueues: getattr(self, sb)[id] = (cache(id).modify_time, ChangeList()) | 01:28 |
tansell | Greywhind, so there is a bug here i think | 01:30 |
llnz | bbl | 01:31 |
*** llnz has quit IRC | 01:31 | |
tansell | can you check that it's downloading two queues for the object? | 01:31 |
Greywhind | tansell: well, the problem is i'm not sure where it's downloading the queues | 01:32 |
tansell | right in that function you where just showing me | 01:32 |
Greywhind | it's adding them to a list of empty queues, but i don't think that downloads them | 01:32 |
Greywhind | i think it skips downloading queues that have no orders in them | 01:33 |
tansell | getattr(connection, "get_%s" % sb)(value.queueid, range(0, value.numorders)) | 01:33 |
tansell | make sure that the adding of empty stuff is working correctly then? | 01:33 |
Greywhind | tansell: hmm... looks like all the planet order queues except one have ID 0 | 01:41 |
Greywhind | that can't be right | 01:41 |
Greywhind | tansell: http://pastebin.com/d5fccb4f9 | 01:45 |
tpb | Title: pastebin - collaborative debugging tool (at pastebin.com) | 01:45 |
tansell | so that should all work | 01:45 |
tansell | still | 01:45 |
Greywhind | problem is there's no 15 | 01:47 |
Greywhind | tansell: http://pastebin.com/d3d3169eb | 01:47 |
tpb | Title: pastebin - collaborative debugging tool (at pastebin.com) | 01:47 |
Greywhind | this is what return getattr(self, pn)[id] | 01:48 |
Greywhind | is looking through | 01:48 |
tansell | umm | 01:48 |
tansell | that is wrong | 01:48 |
Greywhind | wait. | 01:49 |
Greywhind | pn = "objects" | 01:49 |
Greywhind | ^ shouldn't that be "orders"? | 01:49 |
tansell | Greywhind, you could clean up this function | 01:49 |
Greywhind | tansell: hmm... so getattr(self, "orders") is empty | 01:53 |
Greywhind | but getattr(self, "objects") clearly isn't right | 01:53 |
Greywhind | so what am i supposed to get it from? | 01:53 |
tansell | hrm? | 01:56 |
Greywhind | getattr(self, sb)[id] = (cache(id).modify_time, ChangeList()) | 01:57 |
Greywhind | this is the problem line | 01:57 |
Greywhind | it's trying to get something about the order queue, not sure what | 01:57 |
Greywhind | but it's trying to get it from cache.objects using the order queue ID | 01:57 |
Greywhind | cache(id) does that | 01:57 |
Greywhind | but i'm not sure where it _should_ be trying to get it from, if not from cache.objects | 01:58 |
Greywhind | pn = "objects" | 01:58 |
Greywhind | sn = "object" | 01:58 |
Greywhind | def cache(id=None, self=self, pn=pn): | 01:58 |
Greywhind | if id==None: | 01:58 |
Greywhind | return getattr(self, pn) | 01:58 |
Greywhind | else: | 01:58 |
Greywhind | return getattr(self, pn)[id] | 01:58 |
Greywhind | tansell: i think i just figured it out | 02:02 |
Greywhind | for objectid, id in emptyqueues: getattr(self, sb)[id] = (cache(objectid).modify_time, ChangeList()) | 02:03 |
Greywhind | had 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 |
tansell | Greywhind, doesn't sound great, but possibly | 02:32 |
tansell | hrm llnz left | 02:32 |
tansell | Greywhind, I think it points out that there should be a modify time for orderqueues | 02:33 |
tansell | as multiple objects might share a single order queue | 02:33 |
Greywhind | tansell: is there currently any way to get a modify time for order queues? | 02:36 |
tansell | they don't exist | 02:36 |
tansell | hence the problem :) | 02:36 |
Greywhind | tansell: heh. ok. | 02:37 |
Greywhind | tansell: well, the good news is that multiple queue support seems to work | 02:37 |
Greywhind | tansell: now i just have to try to figure out how the heck to make panels for the parameter types that don't have any | 02:38 |
tansell | did you end up rewriting that function? | 02:39 |
Greywhind | tansell: i didn't, no | 02:40 |
Greywhind | but it works | 02:40 |
tansell | I think it would be a good idea to clean up that function | 02:40 |
tansell | it was original suppose to be generic, but the orderqueue stuff kinda screwed that | 02:40 |
Greywhind | tansell: i'm not sure i understand libtpclient-py well enough to rewrite it myself, but i'll see if i can tomorrow | 02:40 |
tansell | Greywhind, well got time to learn as any :) | 02:44 |
Greywhind | tansell: heh. i suppose. | 02:44 |
tansell | Greywhind, tpclient-pywx is the primary driver for libtpclient-py | 02:44 |
Greywhind | tansell: 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 |
tansell | cherez, ping? | 02:45 |
Greywhind | but at least it's working out now! | 02:45 |
tansell | Greywhind, I tend to find when I find something frustrating it often means I'm missing some understand | 02:45 |
Greywhind | tansell: do you think i could talk to you tomorrow about the panels for the other parameter types? | 02:46 |
tansell | Greywhind, sure - I wouldn't worry about them to much | 02:46 |
tansell | Greywhind, it seems to silly to add panel types which are never used | 02:46 |
*** nash has quit IRC | 02:46 | |
Greywhind | tansell: well, i would be happy to just leave them for another time if you don't think they need to be done now | 02:47 |
Greywhind | it's these: | 02:47 |
Greywhind | elif isinstance(property, parameters.OrderParamReference): | 02:47 |
Greywhind | print "Unimplemented: OrderParamReference" | 02:47 |
Greywhind | elif isinstance(property, parameters.OrderParamReferenceList): | 02:47 |
Greywhind | print "Unimplemented: OrderParamReferenceList" | 02:47 |
Greywhind | elif isinstance(property, parameters.OrderParamResourceList): | 02:47 |
Greywhind | print "Unimplemented: OrderParamResourceList" | 02:47 |
Greywhind | elif isinstance(property, parameters.OrderParamGenericReferenceQuantityList): | 02:47 |
Greywhind | print "Unimplemented: OrderParamGenericReferenceList" | 02:47 |
tansell | Greywhind, well - it might be a time to poke the server developers and ask what they want to use | 02:47 |
Greywhind | tansell: 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 future | 02:48 |
tansell | Greywhind, definately | 02:48 |
tansell | alanp, might be a good person to talk to | 02:48 |
tansell | as he is doing the most development on rulesets at the moment | 02:49 |
Greywhind | ok | 02:49 |
tansell | but it would be good to poke xdotx and the risk guy | 02:49 |
tansell | to see what they wanted but did not have | 02:49 |
Greywhind | tansell: e-mail sent | 02:57 |
tansell | great! | 02:58 |
tansell | cherez, so I should have some CL's from you right? | 02:58 |
tansell | Greywhind, you should have CLs for me too? | 03:11 |
Greywhind | tansell: i'll try to submit some code for review tonight | 03:13 |
tansell | okay | 03:13 |
Greywhind | it might be a bit ugly, but it should all work | 03:13 |
cherez | tansell: http://codereview.mithis.com/1004 | 03:22 |
tpb | Title: Issue 1004: Added unit tests for structures. - Code Review (at codereview.mithis.com) | 03:22 |
tansell | cherez, could you go through and reply to the comments? | 03:23 |
Greywhind | tansell: http://codereview.mithis.com/3001 | 03:27 |
tpb | Title: Issue 3001: Fixed panelOrder to work with tp04 and with multiple order queues. - Code Review (at codereview.mithis.com) | 03:28 |
tansell | Greywhind, I think that upload went wrong? | 03:29 |
Greywhind | tansell: hmm? | 03:29 |
tansell | well, it's pretty massive? | 03:29 |
Greywhind | some of the changes will be wrong because tp04 has been updated since i branched off | 03:29 |
Greywhind | the order panel changes are pretty big though | 03:30 |
tansell | Greywhind, merge the tp04 branch first then | 03:30 |
Greywhind | tansell: ok, i'll try | 03:30 |
tansell | Greywhind, and why do you have changes to windows/main/overlays/Systems.py? | 03:30 |
Greywhind | tansell: there's a small change to Systems.py 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 work | 03:33 |
Greywhind | tansell: after the tp04 merge: http://codereview.mithis.com/3001 | 03:34 |
tpb | Title: Issue 3001: Fixed panelOrder to work with tp04 and with multiple order queues. - Code Review (at codereview.mithis.com) | 03:34 |
tansell | that looks much better | 03:34 |
Greywhind | sorry about that. should have remembered to do that in the first place | 03:34 |
Greywhind | tansell: i'm going to stop for tonight. i'll look at any comments you have tomorrow. | 03:36 |
tansell | Greywhind, no problem | 03:37 |
cherez | tansell: http://codereview.mithis.com/1004 | 03:48 |
tpb | Title: Issue 1004: Added unit tests for structures. - Code Review (at codereview.mithis.com) | 03:48 |
tansell | cherez, I don't see your comments? | 03:48 |
cherez | Sorry, just found that I need to publish them. | 03:49 |
cherez | They should be there now. | 03:49 |
cherez | Still figuring out Rietveld.... | 03:50 |
*** Greywhind has quit IRC | 04:04 | |
*** jmtan has quit IRC | 04:19 | |
*** llnz has joined #tp | 04:23 | |
llnz | hi all | 04:24 |
CIA-46 | llnz 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 #tp | 05:12 | |
*** tansell-laptop has quit IRC | 05:32 | |
tansell | cherez, comments posted | 05:36 |
tansell | llnz, so we discovered a little problem | 05:39 |
tansell | with orderqueues | 05:39 |
cherez | tansell: Thanks. | 05:39 |
tansell | they don't have any mod time of their own | 05:39 |
tansell | cherez, pretty much LGTM with a few small changes | 05:39 |
tansell | cherez, please commit your blog post to a file in the docs directory | 05:43 |
tansell | and add instructions on how to generate coverage | 05:43 |
*** tansell-laptop has joined #tp | 05:44 | |
*** mithro has quit IRC | 06:02 | |
CIA-46 | snwallace libtpproto2-py * r548463dedbff / (19 files in 5 dirs): (log message trimmed) | 06:05 |
CIA-46 | Squashed commit of the following: | 06:05 |
CIA-46 | commit 306a83903202b7ace2d398b684eee599d853cd03 | 06:05 |
CIA-46 | Author: cherez <[email protected]> | 06:05 |
CIA-46 | Date: Fri Jun 12 10:03:51 2009 +0000 | 06:05 |
CIA-46 | Added some documentation. | 06:05 |
CIA-46 | commit 1ce81238b44d3115175011ee3761de52352b17d4 | 06:05 |
*** mithro has joined #tp | 07:00 | |
*** peres has quit IRC | 07:40 | |
mithro | epyon: ping? | 07:42 |
mithro | I there not a boost vector class? | 07:42 |
epyon | ? | 07:46 |
epyon | vector is std | 07:46 |
mithro | epyon: so why not replace the vector3d class with the boost/std one? | 07:47 |
mithro | the less code we have, the less bugs we have :) | 07:48 |
epyon | Because yopu can't add a vector to a vector :P | 07:48 |
epyon | And you cant count a vector length :P | 07:49 |
epyon | std::vector is a dynamic array, not a mathematical vector | 07:49 |
epyon | (I already expressed my pain about that on the boost mailing list) | 07:49 |
mithro | but boost must have a mathematical vector right? | 07:49 |
epyon | No, and they didn't want my proposal to implement one :P | 07:50 |
mithro | really!? | 07:50 |
epyon | Yeah | 07:50 |
epyon | Their problem ^^ | 07:50 |
mithro | wow, Vector3d must have been implemented a million times then | 07:50 |
epyon | Yeah | 07:50 |
epyon | I've got at least five implementations of my own :P | 07:50 |
mithro | epyon: it would be really good if you could also add tests in your refactoring :) | 07:51 |
mithro | epyon: you got my message about the extra newline you need right? | 07:51 |
epyon | t 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 |
epyon | um, message where? | 07:52 |
llnz | epyon: on irc, just after you left, iirc | 07:55 |
epyon | ah, got it | 07:56 |
epyon | okay, I'll correct myself | 07:56 |
* epyon always wondered why vim colored the second line in red ^^ | 07:57 | |
llnz | http://www.thousandparsec.net/~irc/logs/%23tp.2009-06-11.log.html#t2009-06-11T22:10:28 | 07:57 |
tpb | <http://ln-s.net/3J-a> (at www.thousandparsec.net) | 07:57 |
CIA-46 | epyon tpserver-cpp-refactor * ra4abc3502d82 /tpserver/ (logging.cpp logging.h logsink.h): | 07:59 |
CIA-46 | Logging cleanup | 07:59 |
CIA-46 | * doxyfied logsink and logging classes | 07:59 |
CIA-46 | * added typedef and minor cleanup | 07:59 |
CIA-46 | * fixed style issues | 07:59 |
mithro | epyon: well a lot of it is quite hard to test | 07:59 |
* mithro loves tests but hates writing them :P | 08:00 | |
CIA-46 | epyon tpserver-cpp-refactor * r121774328007 /tpserver/ (settings.cpp settings.h settingscallback.h): | 08:29 |
CIA-46 | Settings doxyfication and cleanup | 08:29 |
CIA-46 | * Settings class doxymented and style cleaned up | 08:29 |
CIA-46 | * Typedefs added | 08:29 |
CIA-46 | * settingscallback not touched -- will be removed in favour of boost::function | 08:29 |
llnz | yeah, i've been using boost::function at work, I would now use them instead of the callbacks | 08:35 |
llnz | btw epyon, why aren't you fixing the rulesets as you go? | 08:37 |
epyon | llnz, what do you mean? | 08:38 |
llnz | well, i haven't actually compiled your branch yet, but my impression was that the changes to board would have caused build failures in the rulesets | 08:39 |
epyon | llnz: the beauty is that the interfaces have not been touched :) | 08:40 |
* epyon builds the server and does a simple test run before each commit | 08:40 | |
llnz | oh cool | 08:40 |
epyon | only simple changes in persistence were needed | 08:41 |
CIA-46 | epyon tpserver-cpp-refactor * r4d54706cc3ce /tpserver/ (filelogger.cpp filelogger.h): Filelogger cleanup and doxymentation | 08:46 |
CIA-46 | epyon tpserver-cpp-refactor * r63325974010d /tpserver/ (syslogger.cpp syslogger.h): SysLogger cleanup and doxymentation | 08:51 |
*** jmtan has joined #tp | 08:51 | |
*** tuna-fish has joined #tp | 08:53 | |
llnz | epyon: the logsinks would be a good candiates to move into their own directory/namespace, as they are internal to the core alone | 08:57 |
epyon | llnz: I noticed that | 08:57 |
epyon | And would do that with extreme pleasure ;) | 08:57 |
llnz | noinstall_HEADERS is a big clue | 08:58 |
epyon | the build system is a big secret to me as for now -_- | 08:58 |
CIA-46 | epyon tpserver-cpp-refactor * rf30f28bdbdb0 /tpserver/ (consolelogger.cpp consolelogger.h): ConsoleLogger doxyfication and cleanup | 09:00 |
epyon | I wouldn't be surprised if tpserver-cpp leaked bigtime -_- | 09:08 |
CIA-46 | epyon tpserver-cpp-refactor * rec6e7f80b2d3 /tpserver/ (adminlogger.cpp adminlogger.h): | 09:10 |
CIA-46 | AdminConnection doxyfication and cleanup | 09:10 |
CIA-46 | * also added assertion on connection | 09:10 |
CIA-46 | * initialized startup value to NULL | 09:10 |
epyon | Duh, that's all I can manage today :/ | 09:21 |
epyon | Blog updated. | 09:21 |
*** krytzz_ has joined #tp | 09:34 | |
*** krytzz has quit IRC | 09:35 | |
*** matthewd has quit IRC | 09:35 | |
*** matthewd has joined #tp | 09:38 | |
*** tansell-laptop has quit IRC | 10:10 | |
*** tansell_laptop has joined #tp | 10:10 | |
* llnz wanders off | 10:27 | |
llnz | later all | 10:27 |
*** llnz has quit IRC | 10:27 | |
*** peres has joined #tp | 11:00 | |
*** peres has quit IRC | 11:22 | |
*** Greywhind has joined #tp | 12:02 | |
CIA-46 | landon tpclient-pyogre * rcc82eebe9fcf /src/battleviewer.py: Added basic states to BattleScenes so RoundManagers/BattleManagers know when to move on | 12:32 |
* Landon is going nutty | 12:38 | |
Landon | somehow between different classes a list is getting shared :\ | 12:38 |
Landon | er, different instances | 12:38 |
jmtan | hey Landon, which list is that? | 12:40 |
Landon | doh | 12:42 |
Landon | found it | 12:42 |
Landon | list of rounds in the BattleManager object | 12:42 |
Landon | was creating it in the class definition instead of __init__ | 12:42 |
Landon | I'll have to remember that one, never had it happen to me before | 12:43 |
Landon | oh, guess it was the list of events in RoundManager, but its good now | 12:44 |
CIA-46 | landon tpclient-pyogre * ra9fc77416ae6 /src/battleviewer.py: Fixed bug introduced by not creating the empty scene list in __init__ | 12:45 |
*** Erroneous has joined #tp | 13:20 | |
*** gau_veld1 has joined #tp | 13:52 | |
*** gau_veldt has quit IRC | 13:56 | |
*** jmtan has quit IRC | 14:15 | |
*** krytzz_ is now known as krytzz | 14:18 | |
*** greenlion has joined #tp | 14:42 | |
*** ezod has quit IRC | 14:56 | |
*** ezod has joined #tp | 14:57 | |
*** ezod has quit IRC | 15:02 | |
*** ezod has joined #tp | 15:08 | |
*** greenlion has quit IRC | 17:04 | |
*** greenlion has joined #tp | 17:04 | |
*** puumala has joined #tp | 17:34 | |
*** puumala is now known as as-mo | 17:34 | |
*** gau_veld1 is now known as gau_veldt | 17:35 | |
as-mo | logo lehmä | 17:42 |
cherez | Err... hi? | 17:42 |
as-mo | hi | 17:43 |
as-mo | who are you | 17:43 |
*** as-mo has left #tp | 17:44 | |
*** greenlion has quit IRC | 18:04 | |
*** tuna-fish has quit IRC | 18:12 | |
*** llnz has joined #tp | 19:19 | |
Greywhind | tansell: http://codereview.mithis.com/3001 | 21:10 |
Greywhind | updated | 21:10 |
tpb | Title: Issue 3001: Fixed panelOrder to work with tp04 and with multiple order queues. - Code Review (at codereview.mithis.com) | 21:10 |
*** peres has joined #tp | 21:21 | |
*** mithro has quit IRC | 21:32 | |
*** Erroneous has quit IRC | 22:07 | |
*** jmtan has joined #tp | 23:31 |
Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!