#bitfighter IRC Log

Index Search ←Prev date Next date→

IRC Log for 2011-07-18

Timestamps are in GMT/BST.

01:24:00raptorwatusimoto: neat idea with the preview
01:24:00raptori had no idea that that was in the editor...
01:37:00raptorbilly sagat?
01:39:00sam686hi
01:39:00raptorhi
01:39:00raptori'm actually kind of not sure what to work on right now...
01:40:00sam686fix compile warnings?
01:40:00raptorso i thing i understand that one with tnl/netBase.cpp
01:40:00raptorthink
01:40:00raptorhttp://code.google.com/p/bitfighter/source/detail?r=4b0d3f8d67071d41431f12ff7623933d2109ee97
01:41:00raptorthe object passed into the copy constructor is never used
01:41:00raptorbecause that is not the correct 'proper' behaviour for a copy constructor
01:43:00sam686maybe create a copy constructor for NetObject?
01:43:00raptoroh yeah...
01:43:00sam686i need to look more...
01:43:00raptorlet me try that..
01:44:00zoomber_sam686 afk?
01:44:00zoomber_oh nvm
01:46:00zoomber_sam686 : we could make a command /say
01:46:00zoomber_whatever you type in after /say relays those messages globally, from the server
01:47:00zoomber_i already set that up
01:59:00sam686 Quit (Ping timeout: 258 seconds)
02:01:00sam686 has joined
02:01:00ChanServ sets mode +v sam686
02:01:00zoomber_how have you granted yourself voice??
02:19:00raptori'm hunting down the robot memory leak
02:29:00karamazovapyseriously, the auto chat stuff has got to go
02:30:00zoomber_yeah
02:30:00zoomber_do you mean, the random replies, or all chat?
02:30:00karamazovapythe fact that it posts something EVERY TIME someone talks
02:30:00zoomber_some of the stuff is said when keywords are spoken
02:30:00zoomber_ok
02:30:00zoomber_i can try to get rid of that
02:30:00karamazovapyit makes it so you can't read the actual chat
02:30:00raptorauto chat?
02:31:00zoomber_i was having trouble, because i just tried removing the random replises, but that crashed it
02:31:00zoomber_i will test on test host right now
02:31:00karamazovapyhe's got a bot that talks when ever anyone says something in game
02:31:00karamazovapyso every other line of in game chat is from the stupid bot
02:31:00zoomber_yeah
02:31:00zoomber_true
02:31:00zoomber_would you like to see the code?
02:31:00karamazovapyit's 100% spam
02:31:00karamazovapysure
02:31:00zoomber_i am having trouble getting rid of randreplies
02:32:00zoomber_ok; i will put it up on bitfighter.sytes.net/drexbot.bot in 20 seconds
02:33:00zoomber_actually, that is the glitchy one
02:33:00zoomber_go to bitfighter.sytes.net/drex.bot
02:35:00karamazovapy...so did you take the chat code from eliza?
02:36:00karamazovapyyour problem is with function onMsgReceived
02:37:00zoomber_yes
02:37:00zoomber_Oh hot jalapeno i am very very late
02:37:00karamazovapybecause any time anyone says anything, it launches into that whole drexbot() function
02:37:00zoomber_yes
02:37:00zoomber_right
02:38:00zoomber_so sorry to cut you off, i really need to go. ill be back in an hour
02:38:00karamazovapylater
02:38:00zoomber_i was paying no attention to clock
02:38:00zoomber_ Quit (Quit: zoomber_)
02:40:00karamazovapyooof...yeah, he took s_bot, modified the eliza code to be kind of dickish, then pasted it at the end
02:40:00raptori can't stand eliza
02:40:00karamazovapyread the bottom and you'll get an idea of what this one is like - http://bitfighter.sytes.net/drex.bot
02:40:00raptori always thought it needs to be on a timer - no chatting until 5 seconds has passed or so..
02:41:00karamazovapyI wouldn't play on a server that hosted this bot
02:41:00raptoroh my goodness
02:41:00karamazovapyyeah.
02:44:00karamazovapybut since people rarely use the chat cues, it more or less just spams "shutup" or "Be quiet or I'll ban you" every time someone chats
02:48:00raptori would say it would be better to default not respond unless a cue was given
02:48:00karamazovapyyeah, a major improvement would be removing replyRandomly() right off the bat
02:51:00ShadowXLoner has joined
02:51:00ShadowXLonerHOLLA HOLLA GET $
02:51:00karamazovapysup b
02:51:00ShadowXLonerSup
02:51:00ShadowXLonerWho else is chillin here?
02:51:00karamazovapynever know who's lurking
02:52:00karamazovapyzoomber just stepped out...raptor's kind of around
02:52:00ShadowXLonerActually you do. Press Triangle next to room
02:52:00raptoronly kind of..
02:52:00ShadowXLonerbluh, we need more noobs on this room
02:52:00ShadowXLonerit needs to be more spammed and sutff
02:52:00karamazovapynoobs and irc don't usually mix
02:52:00ShadowXLonerTrue
02:53:00ShadowXLonerThey prefer to spam in-game
02:53:00karamazovapykids don't seem to *get* irc
02:54:00ShadowXLonerThey don't appreciate the old stuff. tsk tsk
02:54:00ShadowXLonerThem with their text messenging
02:54:00ShadowXLonerand cellular phones
02:54:00ShadowXLonerand tatoos
02:54:00karamazovapyI wasn't trying to be the old man on the porch
02:54:00ShadowXLonerand 3-D
02:54:00ShadowXLonerI was!
02:54:00ShadowXLoner:D
02:55:00karamazovapyI've been trying to do something...clever....in the editor
02:55:00karamazovapybut I'm fighting the nature of bitfighter to do it
02:55:00ShadowXLonerI appreciate how we old fags of the internet are usually the best trolls around.
02:55:00ShadowXLonerclever? how so?
02:56:00karamazovapya type of puzzle that hasn't been done
02:56:00ShadowXLoneryou mean in a dungeon
02:56:00ShadowXLoner?
02:56:00ShadowXLonerebay ebay ebay ebay
02:56:00karamazovapyeh...something dungeonesque
02:56:00ShadowXLonersnake? snake?? snaaaaaaaake!
02:57:00ShadowXLonersorry watching moon base alpha by motdef
02:57:00karamazovapyI was thinking badgers when you said that
02:57:00ShadowXLonerbadger badger badger badger
02:57:00ShadowXLonerlol
02:57:00ShadowXLonerWeebl
02:57:00ShadowXLoneraeiou
02:58:00ShadowXLonerOh! I can get Moon Base Alpha now that I'm on Steam!
02:58:00raptormushrooms?
02:59:00karamazovapywas that comment badger-related, or were you offering?
02:59:00raptorthe former
03:04:00karamazovapymaybe next time
03:04:00raptorsam686: do you have any ideas where the robot memory leak may be?
03:05:00raptorI've run bitfighter through callgrind and valgrind memory analysis
03:05:00karamazovapyis this a bot-memory leak?
03:05:00raptorcallgrind just says that a lot of time is spent in robot idle functions
03:05:00raptorkaramazovapy: yes - when you add a lot of bots to a map, the server RAM goes up
03:05:00raptorwhen you kick the bots, the RAM stays in use
03:05:00karamazovapyah
03:06:00raptorthe RAM should go back down afterwards - I don't know why it doesn't
03:06:00raptorso on a VPS with only 128 MB ram, bitfighterd can start using a ton if people are always adding/removing bots and cause the server to slow down
03:06:00karamazovapymaybe memory just isn't getting released properly?
03:08:00raptorkaramazovapy: yeah - i have to find out what object is holding it, and clear it out when the robot is removed
03:08:00karamazovapyright...the way I said that sounded really obvious
03:08:00ShadowXLoner Quit (Quit: ShadowXLoner)
03:08:00raptor:)
03:09:00karamazovapyI was thinking about variables not getting cleared when the bot dies
03:09:00raptoryes - that is exactly what i'm looking for
03:09:00raptorit is probably some static list of data somewhere that new robots are added to, but never removed
03:10:00raptorso it gets bigger and bigger and bigger
03:11:00karamazovapythat's what she said
03:11:00karamazovapyI cringe every time shadow says something from 4chan
03:11:00raptorbaj
03:11:00raptorbah
03:12:00raptormy concentration is now broken..
03:12:00raptor4chan - the dregs of the interwebz
03:12:00karamazovapyno joke
03:12:00raptori heard once that there is a total of maybe 3 4chan boards that have meaningful conversations
03:13:00raptorbut i don't know if i believe it..
03:13:00karamazovapythat many, huh?
03:26:00ShadowXLoner has joined
03:26:00ShadowXLonerI RETURN
03:26:00ShadowXLonerBRAAAAAAAAAAAAINS
03:27:00karamazovapyzombie?
03:27:00raptor Quit (Remote host closed the connection)
03:27:00ShadowXLonerEnough. I Photo Finish, have found the newest star right here in Ponyville.
03:27:00ShadowXLonerTomorrow I shall help hur to shine acwoss Eqvestria.
03:28:00ShadowXLonerI go.
03:28:00karamazovapycrazy.
03:28:00ShadowXLonerAnd then I said "Oatmeal? Are you crazy??"
03:29:00ShadowXLonerAnyway. I'm heading to bed. Laters
03:29:00ShadowXLoner Quit (Client Quit)
03:36:00zoomber_ has joined
03:41:00zoomber_back
03:41:00zoomber_like i promised
03:45:00karamazovapyI've come up with a new and infinitely cooler way of doing what I was trying to do before
03:49:00zoomber_for your map?
03:49:00karamazovapyshyeah
03:49:00zoomber_also, in ivan.bot, i see there is a else if for getbotname()
03:49:00zoomber_but, i can only get ivan.bot to spawn for me, not vanya
03:50:00karamazovapyI use the first parameter in the .level file to change names
03:50:00zoomber_botname = arg[1] or 1?
03:50:00sam686i see zoomber double post...
03:50:00zoomber_i did?
03:50:00zoomber_where?
03:50:00sam686http://bitfighter.org/forums/viewtopic.php?t=792
03:50:00zoomber_thanks for telling me
03:51:00karamazovapyresolved
03:51:00zoomber_thanks
03:51:00zoomber_i guess i cant delete posts if someone posts after me
03:52:00zoomber_@_k, ok, so i have
03:52:00zoomber_botname = arg[1] or 1
03:52:00zoomber_and function getName()
03:52:00zoomber_ if(botname == 1) then
03:52:00zoomber_ return("[BOT]1")
03:52:00zoomber_ else
03:52:00zoomber_ return("[BOT]2")
03:52:00zoomber_ end
03:52:00zoomber_but i only get bot1 to show up each time i add
03:53:00karamazovapyhave you tried in the level file using robot.bot 0
03:53:00zoomber_oh
03:53:00zoomber_i cant just use /addbot?
03:53:00karamazovapymaybe you can, I dunno
03:53:00zoomber_it doesnt work for ivan or my bot
03:53:00zoomber_that way
03:54:00karamazovapy./addbot 0 botfile.bot 0
03:54:00zoomber_aaah, args
03:54:00zoomber_i thought it was like, math.random
03:54:00karamazovapynope
03:54:00zoomber_is it possible to make a math.random equation?
03:54:00karamazovapysure
03:54:00zoomber_we could assign a variable = math.random
03:54:00zoomber_and have if variable = 1, return "ivan"
03:55:00karamazovapyright now it's saying use arg[1] if arg[1] exists, otherwise, use 1
03:55:00zoomber_ok
03:55:00karamazovapyyou can just as easily say botname = math.random(2)
03:55:00zoomber_coudl i do botname = math.random(1,2)
03:55:00karamazovapyyes
03:55:00zoomber_oh
03:56:00zoomber_beat me to it
03:56:00karamazovapyand then an if statement
03:56:00zoomber_i could just do the highest number for math.random(15)?
03:56:00zoomber_if i wanted 15 names?
03:56:00karamazovapynot sure what you're asking
03:56:00karamazovapybut yeah, if you wanted 15 possible names
03:57:00zoomber_if i wanted 15 choices, can i do math.random(15), or must i do, math.random(1,2,3,4,5...)
03:57:00karamazovapyyou mind wind up with duplicates, though
03:57:00karamazovapyyeah, you could do math.random(15)
03:57:00zoomber_yes
03:57:00karamazovapybut if you added 15 bots, five could easily wind up with the same name
03:58:00zoomber_ok
04:22:00raptor has joined
04:22:00ChanServ sets mode +o raptor
04:25:00raptori'm using valgrind --tool=massif to get a heap dump
04:27:00raptorsam686: memory usage with bots: http://96.2.123.136/upload/snapshot38.png
04:27:00raptoron the heap
04:27:00raptorbut RAM is not lowered
04:27:00raptorwhat could this mean?
04:28:00karamazovapydoes this happen on all servers?
04:28:00raptorso far
04:29:00raptorit's ok for memory to go up so much with robots - it just needs to go down afterwards
04:29:00sam686is that on 015a and is that problem on the latest 016 development?
04:29:00raptorboth
04:30:00raptorthat graph was with adding 100 bots to kompressor's gambit on 016 dev
04:30:00sam686part of memory problem might be Vector might or might not reduce memory when size is reduced.
04:30:00raptorthe graph looks like heap memory is clearing ok - but physical RAM usage was still high
04:31:00sam686is repeatedly adding and kicking 100 bots increase memory?
04:31:00raptorno
04:31:00raptorseems to stay constant after the initial allocation
04:32:00raptori have one more test to do...
04:33:00sam686part of memory might be with LUA memory for running code, mostly static / global variables not being freed..
04:40:00raptorok
04:40:00raptori added 100 bots, kicked them, quit the server (but not game); rehosted and did it again, several times
04:40:00raptorthere was a large starting memory grab ~50MB
04:41:00raptorthen it would climb slowly as the bots were killing each other
04:41:00raptorthen it would drop slightly when kicking
04:41:00raptorbut it would stay large when i quit hosting
04:42:00raptoron next host, adding bots didn't add memory
04:42:00raptorbut after a little while the bots were killing each other and it started to climb slowly again
04:42:00raptorand the cycle repeated
04:43:00raptoroverall RAM increased 1-2 MB each time I hosted (after the initial 50)
04:43:00raptorbut that 50 never went away..
04:45:00raptorso maybe there is two problems
04:45:00raptor1. a static vector not getting cleared (which may account for the slow rise)
04:46:00raptor2. the OS isn't clearing that 50MB - maybe it's being cached?
04:47:00sam686why should it cache if it is the same 100 bots...
04:47:00raptori mean the linux OS is caching RAM for the server
04:47:00raptorjust a guess
04:48:00sam686tyr adding only one bot to see..
04:48:00raptorbecause the heap looks like it is being cleared pretty well
04:48:00raptorok
04:49:00raptorif i give you the heap dumps, can you view them? I am using massif visualizer for kde
04:49:00sam686you can also try /addbots 100 0 "" that will not use any bot script file..
04:49:00sam686not sure if i can, probably need some software...
04:52:00raptorso it added 100 dumb bots
04:52:00raptorthat didn't move
04:53:00raptorbut heap memory went up and down just fine again, application RAM usage went up and stayed up
04:54:00raptorhere is the massif data: http://96.2.123.136/upload/massif1.zip
04:55:00raptorfor the graph i showed you before
04:56:00raptorlet me see if i can access the stack memory, too..
04:58:00sam686i probably need some software to view massif..
04:59:00sam686i can see raw text form..
04:59:00raptorit is part of valgrind
05:02:00raptorok, i got stack data, too - let's see if I can get a graph form
05:07:00raptorok, i filtered it through ms_print
05:07:00raptoruploading better text for you...
05:08:00raptorhttp://96.2.123.136/upload/msprint.zip
05:08:00raptorms_print is a command line tool that filters the massif data a little better
05:11:00sam686you using nvidia? i see /usr/lib64/libnvidia-glcore.so.270.41.06
05:11:00raptoryes
05:12:00raptormayeb there really isn't much of a leak - maybe it is the OS is just aggressively keeping the memory reserved..
05:13:00sam686raw text form is hard to read...
05:14:00sam686my memory usage starts out as 21 megabytes, goes up to 100 megabytes with addbots 100, then goes down to 23 megabytes
05:14:00raptoryeah - i bet it's just linux caching...
05:15:00raptorbut i think there is also some vector not being emptied somewhere..
05:15:00sam686. /addbots 255 0 "" makes my RAM go from 23 megabyte to 32 megabytes
05:16:00sam686LUA sure does use a lot of memory
05:16:00raptoroh yeah, it's a hog!
05:16:00raptorso your 23 - 32 is after you do kickbots again?
05:17:00sam686seems to always go back down to 23 megabyte after kickbots
05:18:00sam686i just did /addbots 255 and ram goes up to 380 megabytes
05:18:00raptoroh wow
05:19:00sam686kickbots, and RAM go down to 24 megabytes
05:19:00raptorwe have to optimize that somehow - i think it's loading full LUA memory for each bot
05:20:00sam686it is mostly LUA eating memory, as /addbots 255 0 "" doesn't take much RAM...
05:21:00watusimotoMy goodness, Sam, that looks a lot like airlock in your avatar on the forums!!
05:22:00raptorwatusimoto, welcome back!
05:23:00watusimotoonly here for a few minutes, then more packing
05:23:00sam686wat about the broken http://bitfighter.org/wiki/ ?
05:24:00watusimotoi need to fix that; not really sure how at this point
05:24:00watusimotoupgrading didn't work, and I don;t have a ton of time right now to poke around at it
05:25:00sam686can that be fixed? or can you send all wiki php files to my ftp? (except localsetting.php) and i try to fix..
05:25:00raptorok, i asked the naev guys and they say all the ships in their game have a shared AI
05:26:00raptor(they use LUA)
05:26:00raptorcould we implement somehting like that?
05:26:00watusimotosam, if you're willing to take a look, I'll package up the files. Do you have an ftp server running?
05:26:00sam686yes: 96.2.123.136
05:26:00watusimototest/test?
05:26:00sam686yes
05:26:00watusimotook
05:27:00watusimotoI'll do this now, but my wife is urging me to get packing
05:27:00watusimotoso I'll try to be quick ;-)
05:27:00watusimotoI spent all my discretionary time fixing the editor
05:32:00watusimotoI really want to be done with the editor
05:32:00watusimotoI think I'm almost as sick of that as I am of the bot zones
05:32:00watusimotoI have a new turret aiming algorithm I want to try
05:32:00raptorhaha
05:32:00watusimotoit was one after the other
05:32:00watusimotobam-bam
05:32:00raptoris it smarter? or faster?
05:32:00watusimotoprobably neither
05:33:00watusimotojust different, and therefore more dangerous
05:33:00raptorgood, i like it
05:33:00BitfighterLogBot - Commit 6f8e90895b3e | Author: watusim...@bitfighter.org | Log: Soccer ball and Nexus now render properly on the dock
05:33:00raptordid you read anything about sam's and my conversation about bots?
05:34:00watusimototarget player as usual; aim to one side by 10 or so pixels; make shot curve slightly in a random direction
05:34:00watusimotono
05:34:00sam686press F or G or T in editor, and the item get stuck on-screen, won't scroll with the grid..
05:34:00watusimotowiki sent
05:34:00raptorbasically LUA is eating up all the memory
05:35:00watusimotowhoa, FGT is weird... will fix
05:35:00raptorwith every bot comes a huge memory allocation
05:35:00watusimotoprobably allocating a new interpreter
05:35:00sam686it says "Cannot open ... as archive" maybe resend wiki files?
05:35:00raptorthere must be a way to share a lot of that..
05:36:00watusimotomaybe needed to send in binary mode... retrying
05:36:00watusimoto@r, yes, there probably is
05:36:00watusimotomaybe all could run in the same interpreter?
05:37:00raptoryeah, that is what I am thinking
05:37:00watusimotothere's probably a way to swap in a different set of global variables
05:37:00raptorso 100 bots don't eat up 50MB - instead only 1 or 2
05:37:00watusimotobasically, run bot1, swap in globals for bot2, run that
05:37:00sam686100 bots eats like 100 MB on my windows XP computer...
05:37:00raptoryes
05:37:00watusimotothat's a fair bit
05:38:00watusimotowell, we're obviously hitting a limitation of the current design
05:38:00watusimotoit was only 1.0
05:38:00watusimotomaybe tiem for 2.0
05:38:00watusimotoI just packed all my lua books
05:38:00watusimotobut they are available online
05:38:00raptorno new lua-vec updates, either...
05:38:00raptorwhy did you choose lua-vec again?
05:38:00watusimotoglobals are stored in a table
05:38:00watusimotolua-vec makes things go way faster
05:39:00sam686zip now opens...
05:39:00watusimotoit treats vectors as simple data rather than allocated objects
05:39:00watusimotoso memory management is waaaay faster
05:39:00raptorah ok
05:39:00watusimotoI want to optimize it for 2-D vectors -- that will cut memory usage
05:40:00watusimotoI figured out how to do it before, but didn;t want to make updating to subsequent releases of lua-vec harder
05:40:00watusimotosounds like that;s not an issue
05:40:00raptorit hasn't changed at all
05:40:00raptori did a diff earlier today
05:40:00watusimotook, I should put that on my list then
05:40:00raptorno differences when compared to bitfighter
05:40:00watusimotoit's not really hard
05:40:00raptor(except the added methods)
05:40:00watusimotoah, there should be differences
05:40:00watusimotook
05:41:00watusimotohttps://code.google.com/p/bitfighter/issues/detail?id=113
05:42:00watusimotook, off to pack. Need anything else before I head upstairs?
05:42:00watusimotoI'll check in later
05:42:00raptordo you have an official moving date? (so we know to not expect you for a while..)
05:43:00watusimotoMy stuff leaves Wed, then I leave 2nd week of August for Boston for a week or two (dates still not set), then off to Lux
05:43:00watusimotoso once I get past the shipment, I should have a little more time
05:44:00raptorwow
05:44:00watusimotothe rest of the packing will be straightforward
05:44:00raptorstuff as in furniture?
05:44:00watusimotoshipment is not much furniture -- we're trying to keep it to 100 cubic feet
05:44:00watusimotoincluding my guitar and 4 bikes
05:44:00watusimotoand 3 giant boxes of legos
05:44:00watusimotoand my lua books
05:45:00raptortight squeeze with the bikes
05:45:00watusimotovery
05:45:00watusimotook, back later
05:45:00raptorlater
05:51:00raptorwell good night...
05:52:00raptor Quit (Remote host closed the connection)
05:52:00zoomber_@whoever posted that memory consumption pic: i can verify that
05:53:00zoomber_i had similar results with similar stats
05:53:00zoomber_im off to
05:53:00zoomber_too
05:53:00zoomber_i was just watching kickass
05:53:00zoomber_goodnight
05:53:00zoomber_ Quit (Quit: zoomber_)
06:13:00sam686OK, i did get the same error, changed Namespace:: to MWNamespace:: to fix for languages/Language.php in wiki
06:35:00sam686in Function ereg() is deprecated in ...wiki/extensions/bad-behavior/bad-behavior/functions.inc.php i changed it to preg_match that should function the same, without deprecated messages.
06:38:00sam686watusimoto, can you grab file from ftp and move Language.php into wiki/languages/ and move functions.inc.php into /wiki/extensions/bad-behavior/bad-behavior/
07:20:00watusimotograb which file?
07:20:00sam686Language.php first
07:21:00sam686basically both files, language.php is to fix being access to wiki, and functions.inc.php is to fix warning
07:22:00watusimotook, both done
07:23:00watusimotowell, that looks a bit better
07:23:00watusimotogreat!
07:24:00sam686editing have some errors...
07:28:00watusimotoyup
07:29:00watusimotodo you want me to turn on the debugging info?
07:29:00sam686i believe it is a problem in # Include the math captcha extension in LocalSettings.php, as i get the same problem on my end..
07:29:00watusimotoactually, editing is fine, it's just the saving that's a problem
07:30:00watusimoto:-)
07:30:00sam686remove require_once( "$IP/extensions/ConfirmEdit/ConfirmEdit.php" ); and it works
07:31:00sam686creating new page have problems too, and i have that same problem too...
07:47:00iKoda has joined
07:52:00iKoda Quit (Quit: K thx bai)
08:35:00watusimoto Quit (Ping timeout: 264 seconds)
09:17:00LordDVG has joined
09:17:00LordDVG Quit (Changing host)
09:17:00LordDVG has joined
11:34:00LordDVG Quit (Remote host closed the connection)
12:01:00sam686 Quit (Ping timeout: 258 seconds)
12:03:00sam686 has joined
12:03:00ChanServ sets mode +v sam686
14:34:00raptor has joined
14:34:00ChanServ sets mode +o raptor
15:10:00watusimoto has joined
15:15:00raptorgood morning
15:29:00[1]watusimoto has joined
15:32:00watusimoto Quit (Ping timeout: 240 seconds)
15:32:00[1]watusimoto is now known as watusimoto
15:37:00LordDVG has joined
15:37:00LordDVG Quit (Changing host)
15:37:00LordDVG has joined
15:38:00raptorwatusimoto: not explicitly using the object passed into the copy constructor in tnl/netBase.cpp is giving the compiler all sorts of warnings
15:54:00watusimotowhere are we not doing that, what warnings?
15:54:00raptor../tnl/tnlByteBuffer.h: In copy constructor ‘TNL::ByteBuffer::ByteBuffer(const TNL::ByteBuffer&)’:
15:55:00raptor../tnl/tnlByteBuffer.h:80:4: warning: base class ‘class TNL::Object’ should be explicitly initialized in the copy constructor
15:55:00raptorthis is the rev that introduced it: http://code.google.com/p/bitfighter/source/detail?r=4b0d3f8d67071d41431f12ff7623933d2109ee97
16:00:00watusimototnlByteBuffer wasn't part of that checkin
16:01:00watusimotoMaybe this?
16:01:00watusimoto178
16:01:00watusimoto
16:01:00watusimoto
16:01:00watusimoto Object::Object(const Object &copy)
16:01:00watusimoto
16:01:00watusimoto
16:01:00watusimoto
16:01:00watusimoto
16:01:00watusimoto
16:01:00watusimoto
16:01:00watusimotohmmm... that was a bad paste job
16:01:00watusimototnlNetbase.cpp, line 178
16:02:00watusimotothat is a new copy constructor, makes no reference to copy
16:03:00raptorok, i see that
16:03:00watusimotoI can't reproduce, but you could test a fix by adding the line mRefCount = copy.mRefCount() before calling initialize()
16:03:00raptornot sure what to do about it - isn't the copy constructor supposed to make an actually copy?
16:03:00watusimotothat's a dummy line, but if it fixes the errors...
16:03:00watusimotoyes, I suppose it is
16:04:00watusimotoit doesn't create the object, just initiaizes it
16:04:00watusimotojust like a constructor doesn;t actually construct it
16:04:00raptorthat is non-standard behaviour though, correct?
16:04:00watusimotoin this case, the object has two attributes, and copying either of them will cause crashes
16:05:00raptorinteresting
16:05:00watusimotoI don't think so
16:05:00raptorok testing..
16:05:00watusimotobefore we get too deep into this, please check if my proposed fix cures the warns
16:05:00watusimotook
16:05:00watusimotogood
16:05:00watusimotowe may be discussing the wrong thing
16:08:00raptorsame warning
16:09:00raptorit compiles, but is super noisy; it seems to me that GCC is expecting an actual copy in the copy constructor
16:09:00raptorthat's why I made the comment about non-standard behaviour
16:09:00watusimotowell, maybe that's not what's causing the complaints
16:10:00raptori don't want to take too much of your time right now - it was just a quick question looking for an easy solution
16:10:00watusimotoor maybe that "fix" isn't enough to be a fix
16:13:00watusimotomaybe tnlByteBuffer copy constructor needs to explicitly call Object's copy constructor? I added the one in Object, so it might have been happy before using the defaults
16:14:00BitfighterLogBot - Commit 664b1e2573da | Author: watusim...@bitfighter.org | Log: Fixed editor bug when inserting items via keyboard shortcuts
16:16:00raptorhow would I call the parents copy constructor?
16:25:00watusimotoI think using : notation in the constructor, much the way you initialize an object in the constructor.
16:25:00watusimotoI think.
16:25:00watusimotobecause I don't know if I've ever done it
16:26:00watusimotomaybe like this:
16:26:00watusimotoDerived:: Derived( const Derived& theObject )
16:26:00watusimoto: Base( theObject )
16:27:00raptorahh, interesting
16:27:00raptorok, let me try that
16:27:00watusimotoactually, if that works, then it's not a total hack
16:27:00watusimotobut I thought that would happen automatically
16:27:00watusimotobut whatever...
16:28:00raptorapparently things go goofy if you do copy constructors by hand..
16:28:00raptorit worked!
16:28:00watusimotoespecially if you don't really know what you're doing :-)
16:29:00watusimotogreat
16:29:00raptori changed: ByteBuffer(const ByteBuffer &theBuffer)
16:29:00raptorto: ByteBuffer(const ByteBuffer &theBuffer) : Object(theBuffer)
16:29:00raptori'll commit, unless you are already in the middle of it...
16:31:00watusimotogo for it
16:32:00raptorok pushed
16:32:00raptorman, now I can read my compiler output again...
16:32:00watusimotoI would have thought that would be automatic
16:32:00watusimotolive and learn
16:32:00raptorespecially with c++...
16:32:00watusimotoyes
16:33:00watusimotoI'm trying to eliminate most of our globals and static methods, btw
16:33:00raptoryay
16:33:00raptorexcept
16:33:00raptoroh
16:34:00raptorexplain further
16:34:00BitfighterLogBot - Commit 8eec4839d987 | Author: buckyballreaction | Log: Fix noisy GCC compile warning about explicit initialization in copy constructor
16:36:00watusimotoI would like to rely less on things like gClientGame
16:37:00raptoryes, ok, then we are on the same page
16:37:00watusimotoeither passing it or getting it locally from things like getGame()
16:37:00raptorwhat i did was probably akin to the same evil, in Joystick.cpp
16:37:00watusimotoI want to (eventually) rename Game to GameContext, ClientGame to ClientContext, etc.
16:38:00sam686 Quit (Read error: Connection reset by peer)
16:38:00raptorI initialized it in that class instead, and then anywhere that needed it would use Joystick::PredefinedJoystickList
16:38:00watusimotoprobably; I didn't look too close
16:38:00raptorbasically just moving the static garbage into the proper class instead of declaring it all at the top of main.cpp
16:39:00watusimotowith the games, it's a little more important, because we now have 3 of them, and it seems better to pass them in based on usage context, rather than hardcoding which one we're using in the code
16:39:00raptorbut c++ is not friendly with static data
16:39:00raptorthat makes sense
16:39:00watusimotoand if sam finishes his split screen fix, that will make 4
16:39:00watusimoto(2 client games)
16:40:00watusimotoin that case, we'll definitely need to pass them around
16:40:00sam686 has joined
16:40:00ChanServ sets mode +v sam686
16:40:00watusimotobecause we'll never know which client game we're referring to from context
16:40:00raptorthat's true
16:40:00watusimotosam -- you should read the conversation we started at 9:30
16:41:00watusimotoeither in the logs, or I can copy/paste
16:41:00raptori think sam686 is usally good about reading the logs
16:42:00watusimotoI used to be, but don't do it anymore
16:44:00sam686 Quit (Read error: Connection reset by peer)
17:19:00karamazovapyw00t! this section is pretty much done!
17:19:00raptoryour crazy map?
17:19:00karamazovapythis section of it, yet
17:19:00karamazovapy*yes
17:19:00karamazovapywant to see?
17:19:00raptorok
17:19:00karamazovapyhosting on BOB SAGET
17:19:00karamazovapypassword is crackers
17:35:00raptorso do you think the limit on total objects or on a specific object?
17:36:00raptoror level file line count?
17:36:00karamazovapymy guess is line count, but I've never tested the possible causes
17:36:00raptorabout at what count do you think breaks it?
17:36:00karamazovapyall I know is, you go to test or play the level, the load bar runs fine, the clock counts down, but nothing ever appears
17:37:00karamazovapyit's a black screen, you can't fire, but you can hear the command map if you try to zoom in and out
17:37:00raptorinteresting
17:37:00karamazovapyline count...not sure...
17:37:00raptorwhat are you at now?
17:37:00raptorwith that piece?
17:37:00raptor(i'll double it...)
17:38:00karamazovapylet me open the file in a different program...notepad doesn't count lines
17:38:00raptordie notepad die!
17:38:00raptornotepad++ is a good alternative
17:39:00karamazovapyyeah, I know
17:39:00karamazovapymy notepad demands are usually pretty low
17:40:00karamazovapyan earlier, less elegant version breaks and has 1507 lines
17:41:00karamazovapya revision of the less elegant version works and has 999 lines
17:41:00raptorok, thanks
17:50:00raptordoes a level that big load in the editor ok? or is it just when testing?
17:50:00karamazovapyinteresting...
17:51:00karamazovapyI cut out everything in the really inefficient level except the speedzones and it still doesn't play
17:51:00karamazovapydown to 1049 lines
17:51:00karamazovapythe levels load in the editor just fine
17:51:00karamazovapyalthough the more stuff you have laying around, the longer it can take to move/copy/paste/adjust barriers
17:52:00raptoryes - that is a performance issue problem, i know watusimoto has altered that code since, not sure what performance is like now, though
17:53:00karamazovapyit's not raw level lines
17:54:00raptorhow did you come to that conclusion?
17:54:00karamazovapyI removed everything from that crap version except speed zones and a single spawn point
17:54:00karamazovapythen I removed groups of speed zones until it worked and I found the threshold
17:54:00karamazovapythen I added a ton of spawn points and it still worked
17:55:00raptormaybe it's a count of a specific type
17:55:00karamazovapyyeah, I added barriers and testitems, too
17:55:00karamazovapystill works
17:56:00karamazovapyinteresting...added a couple teleports, a turret, and a force field and it's broken again
17:57:00karamazovapyit's adding the teleports that break it
17:58:00raptorthat's random
17:58:00karamazovapymaybe teleports and speedzones are in the same class?
17:59:00karamazovapyit's when you hit 1024 that things break
17:59:00karamazovapythis level has 1027 - three header lines and one spawn make 1023 speed zones and it still works
17:59:00karamazovapyadd one more to make it 1024 and you're dunzo
17:59:00raptornow that number is not random
17:59:00karamazovapyno it's not
18:01:00karamazovapyimportant info to have, though
18:06:00raptorfound this in the code: const S32 MAX_LEVEL_FILE_LENGTH = 256 * 1024; // 256K
18:06:00raptorbut that doesn't explain the 1024 object type limit
18:06:00raptorwhich i can't find...
18:12:00karamazovapyI could test with another item
18:12:00raptoractually
18:13:00raptorit would be better to run the game compiled with debug information and then run it - because there are level loading error statuses
18:14:00karamazovapyI'm not a big fan of compiling for windows
18:14:00raptorwhich I can do - can you give me the current broken level?
18:14:00karamazovapyoh, sure
18:14:00raptorhehe - i don't blame you :)
18:15:00raptoryou can use any transfer mechanism: pastebin, FTP, sam's upload php...
18:15:00karamazovapyhttps://www.msu.edu/~youattan/southpole_2.level
18:15:00raptorperfect!
18:16:00raptorgot it
18:18:00karamazovapyhmm...I think I've got a lead
18:18:00karamazovapyfour times the testitems don't cause a crash, but they also aren't all visible on load
18:19:00karamazovapyyou have to fly within range of them before they show up
18:20:00raptorrats, no error message
18:20:00raptorseems to be even more nefarious
18:21:00karamazovapyyeah?
18:21:00raptori was hoping it was going to spit out one of the error messages, but it didn't
18:22:00karamazovapyI think it's a display problem, not a real error
18:22:00raptorwhich probably means it is a flaw in the code somewhere
18:22:00raptoryeah
18:22:00karamazovapylike I said, the testitems don't break it
18:23:00karamazovapyI think it's only items that are visible on load
18:23:00karamazovapywhich is why turrets and forcefields don't break it
18:24:00raptorthat's a good clue
18:24:00karamazovapyfound another good clue
18:25:00karamazovapyI'm gonna host again, check this out
18:25:00raptorok
18:42:00raptorfun bug hunting mission
18:42:00karamazovapyeven crazier
18:42:00karamazovapythe second you left
18:42:00karamazovapymy screen went back to normal
18:42:00raptorha!
18:43:00karamazovapythat's crazy
18:43:00raptori must have been the 1024 render
18:43:00karamazovapywell good luck
18:44:00karamazovapythat will be a useful bug to fix
18:45:00raptoroh yeah - because I hit it the other day on a large CTF map
18:46:00karamazovapylol...must've been a big one
18:46:00karamazovapythis could be related to crashes when people add 1000 bots!
18:46:00raptorhaha
18:47:00karamazovapyeven a borderline level with a dozen people could produce this
18:47:00raptorwe have a minor plan to reduce bot usage by a magnitude or 2
18:47:00karamazovapyit didn't even occur to me that ships could produce it until the end there
18:47:00raptorbot memory usage, i mean
18:47:00karamazovapywell however much memory they take, they still have to render
18:47:00raptorbut yeah, the graphic thing would get in the way too
19:13:00raptorhttp://www.opengl.org/resources/features/KilgardTechniques/oglpitfall/
19:13:00raptor#4
19:26:00LordDVG Quit (Remote host closed the connection)
19:27:00raptoractually that might not be it..
19:36:00raptorkaramazovapy: can you send me that level with all the bouncers?
19:42:00karamazovapythe testitem level?
19:42:00raptorthe large block of yellow bouncers
19:42:00karamazovapyyeah, those are testitems
19:42:00raptorahhh...
19:43:00karamazovapyhttps://www.msu.edu/~youattan/rumblestamp.level
19:43:00karamazovapythere are a fuckton
19:43:00karamazovapylike...more than 4000, I think
19:43:00raptorgot it
19:43:00raptorthanks
19:44:00karamazovapynp
19:59:00karamazovapylol...this game looks like a really tedious nightmare... http://www.youtube.com/watch?v=fnqZMTaXdC0
20:01:00karamazovapythe whole game looks like it's just some german chick talking
20:03:00raptorhaha, i think i found where to increase the limit - but it sure crashed the game hard
20:03:00karamazovapyooh...neat
20:04:00raptoraparently the server only keeps 2^10 objects in memory to pass back to the client
20:04:00raptori increased it to 2^11
20:04:00karamazovapyahh
20:05:00karamazovapyis there some way of keeping 2^10, but allowing the game to render what it's got?
20:05:00raptoryeah - that's the thing - it's like another bug is hidden in there...
20:07:00karamazovapyeven with the limit, it makes me wonder why *nothing* renders if *everything* can't render
20:34:00raptori'm going to have to debug this with sam686 or watusimoto - i'm in over my head with what this code is doing; but, I think I have the correct spot
21:58:00Zoomberhi
21:59:00karamazovapywe figured out why you spawn black when there's too much stuff in a level
22:01:00Zoomberoh
22:01:00Zoomberpleease, tell me of the deets
22:02:00Zoomber@raptor, if your on; i found a bug with SDL Bitfighter on mac
22:02:00Zoombera lot actually
22:02:00karamazovapy<raptor> aparently the server only keeps 2^10 objects in memory to pass back to the client
22:02:00karamazovapyso more than 1024, and it won't render
22:02:00Zoomberahh right, sam was telling me about that
22:03:00Zoomberis that a simple value we can change in the code? or might that take a bit of work fixing?
22:03:00karamazovapyraptor tried just changing it to 2^11, but it broke a bunch of stuff
22:05:00Zoomberoh
22:05:00Zoomberdang, i better check the logs and see how my server crashed
22:07:00Zoomberits blankety blank
22:07:00Zoomberoh
22:07:00Zoombernow its fine
22:09:00Zoomberhey karamazovapy, how is the level going?
22:10:00karamazovapyprogress!
22:10:00Zoombernice
22:12:00Zoombersomeone named yamenu13 sent me a message asking for the xcode project with /cheat in it..I can only imagine where this is going. (sam and I built a /cheat command, but now that I have gotten to play around with it, and see how much people are attached and constantly ask me to turn it on). I really hope, for the life of bitfighter, we don't merge the code for it..
22:13:00karamazovapyI don't think that's a merger...
22:13:00Zoomberplus..if they really wanted to find the project, they could click the useful 'project' button at the top of the bitfighter website.
22:13:00Zoomberi meant merge, in the sense of putting it in with 016, not the hg merge action
22:14:00karamazovapyyes, I realize that.
22:14:00Zoomberok; thought you did; just wanted to make sure we were on the same page
22:21:00ShadowXLoner has joined
22:22:00raptorsomeone speaketh my name?
22:22:00Zoombertwo speaketh your name
22:23:00ShadowXLoneri told you bro
22:23:00ShadowXLoneri told you about the moon
22:25:00karamazovapyaaaaoooooooooooooooooooooo!
22:25:00ShadowXLoneraeiou
22:25:00karamazovapyI was howling.
22:25:00karamazovapyat the moon.
22:25:00ZoomberJA _K?
22:25:00ShadowXLonerit keeps hapening
22:26:00ShadowXLonerI'm laughing for real right now.
22:28:00ShadowXLoner Quit (Quit: ShadowXLoner)
22:31:00karamazovapylol...so I merged my mighty level pieces, and now a bunch of the stuff doesn't render
22:31:00karamazovapybut the level still runs!
22:32:00Zoomberoooh
22:32:00Zoombercan i see it sooon when your done?
22:32:00Zoomberor some time?
22:32:00karamazovapythere's still a bit of work until it's "done"
22:32:00raptorand it will only be supported by 016... :)
22:32:00raptor(hopefully)
22:34:00raptori wonder if we'll ever reach 1.0
22:34:00Zoomberloooooooooooooooooooooooooooool
22:35:00karamazovapyI have an idea for how I can make it work
22:35:00karamazovapynot ideal, but playable
22:35:00Zoomberlay it on me
22:35:00karamazovapyyou'll see
22:35:00Zoomberok
22:36:00raptorso karamazovapy, i noticed in our tests that the spy bug keeps objects on the commander's map
22:36:00raptorwas that always so?
22:36:00raptorand if so, was that intentional?
22:36:00karamazovapyyeah, that's kind of the point of spybugs
22:36:00Zoomberi think it was, but i cant prove it
22:37:00raptorsorry, sensor
22:37:00raptori meant sensor
22:37:00karamazovapyoh, yeah, I think it's a bonus feature
22:37:00Zoomberyou mean, sensor shows spybugs in commanders maps?
22:37:00Zoomberor sensor allows spybugs?
22:37:00karamazovapyyou know where they are until they move, anyway
22:37:00karamazovapy@z
22:37:00karamazovapythere are objects that you can see on the command map, but only when you're close
22:38:00karamazovapywith sensor, you can continue to see them once you've found them
22:38:00Zoomberaah
22:38:00Zoombero
22:38:00Zoomberk
22:38:00karamazovapyunless/until they move
22:38:00Zoomberwoah
22:38:00Zoomberi see
22:38:00karamazovapyresourceitems, testitems, ships
22:38:00Zoomberthats cool
22:38:00Zoomberi never noticed that
22:38:00Zoomberooh raptor
22:38:00Zoomberi
22:38:00Zoomber
22:38:00raptori wonder if that was intentional, or just a by-product of hacking the spy bug onto the ship
22:38:00Zoomberi want to show you a cool video
22:40:00raptorok
22:40:00Zoomberlet me record what i find
22:44:00Zoomberok its processing the video right now
22:44:00Zoomberi will put it online at bitfighter.sytes.net/SDLglitch
22:45:00raptorok
22:45:00Zoomberoh man, i recoded it too big, but lucky for me i can host it on my site and note youtube
22:48:00Zoomberup
22:48:00Zoomberoh man
22:48:00Zoomberi actually recorded too little frames
22:49:00Zoombernevermind
22:49:00raptorhow to access it?
22:49:00Zoomberyou can kind of see what i was trying to do it
22:49:00Zoomberits on bitfighter.sytes.net/SDLglitch
22:50:00raptorah, it's an mp4
22:50:00Zoomberbut i messed up completely
22:50:00Zoomberif you dont see what i was showing, i can record it again
22:51:00raptorit is the white surface?
22:51:00raptoryou clear it off with another window?
22:54:00raptorwell, i have to take off for home
22:54:00raptorbe back later
22:55:00raptor Quit (Remote host closed the connection)
23:21:00raptor has joined
23:21:00ChanServ sets mode +o raptor
23:26:00Zoomber@raptor
23:27:00raptorZoomber:
23:27:00raptorhi
23:27:00Zoombermade xcode work smooth and fine again. On my clone if you want to save time..
23:27:00raptorok
23:27:00Zoomberi want to piece back together the bitfighterD target
23:27:00Zoomberyeah, im doing the painfull work, but itd be nice to make that work again,
23:28:00karamazovapywant to see a rough draft of a couple early stages in my adventure level?
23:28:00raptorsure
23:28:00karamazovapyBOB SAGET
23:28:00karamazovapycrackers
23:28:00Zoomberyes Please!
23:28:00ZoomberAAHHH 257 errors 20 seconds in!
23:40:00koda Quit (*.net *.split)
23:46:00koda has joined

Index Search ←Prev date Next date→

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