Wednesday, 2010-07-07

*** tpb has joined #tp00:00
*** ChanServ sets mode: +o tpb00:00
*** glew has quit IRC00:18
*** glew has joined #tp00:44
llnzglew: looking good, keep going :-)01:09
*** jnengland77 has left #tp01:14
*** Landon_ has joined #tp01:16
*** Landon has quit IRC01:19
glewllnz, do you know what i need to change in the makefiles to compile the new persistence module01:21
*** nash has joined #tp01:40
llnzglew: i'll have a look01:43
glewllnz: thanks01:43
llnzglew: you will need a makefile.am, similar to mysql, and add references to it in configure.ac01:46
*** verhoevenv has quit IRC02:17
llnzbbs, going to work from home02:27
*** llnz has quit IRC02:27
*** glew has quit IRC04:06
*** llnz has joined #tp04:12
*** sandra_f has joined #tp04:40
*** bisc has joined #tp05:44
bisctansell: ping05:45
tansellbisc, pong05:46
bisctansell: I've got many thing to discuss with you. Let's start with http://codereview.mithis.com/7800105:47
tpbTitle: Issue 78001: Planet selection bug fixed. - Code Review (at codereview.mithis.com)05:47
biscthis is yesterdays bug + some documentation05:47
tansellthe comment needs a little work...05:49
bisccan you write your version?05:50
tansellemail sent05:53
biscok, thanks. While I'm fixing it, can you look at http://codereview.mithis.com/84001 ? I'm not sure about the long line and how to format it.05:54
tpbTitle: Issue 84001: Empty orders panel for non-players objects. - Code Review (at codereview.mithis.com)05:54
tansellbisc, 84001 seems wrong06:00
bisctansell: why?06:00
tansellthe correct fix is to figure out why len(objectutils.getOrderTypes(self.application.cache, object.id)) > 0 for objects you don't own06:00
*** mithro has joined #tp06:01
biscyeah, that's better. Let me check it out. I've updated http://codereview.mithis.com/7800106:03
tpbTitle: Issue 78001: Planet selection bug fixed. - Code Review (at codereview.mithis.com)06:03
*** cahirwpz has joined #tp06:03
bisctansell: well, it equals to zero. But there is one order queue with for such objects (with empty order types). So the next check is passed. Thus we need to check whether there's at least one order queue with non-emtpy list? or just exit when getOrderTypes returns 0?06:08
biscstrange code there. Don't understand why we need to continue if getOrderTypes(cache, id) == 0.06:09
tansellbisc, the order here seems a little wrong06:10
tansellfirst we should check if there are any order queues06:11
tansellthen we should eliminate all order queues which have no orders in them and can't be issued any orders06:11
tansellthen if we have any order queues left, we should display that frame06:11
bisctansell: yes, I agree. please look at new version of http://codereview.mithis.com/7800106:12
tpbTitle: Issue 78001: Planet selection bug fixed. - Code Review (at codereview.mithis.com)06:12
bisctansell: now, another topic. We have agreed to move a red arrow to (0,0,0) when Universe is selected through one of panels.06:15
bisctansell: and we want to handle galaxies in the same way -- place arrow to their center when they're selected.06:16
bisctansell: I confronted a problem while implementing this. The problem is that SystemLevelOverlay tracks currently selected _icons_, not _objectids_, and there're no icons for universe and galaxies06:17
bisctansell: imho there're two ways: 1) to rewrite code so that is can track selected objects, not only icons. 2) to add stub (empty, not drawn,...) icons for galaxies and universe.06:18
bisctansell: what do you think?06:18
tansellthe Overlay should only track icons06:19
bisctansell: speaking about SystemLevelOverlay, it has mixed-in functionality of TrackerObject (so it tracks object ids as well), but pretty much things are done through overlay's Selected attribute, which is assumed to be icon06:21
bisctansell: so, we want to add some invisible icons for universe and galaxies? this could break left-mouse-click selection, because overlay thinks that all icons are visible.06:22
tansellbisc, i'm not sure what is the right option06:32
bisctansell: one more option is to reject the idea of marking universe and galaxies with red arrow: just hide it when one of them is selected. This will be easier to implement.06:35
tansellbisc, maybe that is the way to go then - hide the arrow if an empty list is returned06:36
bisctansell: ok. Now, a big one http://codereview.mithis.com/85001 . It isn't finished yet. Probably some things are wrong there, need you to look at.06:39
tpbTitle: Issue 85001: Halfway patch for right click menu. - Code Review (at codereview.mithis.com)06:39
tansellbisc, why such the large rewrite?06:41
bisctansell: this code was outdated. checked orderdesc.names and obj.order_types06:44
bisctansell: also, the order was strange. Firstly, orders were found, then objects inside clicked icon added to menu, and only then orders were add. I decided to handle objects first, and then orders.06:45
bisctansell: because of moving code fragments this patch seems bigger that it is.06:45
biscs/that/then06:46
tansellbisc, it meant that figuring out which order types are valid is done only once06:46
bisctansell: yes, and I didn't change it (as fas as I remember). Just moved this fragment closer to adding orders into menu, as they're semantically linked.06:48
tansellbisc, so you need to rework that if change so it doesn't need to be nested so much06:48
bisctansell: can't reduce nesting easily. Two code fragments, one starting at line 380, another at 408, are independent and are on one level of tabs. Big nesting is done because of many checks that are somewhat necessary. Also, the orders are handled in very generic way. Maybe just check order.subtype == 1 (that's Move order) ?06:52
tansellbisc, sure you can - look at the way the original did it - use the continue statement06:52
bisctansell: ah, yes, just check for wrong condition and continue. I though you talk about global structure. Yes, I'll do this. And if we take order creation - is it formally correct?06:54
tansellAnd if we take order creation - is it formally correct? <- don't understand what you are asking here06:54
bisctansell: I mean lines 396-406, where I add the Move order. Because after I click on menu item, the Orders panel is getting an assertion (which I don't really understand).06:57
tansellgot a copy of the assertion?06:57
tansellmy guess is that your order construction is not correct06:58
bisc"assert self.Orders.GetItemPyData(d.index(node)) is node". You can see traceback in issue's description06:58
tansellone bug I noticed is that you are sending the object ID not the queue ID?06:59
biscthinking...07:02
tansellbisc, I also don't think this is the correct way to create the order - can you check the code in winOrder07:03
bisctansell: you mean panelOrder? Yes, I looked at it. And wrote my code in the same way. Here's how it's done there: args = [0, self.oid, -1, type, 0, []] ..... args += [[[0, 0, 0]]] ........ new = objects.Order(*args)  ............  node = self.InsertAfterOrder(new)07:05
bisctansell: no difference if you ask me.07:06
tansellI can't look at that other code at the moment07:06
biscanyway, thanks for you input on this issue. Will rework it.07:07
bisctansell: anything I should correct/add to game information window http://codereview.mithis.com/79001 ?07:08
tpbTitle: Issue 79001: Game info window. - Code Review (at codereview.mithis.com)07:08
tansellbisc, can you rework it by adding a way to get the game information from the network thread?07:10
bisctansell: all information (even which is available from cache), or only server url and port?07:11
tanselljust the server information I think07:12
bisctansell: and how to get it from network thread? Should a thread post an even, or the game window is supposed to call some function of network thread?07:13
biscs/even/event07:13
tansellself.application.network07:15
bisctansell: so the game window can just take one of its properties, for example "self.TextCtrl.SetValue(self.application.network.ServerUrl)" -- is it safe in terms of threads?07:19
tansellyes, as long as the method is threadsafe07:19
bisctansell: ok. what about this patch http://codereview.mithis.com/81001 ?07:22
tpbTitle: Issue 81001: Tabbing in tooltip. - Code Review (at codereview.mithis.com)07:22
tansellLGTM07:23
bisctansell: cool. Now, need your opinion about how should orders panel look like. Now, for each specific order, it has an appearing panel in its lower part with this order07:25
bisctansell: order's params. E.g. coords for move order, ship list for split order, etc. I suggest moving this parameters subpanel to a popup window. What's your opinion?07:26
tansellbisc, I'm not sure it would work07:27
bisctansell: how do you think this panel should look like? Currently it's too small to have all this information inside.07:28
tansellI'm not really sure07:30
tansellyou could test with a pop-up window and see if it works07:30
bisctansell: ok. a question about another part of OrderDesc. I've noticed that all code that works with OrderDesc uses its _name attribute (it's set inside its constructor) along with description, arguments and some other. Why is it named with underscore, but other code accessed it freely?07:35
biscI wanted to say "another part of tpclient"07:35
tansellhrm, I'm not sure I understand07:36
tansellbisc, I think you'll find it's because tpserver-py sets a name parameter07:38
tansells/py/cpp/07:38
tansellcahirwpz, poke?07:38
cahirwpztansell, hi :)07:38
tansellcahirwpz, so - got that list of changes to work through?07:38
bisctansell: and why is it called "_name", not "name", like other parameters?07:39
cahirwpztansell, nope - I had a really busy day and today is not going to be better :/07:39
cahirwpztansell, probably tomorrow I'll have time to prepare the list07:40
tansellcahirwpz, we are really quickly running out of time07:40
cahirwpztansell, in free time I try to come up with idea how to flexibly represent order / object / whatever attributes07:40
tansellbisc, because there is both a _name and name07:41
cahirwpztansell, so maybe we should start for example with sqlalchemy.orm ?07:42
bisctansell: yes, I'm starting to understand -- we want to have _name and name in DynamicOrder class, and we place _name in OrderDesc for consistency.07:44
cahirwpztansell, I need to leave home in about 1h :/07:49
bischave to go, will be back in an hour or so07:50
*** bisc has quit IRC07:50
cahirwpztansell, ping ?07:58
tansellcahirwpz, well I guess we'll have to wait till tomorrow07:58
tansellI have a feeling it's going to take longer then 30 minutes07:58
cahirwpzone question - what do you exactly expect the list to be ?07:58
cahirwpzhow detailed should it be ?07:59
*** tansell-laptop has joined #tp08:26
*** tansell-laptop has quit IRC08:48
*** Epyon has joined #tp08:53
*** Epyon has left #tp08:53
*** cahirwpz has quit IRC09:00
*** bisc has joined #tp09:12
biscmithro, tansell: you're here?09:30
*** nash has quit IRC09:38
tansellbisc, I'm about to disappear09:51
bisctansell: can you quickly tell me about the idea behind SystemLevelOverlay and System classes. How're they supposed to be designed? I see some hacks and messed up code inside and I don't want to make it worse.09:52
tansellso SystemLevelOverlay is a base class09:52
tansellwhich is used to display information on the starmap at a "System" level09:52
bisctansell: and System class is supposed to interact with user?09:53
tansellnow this is where I get fuzzy without looking at the code09:54
tansellI believe the System class inherits from the SystemLevelOverlay right?09:54
bisctansell: yes. Well, here discussion should theoretically go into code, so I think it can wait until tomorrow09:54
tansellso the System class is an "overlay" (something which draws something on the starmap) which draws the little System icons09:56
tansellit inherits from SystemLevelOverlay because it display information at the System level09:58
bisctansell: the problem that forced me to ask is that object selection (finding an icon for object)  is done in SystemLevelOverlay, and red arrow is drawn in System. So when (in SystemLevelOverlay) I decide that no arrow should be drawn, I can't do anything directly. I can solve it by either 1) introducing "ObjectUnselect" method and reimplement it in Systems 2) Adding a boolean property "drawArrow"10:00
bisctansell: and I personally think that both options create weird and not simple code.10:00
biscnot straightforward as well10:00
tansellbisc, so what you need to do is override the ObjectSelect method - call the parent class and see if it returns that something was selected and then show/hide the arrow10:02
tansellthat make sense?10:02
biscone second, I'll look at it10:04
tansellyou may have to modify the SystemLevelOverlay so that it returns a little more information10:04
bisctansell: yes, your idea is good. I'll try implementing it.10:06
biscthanks10:06
tansellokay cool10:06
tansellbisc, does my explaination of the overlay system help?10:06
tansellyou can also have multiple overlays shown at once10:07
tansellfor example, there is an overlay which shows Ship path10:07
bisctansell: yeah, I understand it better now.I was confused by having two classes (SystemLevelOverlay and Systems) for one overlay. Other overlays are just single-class descendants of Overlay class.10:08
*** mithro has quit IRC10:08
tansellthere are a bunch of other overlays which inherit from SystemLevelOverlay10:08
tansellI think the resources one does10:08
bisctansell: hmm, yes, through Proportional class. I haven't seen this before.10:10
tansellProportional class is basically a class which shows circles proportional to a property10:10
tansellIE the circle is bigger if the property is bigger10:10
tansellbisc, make sense?10:11
biscinteresting concept, saw it in Greywind's blog. but haven't seen it working.10:11
tanselldunno if it actually works :P10:11
tansellbut that's the theory10:11
bisctansell: ok, I see. thanks for infromation10:12
tansellyou can use the drop down box in the toolbar above the starmap to change that10:12
bisctansell: I know :) but not working10:13
bisctansell: maybe images aren't downloaded, don't know10:13
tansellit shouldn't need images10:13
bisctansell: nothing is drawn on starmap at all10:13
tansellhrm :(10:13
bisctansell: I'll investigate this bug eventually10:14
tansellminisec?10:14
biscyes. Should be mtsec?10:14
tansellI'm pretty sure that overlay only works in MTSec10:14
bisctansell: shouldn't there be some kind of ruleset info -- so that client can understand what's wroking and disable non-functional options?10:15
biscyes, really, it works10:15
bisclooks great10:15
bisc:)10:15
tansellbisc, well in theory it will work with minisec - there is just no data to display10:16
bisctansell: ok. I use minisec because client starts faster - which is crucial while developing it. Am I missing something interesting with minisec?10:17
tansellbisc, probably a lot of stuff10:17
tansellMTSec is significantly more interesting10:17
tansellMinisec and MTSec should take about the same time to start10:17
bisctansell: well, I mean not among player's options (like colonization), but about GUI functionality.10:18
bisctansell: but in my case it takes longer to download everything. Designs, resources, etc10:18
bisctansell: I suppose designs are only working in mtsec. something else?10:18
tansellbisc, hrm okay10:21
tansellwell I have to go10:21
tansellyeah designs, resources, complex orders10:21
biscok, see you tomorrow10:21
* llnz wanders off10:30
llnzlater all10:30
*** llnz has quit IRC10:30
*** peres has joined #tp10:33
*** peres has quit IRC10:34
*** peres has joined #tp10:34
*** peres has left #tp10:35
*** verhoevenv has joined #tp10:47
*** shenki has quit IRC11:06
*** shenki has joined #tp11:09
*** Epyon_ has joined #tp11:48
*** Epyon__ has joined #tp11:49
*** Epyon_ has quit IRC11:52
*** Epyon has joined #tp12:09
*** Epyon__ has quit IRC12:09
*** bisc has quit IRC13:16
*** null_000 has joined #tp14:19
null_000alanp: ping14:39
alanpnull_000: yo14:39
null_000how's stuff?14:40
alanpok, i think i have found the problem with the colonisation order issue, i didn't get a chance to fix it last night but i am free this afternoon14:40
alanpif i have any issues, i'm sure llnz will have some input14:41
alanpthe other issues shouldn't be huge fixes14:42
null_000great14:42
*** cahirwpz has joined #tp14:44
null_000gotta go15:08
*** null_000 has quit IRC15:09
*** StupidIncarnate has quit IRC15:53
*** Erroneous has joined #tp16:46
*** null_000 has joined #tp16:47
*** glew has joined #tp18:11
*** cahirwpz has quit IRC18:26
*** null_000 has quit IRC18:32
*** Epyon___ has joined #tp18:43
*** Epyon has quit IRC18:45
*** StupidIncarnate has joined #tp19:31
*** StupidIncarnate has quit IRC19:31
*** llnz has joined #tp20:12
*** cahirwpz has joined #tp22:50
*** cahirwpz has quit IRC23:13
*** jnengland77 has joined #tp23:26

Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!