#bitfighter IRC Log

Index Search ←Prev date Next date→

IRC Log for 2012-03-21

Timestamps are in GMT/BST.

00:48:17koda Quit (Quit: I used to be chatting like you. Then I took an arrow in the knee)
01:09:15sam686 Quit (Read error: Connection reset by peer)
01:13:32sam686 has joined
01:13:32ChanServ sets mode +v sam686
02:17:31kodaws Quit (Read error: Connection reset by peer)
03:23:56raptor has joined
03:23:57ChanServ sets mode +o raptor
03:26:25raptorhi sam686
03:32:54raptorwould you like to do some playtesting some time?
04:25:00sam686i was kind of buzy this week, but i guess i can do some play testing
04:25:09raptoryou're alive!!
04:26:20raptoryou can do some play testing with me now?
04:26:32raptorif you're busy, then don't worry about it..
04:26:57sam686ok
04:27:35sam686one problem, f1 f5 f7 doesn't work anymore
04:33:33LoneWolfy has joined
04:59:42sam686or not, it will take a little bit longer, i thought it was dome compiling.. (i guess i changed .h files to compile dedicated_master)
04:59:58raptoroops
05:00:00raptorok
05:00:01raptorno problem
05:01:18sam686got my dedicated bitfighter going on windows, still compiling non-dedicated
05:05:54sam686i did push my changes to fix dedicated compile, though..
05:07:35raptoroops, sorry i put VideoSystem.cpp in the wrong place in your project
05:07:51BFLogBot - Commit afe3284d4e10 | Author: sam8641 | Log: Fix dedicated compile, i guess dedicated doesn't need VideoSystem.cpp
05:07:53sam686dedicated doesn't need VideoSystem
05:08:01raptoryes, correct
05:09:49sam686got the F5 / F7 / F1 buttons working again
05:09:59raptorgreat!
05:12:53BFLogBot - Commit df58de65cc25 | Author: buckyballreaction | Log: Rename Boost module kinetic component as 'Pulse'; be consistent in the code
05:32:35raptori added bugs here: http://bitfighter.org/wiki/index.php/Running_Bug_List
05:32:44raptorplease add any you may have found..
05:32:47sam686ok
05:35:27raptorgood ngiht
05:35:59raptor Quit ()
07:07:39sam686 Quit (Ping timeout: 245 seconds)
07:18:48Watusimoto has joined
07:59:17Watusimoto Quit (Ping timeout: 246 seconds)
08:17:33kodaws has joined
08:51:30watusimoto has joined
08:51:30ChanServ sets mode +o watusimoto
09:05:31kodaws Quit (Ping timeout: 264 seconds)
09:05:51kodaws has joined
09:11:49kodaws Quit (Ping timeout: 244 seconds)
09:30:51kodaws has joined
10:19:20kodaws Quit (Ping timeout: 272 seconds)
10:24:12kodaws has joined
12:21:59LordDVG has joined
12:42:55raptor has joined
12:42:55ChanServ sets mode +o raptor
13:08:59raptor Quit ()
13:23:34LoneWolfy Quit (Ping timeout: 260 seconds)
13:45:03LoneWolfy has joined
15:14:54LordDVG Quit (Remote host closed the connection)
15:16:54LordDVG has joined
15:42:42raptor has joined
15:42:52ChanServ sets mode +o raptor
15:43:00raptorgood mronign!
16:07:47watusimoto good mronign
16:07:57raptorhi
16:08:02watusimotogot your emai
16:08:03watusimotol
16:08:06watusimotogrrr
16:08:10raptoryeah...
16:08:37raptordid you test any of the nexus bugs? the one with the timer near zero is trippy
16:08:44watusimotoI totally understand the flashing problem -- that may actually be fixed on my machine
16:10:27watusimotoand I think I understand the can't drop flags problem as well
16:10:31watusimotoboth are likely related
16:10:57watusimotocan't drop flags is because client's notion of when nexus should open is different than server's
16:11:12watusimotoclient updates nexus visually, but can't drop flags until the server approves
16:11:31raptorok
16:11:44watusimotoI guess I know what I get to work on tonight :-(
16:11:51raptorthe other problems may be my fault... i'm not sure\
16:12:02raptorbecause i know i have played with the repair code a little
16:13:08watusimotoI marked two items on the bug list that we can potentially defer
16:13:39raptorreally?
16:13:58watusimotoone is semi-done, perhaps done enough (if it withstands testing)
16:15:27raptorgoogle code issue?
16:15:37watusimoto?
16:19:27raptorthe items you marked, which bug list are you looking at?
16:20:40watusimotooh, sorry, running bug list
16:20:49watusimoto#5 and #8 at the bottom
16:20:59raptorha!
16:26:21raptori was hoping #8 was the most important one...
16:30:52watusimoto:-)
16:55:07Watusimoto_ has joined
17:28:13raptorI fixed the fullscreen problem on mac with SDL2 - now I have to figure out how to do the text input
17:28:30raptorif you defer #8, maybe i'll have time... :)
17:28:39watusimotoexactly my thoughts!
17:29:05watusimotoalas, I added a new bug to the list (probably exists in 016, not in 015a), and another to my "paper list"
17:36:36raptorwhat did you add to the paper list?
17:40:46watusimotoeaseir to fix than describe
17:40:52raptorokey doke
17:40:59watusimotohas to do with well... you'll see when I fix it
17:41:04watusimotoerror messages
17:41:09watusimotocascading and crashing
17:41:15watusimotoeasy to fix
17:41:21watusimotohard to reproduce
17:41:23kodaws Quit (Quit: Sto andando via)
17:41:27raptorok
17:43:00watusimotoout of here... later
17:44:22raptorbye
17:47:44watusimoto Quit (Ping timeout: 272 seconds)
17:50:26LordDVG Quit (Ping timeout: 246 seconds)
17:59:40Watusimoto_ Quit (Ping timeout: 252 seconds)
18:51:45LoneWolfy Quit (Read error: Connection reset by peer)
18:52:54Watusimoto has joined
19:29:27BFLogBot - Commit ba372a5e8a4b | Author: buckyballreaction | Log: Fix repair radius
19:30:03raptorthe other repair bug will require a bisect :(
19:44:57raptorok, fixed it!
19:46:19Watusimotogood!!
19:46:50raptorsneaky bugs
19:47:19Watusimototell me about it :-(
19:48:50Watusimotothat settime .1 bug is really sneaky
19:49:01Watusimotobasically, U32 math underflows
19:49:09raptorwhat
19:49:16raptorthats goofy
19:49:30BFLogBot - Commit e781428d6c1b | Author: buckyballreaction | Log: Fix energy recharging when a module is in use
19:49:31Watusimotox - y < 0
19:49:37Watusimotoz = x - y
19:49:42Watusimotowhen z is U32...
19:49:53Watusimotosuddenly z > x
19:50:05Watusimotocausing things to freak out
20:00:11raptornow i have to rewrite part of the input system...
20:05:35Watusimotobetter than rewriting the timer crap... again...
20:05:51WatusimotoSunday, Monday, Tuesday, ... now Wedenesday
20:05:53raptori'm sorry for your pain...
20:06:02WatusimotoI wish I had taken the easy way out
20:06:14Watusimotosure, I've done harder things
20:06:27Watusimotobut really... even when this works it will be utterly unrewarding
20:07:35raptorare you going to do the one-timer-to-rule-them-all ?
20:14:48WatusimotoI already did
20:14:56Watusimotooh, you mean the ongoing timer
20:15:05Watusimotofor all games
20:15:08raptoryes
20:15:09Watusimotonot now
20:15:11raptorok
20:15:16WatusimotoI'm just going to make this work
20:15:26Watusimotothen have a big slug of whiskey
20:15:27raptori wasn't sure if that'd be more or less work than what you're doing...
20:15:38Watusimotoit would be more
20:15:46Watusimotohere's a design question
20:15:58Watusimotoonly asking because I can and it would be easy
20:16:25Watusimotoin nexus games, when the nexus is open, and the game will end before it closes, do we want to print a special message in the timer slot?
20:16:39Watusimotolikewise when nexus is closed, and will not be reopening
20:17:05Watusimotoright now, the times "snap" to the end of the game
20:17:15raptoroh really?
20:17:29raptori've played loads of levels where the nexus closes and won't open again
20:17:30Watusimotoso that if nexus is normally open for 30 secs and opens at 0:10, it will say "Nexus closes in 10"\
20:17:33raptorand there's still time left
20:17:34Watusimotowhich is actually not bad
20:17:55raptoryeah, i think eventually that would be good
20:17:58Watusimotobut if it's closed for 30 secs, and closes at 0:10, it will say "nexus opens in 10"
20:18:01Watusimotowhich is a lie
20:18:16Watusimotoso maybe it's only this second situatino that matters
20:18:25raptorlie = bad, right?
20:18:29WatusimotoI think so
20:18:34raptorme too\
20:18:35Watusimotoif it will never open again
20:18:55Watusimotothen... "nexus closed for the season"
20:19:03raptorhaha
20:19:04Watusimotooh brother
20:19:16WatusimotoI'll bet there;s a bug
20:19:30WatusimotoI made it snap to 0 to fix the underflow bug
20:19:43Watusimotoso the changing time would never be negative
20:19:46Watusimotobut
20:20:10Watusimotoif it closes for 30, and closes at 0:10, that means the cycle would end at -0:20, right?
20:20:19Watusimotoso we snap that to 0 and call it good
20:20:30raptorok
20:20:36Watusimotoall fine and dandy until someone adds 3 mins to the game
20:20:42raptorah
20:20:44raptorwonderful
20:20:45Watusimotonow the nexus should close at 2:40
20:20:56Watusimotobut will probably still want to close at 3:00
20:21:07Watusimotobecause I take the existing close time and add 3:00 to it
20:21:23Watusimotoeverything I do falls into some trap or the other
20:21:32Watusimotoevery fix has its own pitfalls
20:21:35raptorblech
20:21:41Watusimotothat's why this has been such a nightmare
20:21:50Watusimotook, well, to my question...
20:22:02Watusimotoif the nexus is closed for the rest of the game, what should it say?
20:22:40WatusimotoNormal message is "Nexus opens in 0:10"
20:22:54WatusimotoMaybe just "Nexus is closed."
20:23:53raptoror 'Game ends'
20:24:07WatusimotoIf we set the nexus to never open, the message says "Nexus never opens"
20:24:16Watusimoto"Nexus closed until game ends"?
20:25:01Watusimoto"Nexus closed through end of game"
20:25:23raptorNexus closed until end of game
20:25:36Watusimotogood enough
20:27:13Watusimotonow to test that purported error condition I theorized
20:37:44raptoroh no... i have to look at UIEditor...
20:46:22koda has joined
20:49:19raptorwe made a mistake with coupling the input codes and the ascii text input into all our methods...
20:55:41Watusimotohow so?
20:56:50raptorother than that is the only way to do it with SDL 2, I think that they were right to treat character input as something different than a key press
20:57:12raptorwe do for the most part in our code
20:57:37raptorexcept for the method signature of onKeyDown(InputCode inputCode, char ascii)
20:57:40Watusimotothey are different, agreed
20:57:44Watusimotothat came from glut
20:57:52Watusimotoit wasn't really our decision
20:57:56raptorah ok
20:58:15Watusimotoi.e. not really my decision, as you weren;t around then:-)
20:58:25Watusimotowell, you were around
20:58:31Watusimotojust not around here
20:58:56Watusimotoexcept that here is meaningluess when you're in UT and I'm in Lux
20:58:57Watusimotobut you get the idea
21:00:44raptorhehe
21:03:12raptorphoew! got past UIEditor...
21:31:08Watusimotodid you know you can set the game time after the game has ended?
21:31:28raptorno
21:31:30raptorcool
21:31:40raptorwhat on earth is UIMenus.cpp:564 for??
21:32:07Watusimoto(U32(selectedIndex) < U32(mMenuItems.size()) && mMenuItems[selectedIndex]->handleKey(inputCode, ascii)) ||
21:32:07Watusimoto processMenuSpecificKeys(inputCode, ascii) ||
21:32:07Watusimoto processKeys(inputCode, ascii);
21:32:08Watusimoto??
21:32:17raptorwhat crazy syntax is that
21:32:45Watusimotoah yes
21:32:47Watusimotook
21:33:00Watusimotoit's Perl style
21:33:07Watusimoto(seriously)
21:33:35Watusimotoit's short hand for if(xxx) {} else if(dfdf) {} else {}
21:33:44Watusimotoexcept with out all the ifs
21:34:07Watusimotoit just evaluates the logic, until one of the or conditions evaluates true
21:34:30raptorwritten for maximum obscurity
21:34:37Watusimotoyou can rewrite if you like
21:34:43raptori think i will :)
21:34:47Watusimotobut it's not obscure for me :-)
21:35:07Watusimotobut yeah, I think I see why it's confusing
21:36:38raptoris this equivalent?:
21:36:39raptor if(U32(selectedIndex) < U32(mMenuItems.size()) && mMenuItems[selectedIndex]->handleKey(inputCode, ascii))
21:36:41raptor processMenuSpecificKeys(inputCode, ascii);
21:36:42raptor else
21:36:44raptor processKeys(inputCode, ascii);
21:37:12Watusimotono
21:37:53WatusimotoI'll rewrite... just a sec
21:38:49Watusimoto if(U32(selectedIndex) < U32(mMenuItems.size()) && mMenuItems[selectedIndex]->handleKey(inputCode, ascii))
21:38:50Watusimoto {
21:38:50Watusimoto // Do nothing
21:38:50Watusimoto }
21:38:50Watusimoto else if(processMenuSpecificKeys(inputCode, ascii))
21:38:50Watusimoto {
21:38:51Watusimoto // Do nothing
21:38:53Watusimoto }
21:38:55Watusimoto else
21:38:58Watusimoto processKeys(inputCode, ascii);
21:39:16Watusimotoyou can see why I didn;t like the C++ syntax...
21:39:24Watusimotoit's confusing too
21:40:03WatusimotoI'm not altering the file -- if you like this better, you can paste it in on your end
21:42:21Watusimotopossibly better?
21:42:23Watusimoto if(!(U32(selectedIndex) < U32(mMenuItems.size()) && mMenuItems[selectedIndex]->handleKey(inputCode, ascii)))
21:42:23Watusimoto if(!processMenuSpecificKeys(inputCode, ascii))
21:42:23Watusimoto processKeys(inputCode, ascii);
21:42:32Watusimotoall terrible
21:43:51raptorha ha ok
21:43:56Watusimotoor more verbose
21:43:57Watusimoto bool keyHandled = (U32(selectedIndex) < U32(mMenuItems.size()) && mMenuItems[selectedIndex]->handleKey(inputCode, ascii));
21:43:57Watusimoto if(!keyHandled)
21:43:57Watusimoto keyHandled = !processMenuSpecificKeys(inputCode, ascii)
21:43:57Watusimoto if(!keyHandled)
21:43:58Watusimoto processKeys(inputCode, ascii);
21:44:15Watusimotothat last one is probably the clearest
21:44:31Watusimotooops... take out the ! in the second keyHandled
21:46:54Watusimotoor stick with the orginal, but add this comment
21:46:55Watusimoto/ Try all three key handlers in turn until we find one that returns true, signaling that it processed the key
21:47:55Watusimotoor
21:47:56Watusimoto if((U32(selectedIndex) < U32(mMenuItems.size()) && mMenuItems[selectedIndex]->handleKey(inputCode, ascii)) ||
21:47:56Watusimoto processMenuSpecificKeys(inputCode, ascii) ||
21:47:56Watusimoto processKeys(inputCode, ascii))
21:47:57Watusimoto {
21:47:59Watusimoto // Do nothing
21:48:01Watusimoto }
21:48:05raptorhahaha
21:48:21Watusimotoelse
21:48:23Watusimoto{
21:48:30Watusimoto // Do nothing here, either
21:48:36Watusimoto}
21:49:03raptorthis seems clearest to me: http://pastie.org/3644094
21:49:35Watusimotolooks great
21:49:42WatusimotoI can almost make out what it does
21:50:35Watusimotothere may be one other place I used this logic, but generally I shied away from it
21:51:49raptoreven better?: http://pastie.org/3644104
21:52:15Watusimotoyes, but wrong
21:52:21raptorrats
21:52:32Watusimotothat outer if condition only applies to the first keyhandled thing
21:52:38raptorah ok
21:52:40Watusimotothe other two happen either way
21:52:51raptorok
21:53:03Watusimotobut other than that, pleasantly clear
21:56:16raptorso like this: http://pastie.org/3644135
21:57:20raptorand now that i think about it, you're right c/c++ doesn't really have a good negative boolean expression syntax
22:03:11WatusimotoI think this was best
22:03:12Watusimotohttp://pastie.org/3644094
22:03:16Watusimotoi.e. your first
22:07:08raptorokey doke
22:39:38raptorwell, it compiled....
22:48:17raptori sure broke stuff
22:48:29raptorwell, i gotta go. see you later
22:49:06raptor Quit ()
23:02:39Watusimotolater
23:09:53BFLogBot - Commit 71c864ca8f97 | Author: watusim...@bitfighter.org | Log: I *think* this fixes the nexus timing issues... I'm leaving in my debugging statements for the moment -- if you are hosting on your machine, it will from time to time print out to the console the client and server opinions about when the nexus should next change phase. As long as these numbers are identical, you won't get the "can't return flags to the nexus" error. If they diverge, there is trouble. Tried to both combine similar concepts and stop overloading dissimilar ones in an attempt to get a handle on this problem. Will test further tomorrow.
23:09:54BFLogBot - Commit f122fe3e220f | Author: watusim...@bitfighter.org | Log: Merge
23:20:51raptor has joined
23:20:51ChanServ sets mode +o raptor
23:47:30sam686 has joined
23:47:30ChanServ sets mode +v sam686

Index Search ←Prev date Next date→

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