Monday, 2009-07-27

*** tpb has joined #tp00:00
*** ChanServ sets mode: +o tpb00:00
*** tansell-laptop has joined #tp00:14
*** Linkadmin has quit IRC00:15
tansellalanp, not really00:35
tansellalanp, so you have an economy now?00:35
tansellyou can build ships?00:35
tansellyou can build torpedos and load/unload them?00:35
alanpso far so good, but they only load as resources00:35
alanpyou can get the properties from the associated design i guess00:35
alanpfor combat purposes00:36
tansellalanp, hrm?00:36
alanpyou create a missile design00:36
tansellproperties from the associated design?00:36
alanpsorry, i meant component from the associated design00:37
alanp1 sec00:37
alanpyou load a resoure of "missile of design X"00:37
alanp1) build new missile design00:37
alanp2) in "build weapon" a new resource type is created00:38
alanp3) planet shows "I have one resource of 'alanp missile'"00:38
alanp4) load missile resource onto ship00:38
alanpprobably more clear explaining it like that00:38
*** llnz has quit IRC00:42
tansellalanp, can you unload the weapons to another planet?00:42
alanpi haven't created that order yet, but it wont be a problem at all00:43
alanpie: i can have it done tonight00:43
alanpshould be pretty simple, just a removeResource and addResource00:43
alanpcombined with populating a list00:43
tanselland it works even if you build two types of missiles in the same class?00:48
alanpin the same order? or two of the same missiles?00:48
alanpi can build 20 "alanp missiles" in one order00:48
*** jmtan has quit IRC00:49
tansellIE two alpha torpedos00:50
*** Linkadmin has joined #tp01:08
alanpdude, get a real connection to the internet01:11
*** jnengland77 has quit IRC01:15
*** cherez has quit IRC01:23
*** shenki has quit IRC01:23
*** jmtan has joined #tp01:25
*** cherez has joined #tp01:28
*** shenki has joined #tp01:28
chereztansell: Ping?02:15
tansellcherez, pong02:15
chereztansell: Because xstruct is a property and you can't access a property of a class, only an instance, you can't get the xstruct of a Packet unless you have an instance of it already.02:17
cherezThat... seems like a bad design to me.02:18
cherezPacket's have an xstruct property that returns their xstruct format string.02:18
cherezBut because it's a property, you have to have an instance of the Packet to access it.02:19
tansellwhich is entirely determined by the Packet's class02:19
tansellyou want a class property02:19
cherezIs there such a thing?02:20
tansellclasses are instances of a class too :)02:21
tansellso you can either use a metaclass02:21
tansellor you can just use @classmethod and @property02:21
tansell(but they are a bit tricky to get working correctly together)02:22
cherezI was trying the latter, but Packet already has a metaclass.02:22
cherezNo idea how that slipped my mind.02:22
tansellso just move the function to the metaclass?02:22
cherezThat's the idea.02:22
cherezOh, I mean that I'm implementing it now that you reminded me of the metaclass.02:24
cherezAlright, that works.02:25
cherezThanks for setting my brain back on track.02:25
*** nash has quit IRC03:21
*** DTRemenak has joined #tp03:24
*** llnz has joined #tp03:49
llnzGreywhind: please document the multi-client media dir sharing, as I will have some comments on it03:50
Greywhindllnz: doesn't exist yet04:11
Greywhindllnz: i'll talk to you about it tomorrow if you want04:12
llnzGreywhind: that would be good04:13
llnzmedia support in libtpproto-cpp is on my todo list, so I want to know how it's going to happen04:14
llnzgrr... the nv driver is not accelerated at all for this chipset, give me back nouveau!04:39
*** Greywhind has quit IRC04:52
totemorning and im back :)05:36
*** alanp has quit IRC05:42
*** alanp has joined #tp05:43
matthewdtote: Hi! You get my email?05:47
toteye just read it06:01
matthewdEasier to reply in email, or here?06:08
totematthewd: im writing a response, done in a few minutes06:16
llnzbbs, hopefully06:16
*** llnz has quit IRC06:17
totematthewd: u got mail06:22
*** cherez has quit IRC06:24
*** shenki has quit IRC06:24
*** shenki has joined #tp06:25
*** cherez has joined #tp06:25
matthewdOkay... the short answer is, I think you can get there, but it will be pretty tight.06:47
*** llnz has joined #tp07:04
matthewdtote: Do you think it would be a good idea to spend some time breaking down what needs to be done, into 1-2 day chunks?07:06
* llnz wanders off07:12
llnzlater all07:12
*** llnz has quit IRC07:14
totematthewd: maybe, but not sure how to make chunks from: webclient should be able to send orders07:18
totematthewd: basiclly what i can do is work with sending orders and posting a blog post every other day or something07:19
matthewdWell, presumably a good portion of the effort will be in interfacing it, so we could look at sub-goals of getting an interface to send a move order; getting that to actually define the order; loading existing orders; and finally, the generic order-type handling.07:20
totehmm sounds good, not really sure that i can work that way, when i start to write something i tend to follow a path until something works :)07:28
totematthewd: bbl ~1-2h07:51
epyontote: !bbl^fd,~1-2/noon**wg07:52
*** verhoevenv has joined #tp07:53
*** mithro_ has quit IRC07:58
*** mithro_ has joined #tp08:46
CIA-26epyon tpserver-cpp-refactor * r4183362bb111 /tpserver/ (11 files): Removed Frame::setUnpackOffset and getUnpackOffset, couple minor fixes09:39
CIA-26epyon tpserver-cpp-refactor * r88c2b866d7d7 /tpserver/ (frame.cpp frame.h tcpconnection.cpp): Frame: copy constructors and assignment operators are dangerous09:39
CIA-26epyon tpserver-cpp-refactor * rea95440963db /tpserver/ (frame.cpp frame.h playeragent.cpp): PlayerAgent doesn't need createFailFrame, sendFail used instead09:39
*** alanp_ has joined #tp09:59
CIA-26epyon tpserver-cpp-refactor * r689795d74091 /tpserver/ (tcpconnection.cpp tcpconnection.h): TcpConnection can now directly send packable objects10:16
CIA-26epyon tpserver-cpp-refactor * r0378ea41df02 /tpserver/ (tcpconnection.cpp tcpconnection.h): TcpConnection can now directly send OK messages10:16
CIA-26epyon tpserver-cpp-refactor * r664641710fde /tpserver/ (5 files): sendOK and send(packable) used instead of sendFrame10:16
*** bddebian has joined #tp10:23
*** bddebian has quit IRC10:37
*** cherez has quit IRC10:37
*** shenki has quit IRC10:37
*** ezod has quit IRC10:37
*** jmtan has quit IRC10:37
*** mhilmi has quit IRC10:37
*** Demitar has quit IRC10:37
*** CIA-26 has quit IRC10:37
*** alanp has quit IRC10:37
*** DTRemenak has quit IRC10:37
*** welterde has quit IRC10:37
*** Vadtec_ has quit IRC10:37
*** Vadtec has quit IRC10:37
*** tansell has quit IRC10:37
*** edison has quit IRC10:37
*** mithro_ has quit IRC10:37
*** verhoevenv has quit IRC10:37
*** Linkadmin has quit IRC10:37
*** JLP has quit IRC10:37
*** epyon has quit IRC10:37
*** Landon has quit IRC10:37
*** tote has quit IRC10:37
*** matthewd has quit IRC10:37
*** zzorn has quit IRC10:37
*** Linkadmin has joined #tp10:48
*** verhoevenv has joined #tp10:48
*** bddebian has joined #tp10:48
*** mithro_ has joined #tp10:48
*** cherez has joined #tp10:48
*** shenki has joined #tp10:48
*** alanp has joined #tp10:48
*** DTRemenak has joined #tp10:48
*** jmtan has joined #tp10:48
*** JLP has joined #tp10:48
*** tansell has joined #tp10:48
*** CIA-26 has joined #tp10:48
*** Vadtec_ has joined #tp10:48
*** epyon has joined #tp10:48
*** welterde has joined #tp10:48
*** ezod has joined #tp10:48
*** tote has joined #tp10:48
*** mhilmi has joined #tp10:48
*** Vadtec has joined #tp10:48
*** zzorn has joined #tp10:48
*** edison has joined #tp10:48
*** Demitar has joined #tp10:48
*** Landon has joined #tp10:48
*** matthewd has joined #tp10:48
*** alanp_ has quit IRC11:13
*** Greywhind has joined #tp13:19
*** alanp_ has joined #tp13:35
*** alanp_ has quit IRC15:26
*** verhoevenv has quit IRC15:48
*** llnz has joined #tp16:14
*** Greywhind has quit IRC16:17
CIA-26llnz libtpproto-cpp * r825ed0bb61dd /tpproto/ (gamelayer.cpp gamelayer.h):16:27
CIA-26Only trigger GameStatusListener::connected after receiving feature frame and GameInfo frames.16:27
CIA-26As requested by mhilmi, make clients easier and simpler.16:27
*** llnz has quit IRC16:27
*** llnz has joined #tp16:32
llnzepyon: ping?16:40
*** bddebian has quit IRC16:55
llnz~seen epyon16:57
tpbllnz: epyon was last seen in #tp 9 hours, 4 minutes, and 49 seconds ago: <epyon> tote: !bbl^fd,~1-2/noon**wg16:57
mhilmihey llnz, thanks for that update17:02
mhilmigonna build it now...17:02
llnzmhilmi: no problem17:03
llnzi forgot last night to do it, trying to fix nouveau driver, etc17:04
mhilmitrying to figure out the strangest bug... for some reason when I spawn a KDE message box, it changes the clock variable that it has nothing to do with, for no particular reason lol17:05
*** verhoevenv has joined #tp17:38
*** Linkadmin has quit IRC17:44
epyonllnz: pong!18:10
llnzhi epyon18:18
llnzdid you see my message to you on irc a couple of days ago?18:19
tpb<> (at
llnzif you have installed tpserver-cpp, you might need to manually remove the headers that you have removed from the codebase from the install location18:20
*** Greywhind has joined #tp18:54
epyonllnz: noted19:11
*** nash has joined #tp19:13
*** nash1 has joined #tp19:13
*** nash has quit IRC19:13
*** nash1 is now known as nash19:13
epyonllnz: could you tell me more about ObjectView setGone/isGone, and how to... get rid of it? :>19:23
llnzObjectView::isGone is used to tell when the object has "gone away" and is no longer visible19:25
epyonwhy is it needed?19:25
llnzbecause, the id and timestamp are needed in the ObjectIdsList frame, but when the Object itself is requested, it should return a isGone fail frame19:27
epyoncould you double check? I'm having a problem with it, because no other view needs it19:28
*** verhoevenv has quit IRC19:30
llnzobjectview.cpp, line 56 (in master)19:32
llnzif(gone || (completelyvisible && (object == NULL || !object->isAlive()))){19:32
llnz       frame->createFailFrame(fec_NonExistant, "No such object");19:32
epyonWell I know that :P19:32
epyonI know all the code places where it is used, but I wonder how to get rid of it19:32
epyonespecially in playerview19:33
llnzyou can't it's needed for Fog of War, for example19:33
epyonThis part in particular:19:34
epyon     if((fromtime == UINT64_NEG_ONE && !(obj->isGone())) || obj->getModTime() > fromtime){19:34
epyon        objects.modified[*itcurr] = obj->getModTime();19:34
epyon      }19:34
CIA-26epyon tpserver-cpp-refactor * rb93fd64a1bb0 /modules/games/ (10 files in 2 dirs): Removed non-existant result.h includes19:35
CIA-26epyon tpserver-cpp-refactor * rdf49c642072b /tpserver/ordermanager.h: Include fix19:35
CIA-26epyon tpserver-cpp-refactor * rb6bbc565742c /modules/games/tae/ (attack.cpp colonize.cpp move.cpp reinforce.cpp): Removed obsolete objectorderparameter includes19:35
epyonBTW, why doesn't tpserver-cpp use libtpproto-cpp??19:36
llnzbecause libtpproto-cpp is a client side library,19:36
llnzit's like libtpproto-cpp and libtpclient-cpp rolled into one19:36
epyonhmm, shouldn't there be a protocol library for use of both client and server? It would drastically ease the development...19:39
llnzto answer your earlier question, you could remove "&& !(obj->isGone())", but the clients will be slightly less efficient19:39
epyonllnz: can I, can I? It would be a BIG plus for readability...19:39
llnzepyon: well, libtpproto-cpp only allows one connection, and only implements the client end of the protocol (ie, it can't pack an OK frame, for example)19:40
llnzyou could look at breaking that part out into it's own function, specialised from ObjectViews19:42
epyonoh, BTW of frames -- I'd suggest spliting the Frame class into at least InputFrame and OutputFrame. Not only will it make the code look a lot nicer, but it will make coding a lot safer and less error prone19:42
epyonIn the long run, it would be great to split the frame class into transparent frame type classes, so there's a level of abstraction of the protocol19:43
* llnz goes back to beating his head again CInternetException and other afxinet fun (not)19:43
llnzepyon: have a look at the libaray documentation:19:44
tpb<> (at
epyonExceptions are a big must. All frame errors should throw exceptions -- now the bool return values are mostly ignored, so a bad frame might blow the server up19:44
llnzi'm at working, stupid MS AFXInet, says its throwing an exception, but I can't catch it19:45
epyonAh :>19:46
llnzi hate MSVC19:46
epyonSorry, assumed you were talking about TP :>19:46
epyonllnz: I don't but it's a matter of taste I guess19:46
epyonYeah, TPProto::FrameFactory would be right at home in tpserver19:47
llnztpserver-cpp is older than libtpproto-cpp by 3 years, iirc19:48
epyonI guessed so19:49
*** mithro_ has quit IRC19:57
CIA-26epyon tpserver-cpp-refactor * r94ac0baa6146 /tpserver/ (playerview.cpp playerview.h): Removal of isGone check in ObjectView GetObjectIds allows for a major cleanup of duplicate code20:01
llnzbtw epyon, not everything works the same way everywhere20:10
llnzthere are good reasons for everything20:10
epyonllnz: yeah, that's why I ask when I have doubts ;)20:10
Landonjmtan: heh, sorry if you've been trying to follow my blog psots lately20:41
Landonforgot they weren't pre-parsed by anything :\20:41
Landon(and subsequently, were big run on posts)20:42
*** Linkadmin has joined #tp20:59
CIA-26epyon tpserver-cpp-refactor * r904600d98d3b /tpserver/ (5 files):21:18
CIA-26Modlist packing simplified21:18
CIA-26* ObjectTypeManager now returns Modlist to PlayerAgent21:18
CIA-26* TcpConnection has sendModList21:18
CIA-26* PlayerAgent updated with sendModList21:18
CIA-26epyon tpserver-cpp-refactor * r02509ec2f191 /tpserver/ (playeragent.cpp tcpconnection.cpp): GetObjectIdsByContainer uses sendModList21:45
*** tansell has quit IRC22:06
*** jmtan has quit IRC22:21
CIA-26alanp tpserver-cpp-mtsec * rd20798d243cb /modules/games/mtsec/ (6 files): Changed name of Build class.22:41
CIA-26alanp tpserver-cpp-mtsec * rd2a0df1069ce /modules/games/mtsec/ (14 files):22:41
CIA-26I apologize for the large commit, I will work harder on making smaller, atomic commits in the future. Breakdown:22:41
CIA-26- Added Load Armament Order22:41
CIA-26- Added Unload Armament Order22:41
CIA-26- Added Resources to Fleet class22:41
CIA-26- Create a missile design by default in mtsec.cpp22:41
CIA-26- Added the build weapon planet order22:41
tansell-laptopalanp, so other people should be able to test now?22:47
alanpyeah, my load/unload are kind of hackish22:48
alanpbrb, need to bring laundry down22:48
Greywhindtansell-laptop: so i think most of the media stuff is going pretty well22:53
Greywhindi'd like your input on how to go about making it multi-instance safe though22:54
Greywhindi still haven't come up with much other than the "lock file" idea22:54
Greywhindllnz said he'd be interested in talking about this too - wonder if he's around22:54
llnzyes, sort of22:54
Greywhindi guess we can talk after i get some dinner, since you both seem to be busy at the moment.23:09
*** tansell-laptop has quit IRC23:26
*** tansell-laptop has joined #tp23:36

Generated by 2.17.2 by Marius Gedminas - find it at!