#bitfighter IRC Log

Index Search ←Prev date Next date→

IRC Log for 2013-01-03

Timestamps are in GMT/BST.

00:02:53Watusimototoo tired to think
00:05:01raptorok, well, i'm off for a bit - i'm going to experiment with changing where the motd comes from as a first move to redoing the menus..
00:05:28kodaand i'll be going to sleep
00:05:30kodagood night
00:05:37raptornight!
00:05:43raptorthanks koda
00:14:33raptor Quit ()
00:41:32amgine1234567890 has joined
00:41:39amgine1234567890hi
00:41:53amgine1234567890sorry ive been gone anthing new?
01:11:38Watusimoto Quit (Ping timeout: 276 seconds)
01:25:42amgine1234567890 Quit (Ping timeout: 245 seconds)
02:18:51YoshiSmb has joined
02:19:03YoshiSmbhi
02:26:01bobdaduck has joined
02:26:34bobdaduck Quit (Client Quit)
04:23:20kaen has joined
04:23:31YoshiSmbhi
04:23:45YoshiSmbWelcome to the IRC chat Kaen
04:24:20kaenhello and thank you.
04:24:32YoshiSmbnp
04:25:02kaenI periodically have to remove and reinsert my wifi card...
04:25:13kaenit ceases to function about every 6 hours...
04:28:30YoshiSmbWifi?
04:28:36YoshiSmbWireless?
04:31:24YoshiSmb(waiting responce)
04:38:33kaencorrect.
04:43:47YoshiSmbahhh.
04:43:52YoshiSmbi use Wifi also
04:44:11YoshiSmbbut only i can connect to only 1 server
05:11:31YoshiSmb_ has joined
05:13:46YoshiSmb Quit (Ping timeout: 248 seconds)
05:20:04YoshiSmb_ Quit (Ping timeout: 240 seconds)
05:30:32Fordcars has joined
05:36:57Fordcars Quit (Ping timeout: 245 seconds)
07:02:46kodaws has joined
07:09:22kodaws Quit (Ping timeout: 255 seconds)
08:31:31kodaws has joined
09:14:51watusimoto has joined
09:14:51ChanServ sets mode +o watusimoto
09:33:08kaenI reported some spam on the forum, watusimoto
09:33:31watusimotohi
09:33:37kaenhi
09:33:48watusimotowe haven't had spam on the forum for a while
09:33:52kaen(insert timezone appropriate greeting here)
09:34:02kaenyeah I was surprised.
09:34:06kaenit's only three posts.
09:34:07watusimotoor were you reporting spam that you recieved on your home machine so we'd all be aware? :-)
09:34:20kaenhaha
09:34:27kaen:)
09:34:33watusimotowhere are you located?
09:34:42kaenwashington state
09:34:53watusimotothen you're up very early/late
09:35:00kaenI just woke up
09:35:02watusimotoI'm from Oregon myself, though living in Luxembourg
09:35:08kaenI work in a few hours
09:35:15kaenoh wow that's cool!
09:35:19watusimotowhere in WA?
09:36:00kaenon the coast, just a bit south of Seattle
09:36:05watusimotonice
09:36:13watusimotothe WA/OR coast is very nice
09:36:19watusimotovery very nice
09:36:41kaenI really like it. I used to live on the other side of the state/mountains
09:36:42watusimotoI live(d) in Portland, but try to get out to the ocean at least once a year
09:36:57kaenI really like Portland
09:37:02watusimotoit's a great place
09:37:27watusimotoI miss it a lot
09:43:40watusimotoat some point, we'll make it a requirement to have played a game of bitfighter to get a forums account. Then we can get rid of the captcha altogether and be totally spam free. It would be a very easy mod to make, but no one has ever been motivated enough to do it.
09:43:53watusimotoit spam becomes a problem again, I might become so motivated.
09:44:23watusimoto(unless the spammers start writing bots to play bitfighter, but I would argue that might be a positive development :-)
11:18:15kodawsor unless spammers spammed about bitfighter :p
12:20:01Darrel has joined
14:33:31Watusimoto_ has joined
15:55:04LordDVG has joined
15:55:08Watusimoto_ Quit (Ping timeout: 264 seconds)
16:41:05bobdaduck has joined
16:41:09bobdaduckSup]
17:54:02bobdaduck Quit (Ping timeout: 245 seconds)
17:56:08kodaws Quit (Ping timeout: 272 seconds)
18:00:14watusimoto Quit (Ping timeout: 240 seconds)
18:28:29raptor has joined
18:28:30ChanServ sets mode +o raptor
18:28:46raptorhello
18:29:00raptorthis message brought to you from my work computer
18:29:08raptor weeps for the loss of vacation
18:45:14Watusimoto has joined
18:52:41kaenraptor, is there anything you need me to do to the cmake patch?
18:53:00kaenI don't mean to be a broken record, but I've found it very useful in my skunkworks clones :)
18:53:15raptorhi kaen
18:53:21kaenhi raptor
18:53:25kaengood morning (?)
18:53:36raptoryes (I am on Mountain Standard Time)
18:53:44kaenso just barely
18:54:37raptori think the cmake patch is good - although does it work for Linux only at the moment?
18:55:07raptorLike, could it be adapted for mingw? (not needed now, but just curious)
18:55:31kaenI have no idea, and I'm not familiar with mingw. But I'll look into it
18:55:55kaenI'm pretty sure that's the idea of cmake, (cross platform make)
18:56:38kaenI imagine at the least I'll need to collect the FindFoo plugins for the libraries we depend on, which are responsible for finding include paths and linker flags for different platforms
18:57:01raptoroh wait, those are not included?
18:57:07kaenand when I say collect, I mean write
18:57:20kaennot for most of the libraries
18:57:27kaenSDL is, GL probably is
18:57:29raptorwhich ones do you think? (aren't most of those in the standard cmake distribution?)
18:57:33kaenI had to write one for mysqlclient
18:57:50kaenevery dynamically linked library except the two I mentioned
18:57:50raptorah, for master...
18:58:08raptorso libpng, openal-soft, etc..
18:58:27kaenright now I'm actually just passing the lib names to cmake, and it's just doing very naive per-platform translation
18:58:33kaenand yes, that's correct
18:59:38raptoryou don't think cmake's built-in library finding is good enough? (maybe I don't understand cmake correctly - doesn't it have automatic library look-up on each platform?)
18:59:53raptorso you could just say look for 'png'
19:00:04raptorand on windows it scours for libpng.dll
19:00:10raptoron linux, libpng.so.?
19:00:17kaenthat's what it does now
19:00:27raptorok
19:00:31raptorand it needs to be better?
19:00:46kaenmaybe not needs
19:00:46raptorbecause that seems OK to me... :)
19:01:26kaenokay, I just found cmake modules for png and openal
19:01:34kaenhere's and example of a line from the png one:
19:01:34kaenset(PNG_NAMES ${PNG_NAMES} png libpng png15 libpng15 png15d libpng15d png14 libpng14 png14d libpng14d png12 libpng12 png12d libpng12d)
19:01:51kaenhere it's listing all the crazy png lib names that people have found across platforms
19:01:57kaenours just looks for 'png' right now
19:02:14kaenI guess they're not that crazy; but I didn't think of them
19:02:35raptorbut even just using 'png' cmake is smart enough to look for the 'lib' and stuff, right?
19:02:42kaenright
19:03:01kaenbut if someones system for some crazy reason has libpng15d instead, and no symlink
19:03:03kaenours would fail
19:03:14raptorah - well, then...
19:03:18raptorstinks to be them?
19:03:19raptor:)
19:03:21kaenheh
19:03:27kaenbut like I said just found two
19:03:40kaenpeople have likely written some already for vorbis and whatever else is left
19:03:41raptorone constraint that might matter - i think we require libpng14 or greater
19:03:53kaenah, good to know
19:04:03raptoractually, i think vorbis is included with the cmake install..
19:04:12kaenwe can codify those version requirements into the cmake files I believe
19:04:22raptorlook at /usr/share/cmake/Modules/
19:04:35kaenmine's pretty slim
19:04:41raptorreally?
19:04:56raptormine has 159
19:05:04kaendoesn't have ov for sure
19:05:15raptorah, but i'm using cmake 2.8.8
19:05:16kaen37
19:05:20kaen2.6 here
19:05:24raptorok
19:05:37raptori'd first look at the latest cmake release for the modules...
19:05:48raptorbecause it seems like they have really ballooned
19:05:52kaenwill do
19:06:07raptoryep, infact PNG is there: /usr/share/cmake/Modules/FindPNG.cmake
19:07:44raptorha!: here is their git repo of the modules: http://cmake.org/gitweb?p=cmake.git;a=tree;f=Modules;h=f1c559597aa4644540d678c95a993f90fac5e149;hb=HEAD
19:08:06raptoropenal is there, too
19:08:37kaenI was looking so hard for that...
19:09:01raptor:)
19:09:15kaenmingw uses pthreads too, right?
19:10:02kaenmore to the point, how cross-platform is linking to pthreads?
19:10:12raptori think...
19:10:14raptorhmmm
19:10:18kaenholy crap there's thread module
19:10:20kaen..
19:10:24kaenI love cmake so much
19:10:25raptorcool!
19:10:27raptorheh
19:10:39BFLogBot Commit: 69837124468d | Author: watusimoto | Message: Fix editor crash
19:10:52raptori think it's basically pthreads on everything but windows..
19:11:04kaenlol cmake can find us a threading library on iris
19:11:06kaenirix*
19:11:14raptorha!
19:12:07raptorwait cmake uses lowercase control blocks now?
19:12:14raptorSO ITS NOT YELLING AT YOU?
19:12:51kaennow that I think about it, that code hasn't had a final combing yet...
19:13:05kaen checks to see if he mixed case styles
19:14:11kaenwell at least it's all lowercase.
19:14:18Darrel Quit (Read error: Connection reset by peer)
19:14:25kaenI feel like that's still bad cmake style.
19:15:52kaenapparently it's the new good cmake style
19:15:57kaencool.
19:16:08raptorheh
19:16:12raptorwell whatever
19:16:18raptorso 2.6+ then?
19:16:23raptorthen you can include any missing modules
19:16:36kaenyep
19:17:11raptorWatusimoto: to what extent have we decided to break this release? err, i mean fix bugs and add minor features
19:17:21Watusimotohi
19:17:30raptorhello
19:17:41WatusimotoI'm focusing on fixing bugs and such; I want to get this release out quickly
19:17:44sam686hi
19:17:46raptorok
19:17:48raptorhi sam686
19:17:57Watusimotobecause there are lots of fixes in it
19:18:00raptorso i shouldn't start ripping apart menu stuff...
19:18:03raptorok
19:18:20Watusimotoah, how quickly can you put it back together?
19:18:38raptorwell... i start school on monday so probably not too quickly..
19:18:48raptorunless i get an adrenaline rush
19:19:16Watusimotoof course, if you don;t check it in, or do it in a branch, there will be no problem, eh?
19:20:58raptorright!
19:22:24Watusimotoso there you go!
19:22:52raptorso now, in what format you i put the motd? JSON?
19:23:04raptoror leave it as plain text (assuming I am to grab it over HTTP)
19:23:21raptori want to get it right the first time...
19:24:32Watusimotowe could do a couple of things
19:24:46Watusimotomotd currently varies by version number
19:25:12Watusimotoso if we want to continue this hallowed tradition, we need to be able to return different messages for different versions
19:25:23Watusimotowe can do this with a server or with a json file that has all the motds in it
19:25:27Watusimotoor perhaps something else
19:26:18raptorso i think i'd like it to be serialized in a simple format (JSON seems great)
19:27:11raptorthen we could either spit it out from the master server, or use a web service...
19:27:21raptoror start with one and get to the other eventually
19:27:24Watusimotook; ideally, we'd still have an easy way to alter the message, so perhaps we could have a server for that
19:27:52Watusimotowait, so are you thinking we send all messages to all clients, and let the clients sort it out?
19:28:00raptorwhat do you mean 'server for that'?
19:28:03Watusimotoor send different messages tailored to each client?
19:28:36Watusimotooh, I just mean a way to alter the message without logging in, so we can give certain players motd control without giving the keys to the kingdom
19:28:37raptorright now we have an INI section read by the master server server and fed to each client tailored
19:28:41Watusimotonominally the way it works now
19:29:03Watusimotook, so clients will still get the message from the master?
19:29:22Watusimoto(the master.exe process, as opposed to fetching something with http or whatever)
19:29:32raptorthat's what we need to decide - does it make sense to serve it that way for via http? (thinking about the future)
19:29:37raptor*or
19:32:31raptorand, right now - don't *all* master connection RPC calls require authentication?
19:32:48Watusimotoprobably yes; the advantage of http is that we can grab it via port 80; using 25955 (master port) will require some negotiation (are we connecting, or just stopping by for the motd?)
19:32:52raptorand how hard would it be to change that?
19:33:02Watusimotono idea!
19:33:13raptor'probably yes' <-- on which?
19:33:45Watusimotoprobably yes that master rpc calls require authentication, or at least a preexsting connection
19:33:55raptorah
19:34:32Watusimotoso rpc is probably not the right mechanism
19:35:01raptorfor pull-only, it'd be much easier for http; but! we'd have to make sure there was always a webserver running...
19:35:55raptorand, do we have the master server spit out the JSON (after reading it from the INI), or update it manually? Or maybe serve up an INI?
19:35:56BFLogBot Commit: d081be64f7e7 | Author: sam8641 | Message: Fix possible crash.
19:35:59BFLogBot Commit: b8b9dcc02d93 | Author: sam8641 | Message: Fix trying to delete ghosting flag crash; Fix Robot picking up EnergyItem error; Fix MoveItem::unpackUpdate position not working when mounted (dropping flags)
19:36:00BFLogBot Commit: e4969a7ca46a | Author: sam8641 | Message: Fixed to no longer show extra message "dropped a flag" in CTF capture, retrieve, hold the flag, and zone control.
19:36:02BFLogBot Commit: d73cf0441b8f | Author: sam8641 | Message: Finish my work from previous commit.
19:36:03BFLogBot Commit: 69fdf6398dc5 | Author: sam8641 | Message: Merge
19:37:22sam686did you make any other changes other then MountableItem::packUpdate that can break compatibility with 018?
19:38:22sam686the changes to MountableItem::packUpdate seem to be not needed (works on my 018 right before my merge, rev e4969a7ca46a)
19:39:34sam686oh i mean on my (rev d73cf0441b8f )
19:40:41Watusimotohi sam686: The breakage came from rearranging the order of the steps in mountableItem::pack() --> needed to get mMounted set in the right order
19:41:08WatusimotoI'll need to look at your changes to see why that's no longer needed
19:41:40Watusimotoraptor: if we can specify the game version in the request, and respond with an appropriate motd, then json gives us nothing
19:42:20Watusimotojson is only useful if we want to return some structured data
19:42:38Watusimotonow, at master level, it seems we will always have web server running
19:42:44Watusimotoor at least we should
19:43:09Watusimotobut we don't currently have http support in the game
19:43:18Watusimotook, well it's dinner time
19:43:33WatusimotoI'll leave this on and read the chat window when I get back
19:46:16sam686There was a few places I skipped MountableItem::getActualPos by using "MoveObject::getActualPos"...
19:47:11sam686but overall, undoing MountableItem::packUpdate seem to be no problem, but not sure if you made any other unpushed changes that may break 018 compatibility..
19:53:20raptorsam686: we are on 019 now
19:53:40raptorbut watusimoto doesn't want to change too much and wants release soon
19:54:02sam686I can easily make it go back to 018 compatibility as of the latest changes that was pushed..
19:54:28raptorwell, i think you better talk to watusimoto about that...
19:54:36sam686but I can't see any unpushed changes so not sure if I want to push the changes back to 018 yet..
19:55:28raptorWatusimoto: so, should we allow some simple HTTP support in the game as a starter? HTTP can be used with parameters to get the appropriate MOTD
19:56:25raptorwe'd just need to figure out how to serve it server side... could be a simple php file or some other endpoint
19:57:33sam686or maybe just have a PHP do a UDP ping to master as a quick way to get some information, just like client pings servers to get some information..
19:58:08sam686but TCP/HTTP may be better for much bigger data..
20:13:53WatusimotoI'm invisible
20:14:06raptorthat's good to know
20:14:21raptorhi
20:14:26sam686use /nick command?
20:15:25Watusimotoi think there should be a 2nd and 3rd levelcontest badge
20:16:08raptorthe contest! i forgot - i need to put up the 2nd round of voting...
20:16:18Watusimotolike the BBB winners
20:16:43Watusimotodad needs to vote
20:16:50raptortell him to vote!
20:17:14Watusimotoi told him
20:17:31raptorbecause... there are 4 levels with the same number of votes..
20:17:31Watusimotohe wants to do it tonight
20:18:00raptorok, i'll wait until later to start round 2, then
20:19:15Watusimotothe badges should look like the #1 but with a 2 and a 3
20:19:55raptoryou think so>
20:19:57raptor?
20:20:34Watusimotowhat do you meen by ?
20:21:38Watusimotothe ?
20:23:04raptordo you think the badges should only differ by the numbers?
20:23:20Watusimotoperhaps...
20:24:27Watusimotoit would be wierd to have say the walls be another color
20:25:09Watusimotomaybe the numbers?
20:28:28Watusimotothe walls could be gold,silver and bronze??
20:29:32Watusimotoor the numbers
20:39:53Watusimotohi -- the real me is back
20:40:18WatusimotoI've voted
20:41:41Watusimotoraptor: one other idea for motd -- you could go, start the handshake with master, and have a special 'i'm only here for the motd' param; server would return the motd
20:41:49Watusimotoand the connection would be terminated
20:42:00Watusimotothat would be quite easy
20:42:06Watusimotowould happen over port 25955
20:42:59Watusimotoso sam686: I still haven;t looked at your changes, but the nature of the problems you were seeing is that situation we discussed earlier: flag in scope, mount out of scope
20:43:17sam686yes, fixed most of that..
20:43:42Watusimoto- if(mIsMounted)
20:43:42Watusimoto+ if(mMount)
20:43:44Watusimotooops!
20:45:56BFLogBot Commit: af7d013fd4fb | Author: sam8641 | Message: Forgot one thing, properly unmount Nexus Flags on ship killed.
20:46:01raptorok, well, i've decided to stay out of the mount code for a while...
20:50:02Watusimotoraptor: smart
20:50:05Watusimotosam686:
20:50:08Watusimotocould this block:
20:50:09Watusimoto+ NetObject *netObj = connection->resolveGhost(index);
20:50:09Watusimoto+ if(netObj) // could be NULL
20:50:09Watusimoto+ {
20:50:09Watusimoto+ MountableItem *item = static_cast<MountableItem *>(netObj);
20:50:09Watusimoto+ item->mountToShip(this);
20:50:11Watusimoto+ }
20:50:17Watusimotobe written more succintly like this?
20:50:35Watusimoto MountableItem *item = static_cast<MountableItem *>( connection->resolveGhost(index));
20:50:53Watusimotoif(item) item->mountToShip(this);
20:50:54Watusimoto?
20:50:56WatusimotoI think so
20:51:34WatusimotoI'm not sure that going via netObj really does anything, though I agree that a NULL check is needed there
20:52:18sam686possibly, but there may be a risk of static cast adding or subtracting pointer (from a possible NULL) when one class inherent multiple classes..
20:52:37Watusimotoyou can cast a NULL wihtout problem, I believe
20:52:48Watusimotoand still end up with a NULL
20:53:10raptormy level 10 wizard class elf static casts bolt lightning
20:53:27WatusimotoI dynamic cast it and check it for NULL
20:53:32sam686static_cast doesn't check for NULL..
20:53:42Watusimotoyes
20:53:57sam686lets say we have a memory layout. (using one of my old picture) http://sam6.25u.com/bitfighter/class_memory.gif
20:54:08Watusimotobut I think your code and my code both give the same result
20:54:33Watusimotook
20:54:59sam686if we endead have a NULL object, static cast to NexusHuntersObject will have to subtract, cauing a 0xFFFFF300 pointer instead of NULL
20:56:22Watusimotoso you are saying that, in this case static_cast<NexusHuntersObject *>(obj) != obj?
20:56:48sam686while it might be no problems right now (Object and BfObject is a same pointer), some changes to Class memory layout could create a problem
20:56:52Watusimotobecause the static_cast will shift the address to make room for the EditorObject component?
20:57:04sam686yes
20:58:50sam686only dynamic_cast is NULL safe (NULL stays as NULL after dynamic_cast), but can be slower then static_cast..\
20:58:55Watusimotoand, more importantly static_cast<NexusHuntersObject *>(NULL) != NULL
20:58:57Watusimoto?
20:59:36sam686first, what type is NULL?
21:00:13sam686static_cast<NexusHuntersObject *>((Object*)NULL) != NULL could be true depends on memory layout..
21:01:00sam686mostly, can be true when one class inherets multiple classes at once..
21:02:32Watusimotoyes
21:02:33Watusimotohttp://www.codeproject.com/Articles/12935/What-static_cast-is-actually-doing
21:02:40Watusimotoyou are explaining case 2
21:03:48sam686thats about right, yes
21:04:54Watusimotofrom a different article:
21:04:55WatusimotoThe standard indicates that if a null pointer value is being cast that the result will be a null pointer value (5.2.9/8 Static cast).
21:05:10Watusimotoreading first answer here: http://stackoverflow.com/questions/1872571/null-pointer-compatibility-with-static-cast
21:07:22Watusimotosee 4.5 here: http://static.usenix.org/publications/compsystems/1989/fall_stroustrup.pdf
21:07:38Watusimotoright from the horse's mouth, so to speak. But I'm still trying to understand what he is saying :-)
21:07:51sam686maybe I need to test the compiler to see that..
21:10:06Watusimotook, he is saying that static_cast<>(NULL) will always = NULL
21:10:28Watusimotobut I am not sure if he is saying that it must be this way, or just illustrating an issue with a possible solution
21:10:53Watusimotothough is is specifically in the context of multiple inheritance
21:15:46Watusimotook, I read the first few pages of that paper, and he is describing how to implement multiple inheritance in an older version of C++ that did not support it
21:16:23Watusimotoit reveals his thinking, but does not prove that modern C++ works that way
21:17:42raptormodern c++ follows a standard??
21:17:58raptori'm learning loads of new things today...
21:18:14sam686http://sam6.25u.com/upload/text1301/130103_15-01-19.txt I guess it indeed stays at 0x00000000 so I guess the compiler is doing NULL checking after all..
21:19:56sam686and I thought C++ is going for speed and doesn't do NULL check...
21:20:46sam686well at least there isn't a null check slowdown if the pointer doesn't need to adjust offset..
21:21:53Watusimotohe also implies that, in your code, static_cast<aa1*>(c) == static_cast<aa2*>(c) == static_cast<aa3*>(c)
21:22:07Watusimotoand, I think that they all = c
21:22:42sam686apparently only true if NULL because its the compiler adding a NULL check for anything need to offset for conversion..
21:23:09Watusimotowell, that same article suggests that when comparing, the addrs are ajusted
21:23:19Watusimotowould you try that, just for the sake of understanding?
21:23:54Watusimotonot that we need to do that anywhere
21:24:00sam686I did, look at my link of code I pasted..
21:24:19sam686all zero (NULL) when I thought it will be not all zero..
21:26:15Watusimotosorry, I don't see it... I'd like to see the results of this line: printf("%s", static_cast<aa3*>(c) == static_cast<aa2*>(c) ? "Same" : "Not same");
21:28:18sam686printf("%s", static_cast<aa3*>(c) == static_cast<aa2*>(c) ? "Same" : "Not same"); Compiler ERROR!!!
21:28:53Watusimotowhat??
21:29:04sam686printf("%s", (void*)static_cast<aa3*>(c) == (void*)static_cast<aa2*>(c) ? "Same" : "Not same"); works
21:29:24sam686it gave me "same" for NULL, "not same" for non-null..
21:29:36Watusimotook, interesting
21:29:37Watusimotothanks
21:29:57Watusimotook, so I'll revert your change, but insert a NULL check
21:30:06Watusimotoif you don't object
21:30:06sam686ok
21:30:30Watusimotothis was very interesting for me -- I definitely learned some new stuff
21:31:03raptoroutput from the Linux world: http://pastie.org/5618002
21:31:37sam686i guess your linux "%p" actually prints "(nil)"..
21:32:39Watusimotook, now back to looking at your fixes for the real problems!
21:33:19WatusimotoI have to say, that this conversation would have been (much) easier on github
21:33:35YoshiSmb has joined
21:33:37raptorplease elaborate
21:34:28sam686is there a hghub.com?
21:34:32WatusimotoI could have inserted comments directly into sam686's commit; he could have responded in line, and then posted his sample code as a <what do they call it? gist?> where I could have commented on individual lines and so on
21:34:42YoshiSmbhi
21:35:07Watusimotohi
21:35:09Watusimotolooks like no
21:35:15Watusimotono hghub :-)
21:35:29sam686hi
21:35:59raptorit's called bitbucket
21:36:06WatusimotoAt work, I made a major contribution to a big opensource project, and we had lots of conversation "in the code" about problems and potential fixes
21:36:17raptoroh yeah, how did that go?
21:36:25Watusimotomerged into the main project!
21:36:26sam686take a look at game::cmeanUp() there is quite a lot of comments there...
21:37:12YoshiSmb_ has joined
21:37:19sam686Game::cleanUp() i mean..
21:37:24Watusimotoyes, but what I'm talking about is different
21:37:36Watusimotothey are not actually in the .cpp file, but rather, in the repository
21:38:14WatusimotoI make a comment, you get an email, and can reply to the email or go back to github to insert your comments directly
21:38:21Watusimotothe source isn't modified
21:38:24sam686only small problem, how easily can you read the comments if it is not in .cpp file?
21:38:31Watusimotoon github.com
21:38:33raptorsocial coding
21:38:36Watusimotoit really is
21:38:44WatusimotoI never understood that term until this week
21:38:57YoshiSmb Quit (Ping timeout: 252 seconds)
21:39:05WatusimotoI also think I like git a little better than hg
21:39:13sam686another problem may be, I mostly never used git / github before...
21:39:20Watusimotothough not enough that I would suggest switching for the sake of it
21:39:31Watusimotogit and mercurial are very similar
21:39:38Watusimotogithub and google code are very different
21:40:05Watusimotothe main advantage that I see is not git vs mercurial, but the environment surrounding it
21:40:20YoshiSmb_ is now known as YoshiSmb
21:40:31Watusimotoeven my son has a github repo now :-)
21:41:12raptorhow do you use git on windows outside of an IDE?
21:42:28sam686don't know, at one time I used git, I just use hg-hit so everything can be done with hg commands / hg gut..
21:43:13sam686however, hg-git can't exactly handle really huge millions of commits project on what I only have a slow computer back then..
21:44:40sam686At one time I was trying to inport very huge git into HG, it took hours, only to have it CRASH and theres nothing in HG..
21:45:09raptorWatusimoto: your son says you need to vote in round 1 of level design contest
21:45:22Watusimotodone, as reported earlier
21:45:24Watusimoto:-)
21:45:32WatusimotoI voted strategically
21:45:38WatusimotoI think the top 4 can advance
21:45:47raptordid you even it out more!?
21:45:58WatusimotoI didn;t alter the leading 4
21:46:04raptorh
21:46:06raptorA
21:46:07Watusimotolet's just leave it at that
21:46:12raptorhaha, ok
21:46:34Watusimotobut I wasn;t necessarily voting for the best level, if you understand where I'm ging
21:46:41raptoryes yes..
21:46:50Watusimotoyou are a father :-)
21:46:54raptor:)
21:47:12raptorso should we have 3 rounds
21:47:14raptor?
21:47:25raptoror this one will be final... unless tie
21:48:12raptorshoudl i make it multiple select, or radio?
21:48:20raptorerr single-select
21:48:32raptorbecause i don't think we've had one with 4 before..
21:49:14Watusimotojust put up the top 4 and top vote getter wins
21:49:20Watusimotono need for two more rounds
21:49:36raptorsingle select?
21:49:42raptorthat's my issue
21:51:16Watusimotoyou can have github post commits directly to irc
21:51:32raptordo they have a bot
21:51:33Watusimotoor to twitter!
21:51:43Watusimotoit's integrated into github, looks like
21:51:51raptorthey'd have to have a bot
21:52:14raptorirc channel's typically don't allow posting from the 'outside', only users in the channel
21:52:18raptorchannels
21:52:23Watusimotoyou can also have them make posts to random http addresses
21:52:43raptorthat's what we do with google code
21:53:01Watusimotoyou specify irc port, server, room, nick, pw, and a regex that does ??
21:53:15raptorso bot
21:53:15Watusimotoand a bunch of options I don't understand
21:53:20raptorlinky?
21:53:58Watusimotolinky?
21:54:41raptoruhh, i mean.. could you please give me an internet hyperlink to the location at which you are reading about github's IRC bot
21:55:46WatusimotoI creaetd a repository and it was one of the "hooks" I could implement
21:55:49Watusimotono link, sorry
21:55:50Watusimotohttps://gist.github.com/4447740
21:56:27raptorgist, ha
21:57:54WatusimotoI can't see how to comment inline with a gist
21:58:09raptorfinal round!: http://bitfighter.org/forums/viewtopic.php?f=13&t=1657
21:58:21WatusimotoBut here is a url for a specific line:
21:58:21Watusimotohttps://gist.github.com/4447740#file-gistfile1-txt-L19
21:58:48Watusimotoor a block
21:58:48Watusimotohttps://gist.github.com/4447740#file-gistfile1-txt-L19-L33
21:59:48WatusimotoI love that every line of every bit of code has it's own url
22:11:33Watusimotoha
22:11:34Watusimoto- if(mIsMounted)
22:11:35Watusimoto+ if(mMount)
22:11:43WatusimotoI made that same fix in my repo!
22:20:01Watusimotosam686: what happens when this executes?
22:20:15Watusimotoif(!theShip->isRobot())
22:20:15Watusimoto+ theShip->getControllingClient()->s2cCreditEnergy(EnergyItemFillip);
22:20:29Watusimotodoes it crash?
22:21:40sam686don't know, it could crash on: null theShip.. I don't know the whole code of where you putting it in, yet..
22:21:48raptorhaha, theShip
22:21:58Watusimotooh sorry, it was from your checkin
22:22:08Watusimotoit is when a bot picks up an energy item
22:22:18Watusimotoyou added the check to make sure ship isn't a bot
22:22:22YoshiSmb_ has joined
22:22:43sam686oh, the robot fix I added "if(!theShip->isRobot())"
22:22:47Watusimotoso to clarify, what happens when theShip is a bot and this executes: theShip->getControllingClient()->s2cCreditEnergy(EnergyItemFillip);
22:23:13sam686crash due to NULL getControllingClient()
22:23:20Watusimotook
22:23:35WatusimotoYour fix will definitely work, but I'm thinking we need a more general solution
22:24:12sam686want me to use if(theShip->getControllingClient()) instead of robot check?
22:24:17Watusimotosomething like a bot returns some sort of bot controlling client that allows you to call stuff like s2c but does nothing
22:24:40Watusimotobecause I think we'll keep running into this particular class of bugs
22:24:43YoshiSmb Quit (Ping timeout: 252 seconds)
22:24:45sam686used to when I had a dummy GameConnection for robots...
22:24:56Watusimotodid I remove that? :-)
22:24:59YoshiSmb_ is now known as YoshiSmb
22:25:01sam686but there is no more GameConnection for robots.. yet.
22:25:04sam686yes
22:25:07Watusimotosorry!!
22:26:20Watusimotomaybe something like this?
22:26:21Watusimotoclass RobotGameConnection: public GameConnection
22:27:13Watusimotono, that's not good
22:27:29WatusimotoI don;t want to implement all these methods twice, once with an empty body
22:28:27Watusimotothere are a lot of methods in there!
22:28:31Watusimotoah, but maybe...
22:28:32raptorwe have a patch for /announce!
22:28:43raptorsort of... hmmm hard to import...
22:28:52sam686maybe only do some methods, not all...
22:29:04raptoroops, it's also reversed..
22:29:22Watusimotomaybe we can leverage the macros that are used to delcare rpcs somehow
22:29:40Watusimotoraptor: earlier he gave me an entire project
22:29:53WatusimotoI asked for a diff; haven't looked at it yet
22:30:24sam686maybe you can just cram a regular virtual c2sSomething in robot class instead a TNL macro...
22:30:58Watusimotomaybe... this will require some thought
22:32:11Watusimoto_ has joined
22:32:31raptorwell, here is his cleaned up patch: http://pastie.org/5618361
22:32:55raptorlooks like there is no server message sending?
22:33:53sam686looks like no message sending, if that is a case, you will only be announceing yourself only...
22:35:25Watusimoto_there's lots of reasons why this won;t work
22:35:36Watusimoto Quit (Ping timeout: 252 seconds)
22:35:50Watusimoto_I'll tell him to try opening two clients and seeing if one can announce to the other
22:36:03Watusimoto_sam686: what does this mean?
22:36:04Watusimoto_+ DISMOUNT_NORMAL,
22:36:04Watusimoto_+ DISMOUNT_MOUNT_WAS_KILLED,
22:36:04Watusimoto_+ DISMOUNT_IGNORE_GAME_TYPE,
22:36:14Watusimoto_mountwaskilled, ok, I get that
22:36:24Watusimoto_normal must mean where mount was not killed
22:36:30Watusimoto_what is ignoregametype for?
22:36:52sam686DISMOUNT_IGNORE_GAME_TYPE is something to prevent seeing extra messages for flag capturing in CTF/retrieve/hold/zone
22:37:06Watusimoto_ah
22:39:38kaenwow that was a lot of irc backlog
22:39:40kaenbut I read it all
22:40:06raptorvery dutiful!
22:40:33kaenI enjoyed the discussion re github and bitbucket
22:40:48kaen(mostly the github part)
22:49:44Watusimoto_whew
22:49:52Watusimoto_left him a long message at http://www.google-melange.com/gci/task/view/google/gci2012/8025216
22:52:45Watusimoto_dang, here I am stuck on the same hg problem I had waaaay back when raptor and sam686 first joined the project (except it was an svn problem them)
22:52:46Watusimoto_then
22:53:09raptorsay waht?
22:53:23Watusimoto_I am going through sam's stuff, and I want to selectively merge parts of it, so I can focus on the bits that require more thought
22:53:33Watusimoto_but instead it seems to be all or nothing
22:53:51raptorthat's called transplanting
22:54:01Watusimoto_ugh
22:54:12raptorand transplants *always* change tree structure
22:54:20Watusimoto_I need a plugin, don't I
22:54:29Watusimoto_any chance this would screw up our repo?
22:54:36raptorhgext.transplant=
22:54:42Watusimoto_because if there's a chance, you know I'll do it!
22:54:47raptorsure it will
22:55:16raptorif you want to transplant specific parts, then a new revision will be created for those and have no relation to other revisions
22:55:18Watusimoto_"sure it will" like in a bad way>
22:55:28raptorother than being similar code
22:55:49raptorhttp://mercurial.selenic.com/wiki/TransplantExtension
22:55:58Watusimoto_ok, maybe I shoudl read this
22:56:01Watusimoto_for once
22:56:18raptor:)
22:57:02Watusimoto_well, I have hg 2.4
22:57:15Watusimoto_the first line of the docs says: The graft command provides similar functionality in Mercurial 2.0 or newer and has smarter merge capability.
22:57:36Watusimoto_so maybe I should figure out what graft is/does?
22:57:38raptoroh haha - i forgot about that...
22:57:49raptornow i'm behind teh times...
22:57:56raptorand should read that, too
22:58:16Watusimoto_well, don't read that as it isn't about graft
22:58:25Watusimoto_http://www.selenic.com/hg/help/graft
22:59:16raptorand if you can handle ascii art: http://stackoverflow.com/questions/9598704/consequences-of-using-graft-in-mercurial
23:02:16Watusimoto_seeing if the new version of tortoise supports graft
23:02:20Watusimoto_(it might)
23:06:55Watusimoto_ok while I'm digesting that, do you know of any way I can "combine" revisions, say compressing 2 or 3 revisions into 1 before I merge, to make them more understandable as a collection?
23:08:40YoshiSmb_ has joined
23:08:41YoshiSmb Quit (Ping timeout: 248 seconds)
23:09:07raptorare they committed?
23:09:22YoshiSmb_ is now known as YoshiSmb
23:09:34raptorif so, then you need to do history editing...
23:10:16LordDVG Quit (Remote host closed the connection)
23:10:22raptorhttp://mercurial.selenic.com/wiki/HisteditExtension
23:10:25raptoruse 'fold'
23:11:02raptorbut make sure it is done on revisions not yet submitted to our main repo... i'm not sure if server side can handle history editing without being really painful
23:21:06kaentypically not.
23:28:03Watusimoto_I want to merge some of sam's commis so I canbetter understand them as a whole
23:31:01Watusimoto_phooey
23:31:18Watusimoto_ok, I have a nightly build of tortoise, which has the graft command built in
23:31:20Watusimoto_grat
23:31:22Watusimoto_great
23:31:32Watusimoto_but I really only want to graft parts of a revision
23:31:38Watusimoto_dang
23:31:42raptoroh ho
23:32:16raptori'm not sure how to do that without turning the repo into a patch queue
23:32:30Watusimoto_Can I split a revision into two subrevisions?
23:32:44Watusimoto_all of this is totally doable in principle
23:32:53Watusimoto_and it seems quite reasonable to want to do
23:32:57Watusimoto_argh
23:33:16raptoryes, it's called a patch queue - things are kept track of in diff sections instead of changesets: http://mercurial.selenic.com/wiki/MqExtension
23:33:28raptorbut...
23:33:44Watusimoto_I've avoided that one so far
23:33:49raptoryeah
23:33:52raptorit's advanced
23:34:04Watusimoto_too advanced for someone like me :-)
23:34:06Watusimoto_?
23:34:11raptorno of course not
23:34:47raptorbut it's a lot of reading... :)
23:34:53Watusimoto_so yes
23:34:57raptorha
23:45:22Watusimoto_sigh. I can't figure it out. Need to read the docs
23:45:38Watusimoto_http://mercurial.selenic.com/wiki/MqTutorial --> I have the problem in 2.2
23:45:49Watusimoto_with mq, the solution is easy!
23:47:56raptorhaha
23:48:06raptori should learn to use queues, too, someday...
23:52:11Watusimoto_but they don't see to solve my problem
23:52:29Watusimoto_I want to break sam's commits up into patches; but they only seem to work for commits I make
23:52:36Watusimoto_or rather as an alternative to commits
23:52:45Watusimoto_still, could be useful

Index Search ←Prev date Next date→

These logs were automatically created by BFLogBot on irc.freenode.net.