*** tpb has joined #tp | 00:00 | |
*** ChanServ sets mode: +o tpb | 00:00 | |
*** tansell-laptop has joined #tp | 00:14 | |
*** Linkadmin has quit IRC | 00:15 | |
tansell | alanp, not really | 00:35 |
---|---|---|
tansell | alanp, so you have an economy now? | 00:35 |
tansell | you can build ships? | 00:35 |
alanp | yeah | 00:35 |
tansell | you can build torpedos and load/unload them? | 00:35 |
alanp | so far so good, but they only load as resources | 00:35 |
alanp | you can get the properties from the associated design i guess | 00:35 |
alanp | for combat purposes | 00:36 |
tansell | alanp, hrm? | 00:36 |
alanp | you create a missile design | 00:36 |
tansell | properties from the associated design? | 00:36 |
alanp | well | 00:36 |
alanp | sorry, i meant component from the associated design | 00:37 |
alanp | 1 sec | 00:37 |
alanp | you load a resoure of "missile of design X" | 00:37 |
alanp | 1) build new missile design | 00:37 |
alanp | 2) in "build weapon" a new resource type is created | 00:38 |
alanp | 3) planet shows "I have one resource of 'alanp missile'" | 00:38 |
alanp | 4) load missile resource onto ship | 00:38 |
alanp | probably more clear explaining it like that | 00:38 |
llnz | bbl | 00:42 |
*** llnz has quit IRC | 00:42 | |
tansell | alanp, can you unload the weapons to another planet? | 00:42 |
alanp | i haven't created that order yet, but it wont be a problem at all | 00:43 |
alanp | ie: i can have it done tonight | 00:43 |
alanp | should be pretty simple, just a removeResource and addResource | 00:43 |
alanp | combined with populating a list | 00:43 |
tansell | and it works even if you build two types of missiles in the same class? | 00:48 |
alanp | in the same order? or two of the same missiles? | 00:48 |
alanp | i can build 20 "alanp missiles" in one order | 00:48 |
*** jmtan has quit IRC | 00:49 | |
tansell | IE two alpha torpedos | 00:50 |
alanp | yes | 00:50 |
alanp | brb | 00:56 |
*** Linkadmin has joined #tp | 01:08 | |
alanp | dude, get a real connection to the internet | 01:11 |
*** jnengland77 has quit IRC | 01:15 | |
*** cherez has quit IRC | 01:23 | |
*** shenki has quit IRC | 01:23 | |
*** jmtan has joined #tp | 01:25 | |
*** cherez has joined #tp | 01:28 | |
*** shenki has joined #tp | 01:28 | |
cherez | tansell: Ping? | 02:15 |
tansell | cherez, pong | 02:15 |
cherez | tansell: 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 |
cherez | That... seems like a bad design to me. | 02:18 |
tansell | ? | 02:18 |
cherez | Packet's have an xstruct property that returns their xstruct format string. | 02:18 |
tansell | yes | 02:19 |
cherez | But because it's a property, you have to have an instance of the Packet to access it. | 02:19 |
tansell | which is entirely determined by the Packet's class | 02:19 |
tansell | you want a class property | 02:19 |
cherez | Is there such a thing? | 02:20 |
tansell | sure | 02:20 |
tansell | classes are instances of a class too :) | 02:21 |
tansell | so you can either use a metaclass | 02:21 |
tansell | or you can just use @classmethod and @property | 02:21 |
tansell | (but they are a bit tricky to get working correctly together) | 02:22 |
cherez | I was trying the latter, but Packet already has a metaclass. | 02:22 |
cherez | No idea how that slipped my mind. | 02:22 |
tansell | so just move the function to the metaclass? | 02:22 |
cherez | That's the idea. | 02:22 |
tansell | but? | 02:23 |
cherez | Oh, I mean that I'm implementing it now that you reminded me of the metaclass. | 02:24 |
cherez | Alright, that works. | 02:25 |
cherez | Thanks for setting my brain back on track. | 02:25 |
*** nash has quit IRC | 03:21 | |
*** DTRemenak has joined #tp | 03:24 | |
*** llnz has joined #tp | 03:49 | |
llnz | Greywhind: please document the multi-client media dir sharing, as I will have some comments on it | 03:50 |
Greywhind | llnz: doesn't exist yet | 04:11 |
Greywhind | llnz: i'll talk to you about it tomorrow if you want | 04:12 |
llnz | Greywhind: that would be good | 04:13 |
Greywhind | ok | 04:13 |
llnz | media support in libtpproto-cpp is on my todo list, so I want to know how it's going to happen | 04:14 |
llnz | grr... the nv driver is not accelerated at all for this chipset, give me back nouveau! | 04:39 |
*** Greywhind has quit IRC | 04:52 | |
tote | morning and im back :) | 05:36 |
*** alanp has quit IRC | 05:42 | |
*** alanp has joined #tp | 05:43 | |
matthewd | tote: Hi! You get my email? | 05:47 |
tote | ye just read it | 06:01 |
matthewd | Easier to reply in email, or here? | 06:08 |
tote | matthewd: im writing a response, done in a few minutes | 06:16 |
llnz | bbs, hopefully | 06:16 |
*** llnz has quit IRC | 06:17 | |
tote | matthewd: u got mail | 06:22 |
*** cherez has quit IRC | 06:24 | |
*** shenki has quit IRC | 06:24 | |
*** shenki has joined #tp | 06:25 | |
*** cherez has joined #tp | 06:25 | |
matthewd | Okay... the short answer is, I think you can get there, but it will be pretty tight. | 06:47 |
*** llnz has joined #tp | 07:04 | |
matthewd | tote: 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 off | 07:12 | |
llnz | later all | 07:12 |
*** llnz has quit IRC | 07:14 | |
tote | matthewd: maybe, but not sure how to make chunks from: webclient should be able to send orders | 07:18 |
tote | matthewd: basiclly what i can do is work with sending orders and posting a blog post every other day or something | 07:19 |
matthewd | Well, 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 |
tote | hmm 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 |
tote | matthewd: bbl ~1-2h | 07:51 |
epyon | tote: !bbl^fd,~1-2/noon**wg | 07:52 |
*** verhoevenv has joined #tp | 07:53 | |
*** mithro_ has quit IRC | 07:58 | |
*** mithro_ has joined #tp | 08:46 | |
CIA-26 | epyon tpserver-cpp-refactor * r4183362bb111 /tpserver/ (11 files): Removed Frame::setUnpackOffset and getUnpackOffset, couple minor fixes | 09:39 |
CIA-26 | epyon tpserver-cpp-refactor * r88c2b866d7d7 /tpserver/ (frame.cpp frame.h tcpconnection.cpp): Frame: copy constructors and assignment operators are dangerous | 09:39 |
CIA-26 | epyon tpserver-cpp-refactor * rea95440963db /tpserver/ (frame.cpp frame.h playeragent.cpp): PlayerAgent doesn't need createFailFrame, sendFail used instead | 09:39 |
*** alanp_ has joined #tp | 09:59 | |
CIA-26 | epyon tpserver-cpp-refactor * r689795d74091 /tpserver/ (tcpconnection.cpp tcpconnection.h): TcpConnection can now directly send packable objects | 10:16 |
CIA-26 | epyon tpserver-cpp-refactor * r0378ea41df02 /tpserver/ (tcpconnection.cpp tcpconnection.h): TcpConnection can now directly send OK messages | 10:16 |
CIA-26 | epyon tpserver-cpp-refactor * r664641710fde /tpserver/ (5 files): sendOK and send(packable) used instead of sendFrame | 10:16 |
*** bddebian has joined #tp | 10:23 | |
bddebian | Heya | 10:24 |
*** bddebian has quit IRC | 10:37 | |
*** cherez has quit IRC | 10:37 | |
*** shenki has quit IRC | 10:37 | |
*** ezod has quit IRC | 10:37 | |
*** jmtan has quit IRC | 10:37 | |
*** mhilmi has quit IRC | 10:37 | |
*** Demitar has quit IRC | 10:37 | |
*** CIA-26 has quit IRC | 10:37 | |
*** alanp has quit IRC | 10:37 | |
*** DTRemenak has quit IRC | 10:37 | |
*** welterde has quit IRC | 10:37 | |
*** Vadtec_ has quit IRC | 10:37 | |
*** Vadtec has quit IRC | 10:37 | |
*** tansell has quit IRC | 10:37 | |
*** edison has quit IRC | 10:37 | |
*** mithro_ has quit IRC | 10:37 | |
*** verhoevenv has quit IRC | 10:37 | |
*** Linkadmin has quit IRC | 10:37 | |
*** JLP has quit IRC | 10:37 | |
*** epyon has quit IRC | 10:37 | |
*** Landon has quit IRC | 10:37 | |
*** tote has quit IRC | 10:37 | |
*** matthewd has quit IRC | 10:37 | |
*** zzorn has quit IRC | 10:37 | |
*** Linkadmin has joined #tp | 10:48 | |
*** verhoevenv has joined #tp | 10:48 | |
*** bddebian has joined #tp | 10:48 | |
*** mithro_ has joined #tp | 10:48 | |
*** cherez has joined #tp | 10:48 | |
*** shenki has joined #tp | 10:48 | |
*** alanp has joined #tp | 10:48 | |
*** DTRemenak has joined #tp | 10:48 | |
*** jmtan has joined #tp | 10:48 | |
*** JLP has joined #tp | 10:48 | |
*** tansell has joined #tp | 10:48 | |
*** CIA-26 has joined #tp | 10:48 | |
*** Vadtec_ has joined #tp | 10:48 | |
*** epyon has joined #tp | 10:48 | |
*** welterde has joined #tp | 10:48 | |
*** ezod has joined #tp | 10:48 | |
*** tote has joined #tp | 10:48 | |
*** mhilmi has joined #tp | 10:48 | |
*** Vadtec has joined #tp | 10:48 | |
*** zzorn has joined #tp | 10:48 | |
*** edison has joined #tp | 10:48 | |
*** Demitar has joined #tp | 10:48 | |
*** Landon has joined #tp | 10:48 | |
*** matthewd has joined #tp | 10:48 | |
*** alanp_ has quit IRC | 11:13 | |
*** Greywhind has joined #tp | 13:19 | |
*** alanp_ has joined #tp | 13:35 | |
*** alanp_ has quit IRC | 15:26 | |
*** verhoevenv has quit IRC | 15:48 | |
*** llnz has joined #tp | 16:14 | |
*** Greywhind has quit IRC | 16:17 | |
CIA-26 | llnz libtpproto-cpp * r825ed0bb61dd /tpproto/ (gamelayer.cpp gamelayer.h): | 16:27 |
CIA-26 | Only trigger GameStatusListener::connected after receiving feature frame and GameInfo frames. | 16:27 |
CIA-26 | As requested by mhilmi, make clients easier and simpler. | 16:27 |
llnz | brb | 16:27 |
*** llnz has quit IRC | 16:27 | |
*** llnz has joined #tp | 16:32 | |
llnz | epyon: ping? | 16:40 |
*** bddebian has quit IRC | 16:55 | |
llnz | ~seen epyon | 16:57 |
tpb | llnz: epyon was last seen in #tp 9 hours, 4 minutes, and 49 seconds ago: <epyon> tote: !bbl^fd,~1-2/noon**wg | 16:57 |
mhilmi | hey llnz, thanks for that update | 17:02 |
mhilmi | gonna build it now... | 17:02 |
llnz | mhilmi: no problem | 17:03 |
llnz | i forgot last night to do it, trying to fix nouveau driver, etc | 17:04 |
mhilmi | trying 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 lol | 17:05 |
*** verhoevenv has joined #tp | 17:38 | |
*** Linkadmin has quit IRC | 17:44 | |
epyon | llnz: pong! | 18:10 |
llnz | hi epyon | 18:18 |
llnz | did you see my message to you on irc a couple of days ago? | 18:19 |
llnz | http://www.thousandparsec.net/~irc/logs/%23tp.2009-07-25.log.html#t2009-07-25T21:07:58 | 18:20 |
tpb | <http://ln-s.net/3hvb> (at www.thousandparsec.net) | 18:20 |
llnz | if you have installed tpserver-cpp, you might need to manually remove the headers that you have removed from the codebase from the install location | 18:20 |
*** Greywhind has joined #tp | 18:54 | |
epyon | llnz: noted | 19:11 |
*** nash has joined #tp | 19:13 | |
*** nash1 has joined #tp | 19:13 | |
*** nash has quit IRC | 19:13 | |
*** nash1 is now known as nash | 19:13 | |
epyon | llnz: could you tell me more about ObjectView setGone/isGone, and how to... get rid of it? :> | 19:23 |
llnz | ObjectView::isGone is used to tell when the object has "gone away" and is no longer visible | 19:25 |
epyon | why is it needed? | 19:25 |
llnz | because, the id and timestamp are needed in the ObjectIdsList frame, but when the Object itself is requested, it should return a isGone fail frame | 19:27 |
llnz | iirc | 19:27 |
epyon | could you double check? I'm having a problem with it, because no other view needs it | 19:28 |
*** verhoevenv has quit IRC | 19:30 | |
llnz | objectview.cpp, line 56 (in master) | 19:32 |
llnz | if(gone || (completelyvisible && (object == NULL || !object->isAlive()))){ | 19:32 |
llnz | frame->createFailFrame(fec_NonExistant, "No such object"); | 19:32 |
epyon | Well I know that :P | 19:32 |
epyon | I know all the code places where it is used, but I wonder how to get rid of it | 19:32 |
epyon | especially in playerview | 19:33 |
llnz | you can't it's needed for Fog of War, for example | 19:33 |
epyon | This 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-26 | epyon tpserver-cpp-refactor * rb93fd64a1bb0 /modules/games/ (10 files in 2 dirs): Removed non-existant result.h includes | 19:35 |
CIA-26 | epyon tpserver-cpp-refactor * rdf49c642072b /tpserver/ordermanager.h: Include fix | 19:35 |
CIA-26 | epyon tpserver-cpp-refactor * rb6bbc565742c /modules/games/tae/ (attack.cpp colonize.cpp move.cpp reinforce.cpp): Removed obsolete objectorderparameter includes | 19:35 |
epyon | BTW, why doesn't tpserver-cpp use libtpproto-cpp?? | 19:36 |
llnz | because libtpproto-cpp is a client side library, | 19:36 |
llnz | it's like libtpproto-cpp and libtpclient-cpp rolled into one | 19:36 |
epyon | hmm, shouldn't there be a protocol library for use of both client and server? It would drastically ease the development... | 19:39 |
llnz | to answer your earlier question, you could remove "&& !(obj->isGone())", but the clients will be slightly less efficient | 19:39 |
epyon | llnz: can I, can I? It would be a BIG plus for readability... | 19:39 |
llnz | epyon: 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 |
llnz | sure | 19:41 |
llnz | you could look at breaking that part out into it's own function, specialised from ObjectViews | 19:42 |
epyon | oh, 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 prone | 19:42 |
llnz | s/from/for/ | 19:42 |
epyon | In 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 protocol | 19:43 |
* llnz goes back to beating his head again CInternetException and other afxinet fun (not) | 19:43 | |
llnz | epyon: have a look at the libaray documentation: | 19:44 |
llnz | http://www.thousandparsec.net/tp/dev/documents/libtpproto-cpp/html/ | 19:44 |
tpb | <http://ln-s.net/34uA> (at www.thousandparsec.net) | 19:44 |
epyon | Exceptions 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 up | 19:44 |
llnz | i'm at working, stupid MS AFXInet, says its throwing an exception, but I can't catch it | 19:45 |
epyon | Ah :> | 19:46 |
llnz | i hate MSVC | 19:46 |
epyon | Sorry, assumed you were talking about TP :> | 19:46 |
llnz | nope | 19:46 |
epyon | llnz: I don't but it's a matter of taste I guess | 19:46 |
epyon | Yeah, TPProto::FrameFactory would be right at home in tpserver | 19:47 |
llnz | tpserver-cpp is older than libtpproto-cpp by 3 years, iirc | 19:48 |
epyon | I guessed so | 19:49 |
*** mithro_ has quit IRC | 19:57 | |
CIA-26 | epyon tpserver-cpp-refactor * r94ac0baa6146 /tpserver/ (playerview.cpp playerview.h): Removal of isGone check in ObjectView GetObjectIds allows for a major cleanup of duplicate code | 20:01 |
llnz | btw epyon, not everything works the same way everywhere | 20:10 |
llnz | there are good reasons for everything | 20:10 |
epyon | llnz: yeah, that's why I ask when I have doubts ;) | 20:10 |
Landon | jmtan: heh, sorry if you've been trying to follow my blog psots lately | 20:41 |
Landon | forgot they weren't pre-parsed by anything :\ | 20:41 |
Landon | (and subsequently, were big run on posts) | 20:42 |
*** Linkadmin has joined #tp | 20:59 | |
CIA-26 | epyon tpserver-cpp-refactor * r904600d98d3b /tpserver/ (5 files): | 21:18 |
CIA-26 | Modlist packing simplified | 21:18 |
CIA-26 | * ObjectTypeManager now returns Modlist to PlayerAgent | 21:18 |
CIA-26 | * TcpConnection has sendModList | 21:18 |
CIA-26 | * PlayerAgent updated with sendModList | 21:18 |
CIA-26 | epyon tpserver-cpp-refactor * r02509ec2f191 /tpserver/ (playeragent.cpp tcpconnection.cpp): GetObjectIdsByContainer uses sendModList | 21:45 |
*** tansell has quit IRC | 22:06 | |
*** jmtan has quit IRC | 22:21 | |
CIA-26 | alanp tpserver-cpp-mtsec * rd20798d243cb /modules/games/mtsec/ (6 files): Changed name of Build class. | 22:41 |
CIA-26 | alanp tpserver-cpp-mtsec * rd2a0df1069ce /modules/games/mtsec/ (14 files): | 22:41 |
CIA-26 | I 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 Order | 22:41 |
CIA-26 | - Added Unload Armament Order | 22:41 |
CIA-26 | - Added Resources to Fleet class | 22:41 |
CIA-26 | - Create a missile design by default in mtsec.cpp | 22:41 |
CIA-26 | - Added the build weapon planet order | 22:41 |
tansell-laptop | alanp, so other people should be able to test now? | 22:47 |
alanp | yeah, my load/unload are kind of hackish | 22:48 |
alanp | :( | 22:48 |
alanp | brb, need to bring laundry down | 22:48 |
Greywhind | tansell-laptop: so i think most of the media stuff is going pretty well | 22:53 |
tansell-laptop | okay | 22:53 |
Greywhind | i'd like your input on how to go about making it multi-instance safe though | 22:54 |
Greywhind | i still haven't come up with much other than the "lock file" idea | 22:54 |
Greywhind | llnz said he'd be interested in talking about this too - wonder if he's around | 22:54 |
llnz | yes, sort of | 22:54 |
Greywhind | i 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 IRC | 23:26 | |
*** tansell-laptop has joined #tp | 23:36 |
Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!