#bitfighter IRC Log

Index Search ←Prev date Next date→

IRC Log for 2013-02-14

Timestamps are in GMT/BST.

00:01:27bobdaduckokay <eof> expected near end
00:01:36bobdaduckDoes that mean I'm missing an end in the script?
00:02:36raptortry adding a new line at the end
00:02:47raptorbut that would be dumb..
00:02:51raptorprobaby something else
00:03:54bobdaducksame error message
00:04:00bobdaduckline number and all.
00:05:09raptorcode?
00:05:12bobdaduckNope
00:05:15bobdaduckI think I've got it
00:05:28raptoras in: you will not give it to me? :)
00:05:33bobdaducklol
00:05:47bobdaduckNo as in its giving me a different error when something in the script should be happening
00:06:08bobdaduckattempting to index a null value
00:06:49bobdaduckGot it
00:06:51bobdaduckscript working
00:06:52bobdaduckthanks
00:10:27raptormoral support, that's all you needed
00:10:57bobdaduckikr
00:11:12bobdaduckIts because I put all my points in charisma
00:11:17bobdaduckmoral support is very important...
00:11:27raptorhaha
00:12:24bobdaduck*suppresses urge to be lazy and ask questions I've already asked before*
00:17:38bobdaduckhalp
00:17:43bobdaduckLuadocs: testitem
00:17:59raptorok
00:18:06raptorlooks great! and empty
00:18:13bobdaduckhuh?
00:18:18raptorlist of all members
00:18:24raptorhttp://bitfighter.org/luadocs/class_test_item.html
00:18:31bobdaducklolwhat
00:18:38raptorhalp
00:18:50raptor does not know what bobdaduck asks unless he explicitly asks
00:18:59bobdaduckxD
00:19:06bobdaduckNah I think that's all I need
00:19:08bobdaduckHopefully.
00:19:16bobdaduckWISH ME LUCK
00:19:20bobdaduck*moral support*
00:20:37bobdaduckHoly crap
00:20:40bobdaduckIt actually worked
00:20:59bobdaduck...kinda.
00:21:24bobdaduckIt worked once and then broke with the excuse: "attempt to call field "new""
00:24:05kaen:I
00:24:08raptornooo
00:24:27kaen sighs
00:24:34raptoris that our bug?
00:24:39kaenI would imagine
00:24:40raptorthat would stink..
00:24:56kaenor worse yet, a different.
00:25:01bobdaducklol
00:25:03bobdaduckReally?
00:25:07kaenor maybe bob is just making stuff up
00:25:13kaenyou're just making it up, right bob?
00:25:16bobdaduckUsually
00:25:19kaenoka.
00:25:21kaen+y
00:25:22bobdaduckBut not right now
00:25:25bobdaduckUnfortunately.
00:25:26bobdaduckxD
00:25:29kaenworth a shot.
00:25:34kaencan you paste the whole thing?
00:25:52kaenthe error, at least.
00:26:00kaenalso, how recent is your build?
00:26:03SolumnMushroom has joined
00:26:09bobdaduckThis is build...
00:26:10bobdaduckuh...
00:26:19kaenhg log -l1
00:26:20bobdaduckOne of the ones raptor gave me to work on sands of time with.
00:26:24kaenoh.
00:26:26raptorhg sum
00:26:38kaen learned something today
00:26:41SolumnMushroomHello
00:26:44kaenhello.
00:26:51raptoris there a random-character name in the folder name, bobdaduck?
00:27:05bobdaduckError firing event ShipEnteredZone: blah.levelgen:35: attempt to call field 'new' (a nil value)
00:27:10kaenyes.
00:27:12bobdaduckrandom character name?
00:27:16raptori usually give out builds like: bitfighter-018a-alpha-1234qbcdef
00:27:19raptor-q
00:27:21bobdaduckoh yeah
00:27:35raptorkaen: that seems like it's a script bug on his part..
00:27:48bobdaduck6264-133f5b6ecea8
00:27:52kaenwhat are you new'ing?
00:27:57bobdaduckSpawning a testitem.
00:28:07bobdaduckI should point out that it spawns resourceitems perfectly
00:28:14bobdaduckBut it spawns one test item
00:28:18bobdaduckand then the script breaks.
00:28:20raptortry changin : to . or vise-versa
00:28:25raptorboo
00:28:28raptormaybe not..
00:28:32kaenare you against pasting the levelgen?
00:28:36bobdaduckYEAH!
00:28:38bobdaduckno
00:28:40kaenk.
00:28:46kaenwas sure how secret it was.
00:28:50kaenwasn't*
00:28:54raptorbobdaduck: if you do /clearcache in the level, then /restart
00:28:58raptordo you get same problem?
00:29:45bobdaduckyes.
00:30:01bobdaduckWell I mean you won't be able to see the level from the script
00:30:02bobdaduckso
00:30:06raptorwell, pastie
00:30:24raptorthen we'll either find a bug or... weep
00:30:44kaenADVENTURE TIME!
00:31:03bobdaduckhttp://pastie.org/6158743
00:31:46bobdaduckYou will need a level two zones, ID'd 2 and 3
00:32:10bobdaduckYour task, should you choose to accept it...
00:32:21kaenand you're saying this works fine for resource and not for test?
00:32:45kaenconsistently?
00:32:53bobdaduckYes.
00:33:00kaenafter a program restart and everything?
00:33:06bobdaduckYes.
00:33:45bobdaduckOh
00:33:46bobdaduckand
00:33:48bobdaduckafter the error
00:33:53bobdaduckYou can still spawn resourceitems.
00:35:02kaenyou're gonna laugh...
00:35:06kaenhow do I set the ID?
00:35:07bobdaduckuh oh.
00:35:11bobdaduckShift
00:35:13bobdaduckshift 1
00:35:16kaenand is it in main, raptor ?
00:35:20kaenoh
00:35:24bobdaduckin the level file.
00:35:26bobdaduckLevel editor
00:35:37kaensorry nevermind
00:35:46bobdaduckI thought you'd fixed my error and I forgot a semicolon xDD
00:36:02raptorhuh, works for me!
00:36:07bobdaduckWhat?
00:36:12raptorkaen: yeah always in main
00:36:19bobdaduckYou can spawn two testitems?
00:36:25kaenI wasn't sure if it was just like a one-off build.
00:36:41raptoroh nope, two cannot spawn
00:36:58bobdaduckYeah
00:37:02bobdaduckthat's the error.
00:37:03raptorwow!
00:37:08raptorone works, but not two...
00:37:13bobdaduckThought I noted that
00:37:14bobdaduckxD
00:37:17raptorkaen: maybe this is our simple test case!
00:37:48kaenI was hoping that
00:37:51SolumnMushroomJust fixed my broken Hold the Flag map
00:37:53bobdaduckIn related news: Can I outright spawn a core?
00:37:54kaenresource works
00:37:56kaennot testitem
00:37:58kaenomg
00:37:59kaenbobdaduck
00:38:01bobdaduckTHAT'S WHAT I SAID.
00:38:03koda Quit (Quit: koda)
00:38:05raptorTHIS IS GREAT!
00:38:05kaenyou are frickin hero dude
00:38:06bobdaducklol
00:38:09bobdaduckWhat?
00:38:15raptortest case!
00:38:18bobdaduckWhat?
00:38:19bobdaduckxD
00:38:21kaenWe have been so clueless about this bug
00:38:27raptorfeasability to track pointers!
00:38:27kaenlooking for a simple way to test it
00:38:30raptor(maybe)
00:38:50kaenwe can examine the two of them and see what differs...
00:39:28bobdaduckI just realized
00:39:31bobdaduckWith this level I'm making
00:39:40bobdaduckI can make the most complicated script bitfighter will ever see
00:39:41bobdaduckever
00:39:43bobdaduck.xD
00:40:00bobdaduckAlso why is circle in the luadocs?
00:40:02bobdaduckCan I spawn one?
00:40:05raptorNO
00:40:07bobdaduckAnd will that crash people?
00:40:08bobdaduckxD
00:40:10raptorYE
00:40:11raptorS
00:40:15kaenIT WILL REND THE INTERNET ASUNDER
00:40:19bobdaduckrofl
00:40:56Platskies has joined
00:40:59bobdaduckSo... What about my script?
00:41:05kaenlooks fine
00:41:06kaenshould work
00:41:07kaendoesn't
00:41:17kaenwe've been trying to fix your script for like the last week.
00:41:20kaenor more.
00:41:21raptorthat's... crazy!
00:41:35bobdaduckwhat is?
00:41:37bobdaduckI'M SO CONFUSED
00:45:40bobdaduckOH COME ON
00:45:47bobdaduckCURRENTLY CANNOT INSTANTIATE A SHIP OBJECT FROM LUA
00:45:56kaenhuehuehue
00:46:25bobdaduckAlso why do circles crash things?
00:46:48kaenraptor, so those two classes look thoroughly identical to me
00:47:09kaenlike, copy/paste, s/Test/Resource/
00:47:32kaenexcept for dismount
00:49:13bobdaduckBah! You guys won't let me randomly spawn cores on people either!
00:49:40raptorone is a subclass of MountableItem
00:49:50kaenjust looking into that.
00:50:00kaenmaybe the difference is up the chain.
00:50:52SolumnMushroomUpdated my fourm posts to include the updated .level file
00:52:36bobdaduckCan I make it so people can engineer speedzones?
00:53:25kaennope.
00:53:31bobdaduckUsing scripts.
00:53:54bobdaducklol
00:55:19kaenI know.
00:55:32bobdaduckCan I make it so touching a wall deletes it?
00:55:49kaenI don't think there's a collision callback
00:55:52kaenthat would be cool though
00:55:58kaencould wrap the wall in a zone though.
01:02:46SolumnMushroomWhat percentage does the armor reduce damage by?
01:03:26kaentextitem = nil
01:03:26kaenfunction spawnResource(ship)
01:03:26kaen local loc = ship:getLoc()
01:03:26kaen resourceitem = ResourceItem.new()
01:03:27kaen resourceitem:setLoc(loc)
01:03:28kaen levelgen:addItem(resourceitem)
01:03:30kaenend
01:03:32kaenfunction spawnTestItem(ship)
01:03:34kaen local loc = ship:getLoc()
01:03:36kaen TestItem = TestItem.new()
01:03:39kaen TestItem:setLoc(loc)
01:03:40kaen levelgen:addItem(TestItem)
01:03:42kaenend
01:03:44kaenfunction onShipEnteredZone(ship, zone, zoneType, zoneId)
01:03:46kaen if(zoneId == 2) then
01:03:48kaen spawnResource(ship)
01:03:50kaen elseif(zoneId == 3) then
01:03:52kaen spawnTestItem(ship)
01:03:54kaen end
01:03:58kaenend
01:04:00kaenfunction onShipLeftZone(ship, zone, zoneType, zoneId)
01:04:02kaenend
01:04:04kaenfunction onTick()
01:04:06kaenend
01:04:08kaenfunction main()
01:04:10kaen subscribe(Event.ShipEnteredZone)
01:04:12kaen subscribe(Event.ShipLeftZone)
01:04:14kaenend
01:04:16kaenwhoa oops
01:04:18kaenomg I'm so sorry.
01:04:20kaen....
01:04:22kaenbobdaduck
01:04:24kaen if(zoneId == 2) then
01:04:28kaen spawnResource(ship)
01:04:30kaen elseif(zoneId == 3) then
01:04:32kaen spawnTestItem(ship)
01:04:34kaenchange 3 to 1 dude.
01:04:42bobdaduckwhat
01:04:43bobdaduckwhy
01:04:55kaenbecause your zones are 1 and 2
01:04:58kaennot 2 and 3
01:05:08bobdaduckUm
01:05:19bobdaduckI have a zone 1 that I was going to do something with later.
01:05:30bobdaduckxD
01:05:56kaenoh god
01:05:57kaenno
01:06:00kaenI just can't read
01:06:01bobdaduckrofl
01:06:09bobdaduckYou can change it if you want
01:06:24kaenI'm going to sleep until I forget the shame of the last four minutes
01:06:28kaengood night.
01:06:34SolumnMushroomNight
01:06:35bobdaduckrofl
01:06:41bobdaduckknight
01:08:17SolumnMushroom*me is rolling his eyes
01:08:21SolumnMushroomoops
01:08:51SolumnMushroomme &2 is rolling his eyes
01:08:56SolumnMushroomoops
01:09:32bobdaducklol
01:09:42SolumnMushroom*sarcasm I am the best at IRC *endsarcasm
01:10:03bobdaduckAlso
01:10:09bobdaduckIf I make two zones the same ID
01:10:17bobdaduckthey will both work.
01:10:26bobdaduckAs far as spawning resources and stuff.
01:11:31kaenthat's a simple bug to fix
01:11:39kaenrename it "group ID"
01:11:45kaengood-to-go
01:12:08kaenbut now I really am going to sleep.
01:12:09bobdaduckWhat?
01:13:45raptorheaading home! back later
01:13:48raptor Quit ()
01:19:15bobdaduckActually: If I have multiple zones with the same zone ID, some will spawn two resource items and some will spawn one.
01:20:14bobdaduckNowait
01:20:19bobdaduckThey all only spawn one.
01:20:25bobdaduckI had two zones on top of each other.
01:20:26bobdaduckxD
01:29:53Platskies Quit (Remote host closed the connection)
01:39:25SolumnMushroomHad to go out to get my mom a birthday present
01:41:39Platskies has joined
02:28:46SolumnMushroomBought her a blanket and a card
02:30:24bobdaducknice
02:31:26SolumnMushroomHer birthday is tomorrow
02:35:26bobdaduckCool
02:50:20raptor has joined
02:50:20ChanServ sets mode +o raptor
02:50:40raptorforgive me... i'm coding something in java
03:17:14raptor Quit ()
03:17:32raptor has joined
03:17:33ChanServ sets mode +o raptor
03:20:14bobdaduckOkay raptor
03:20:31bobdaduckRemind me why you like new maps so much?
03:28:12Fordcars has joined
03:41:44FordcarsHey guys, are there any levelgen tutorials with triggers yet or do I have to figure it out by myself?
03:46:49raptorFordcars: sadly no tutorials yet, although there is some documentation: http://bitfighter.org/luadocs/index.html
03:46:54raptorbut
03:47:00raptorit doesn't actually work with 018
03:47:21raptorthere was a bug in the released version that prevents levelgens from working properly
03:47:29raptorbobdaduck: because i'm a closet explorer - i like the unknown
03:49:53Fordcarsoh ok :P
03:49:59Fordcarsthanks
03:50:29FordcarsWilol it work in 018a?
03:50:39Fordcars*will :P
03:50:45SolumnMushroomFunny Kirby transformation video for all: https://www.youtube.com/watch?v=FX9D-3R0mjY
03:54:20raptorFordcars: yes-ish
03:54:33raptoras in, if we can't solve this bug it will work 50% of the time :)
03:54:41Fordcarsok :P
03:56:18Quartz has joined
03:56:21QuartzAccording to bobdaduck: MAP PARTY IN LIKE 5 MINUTES!
03:56:29raptorwhat
03:56:30FordcarsWHAT
03:56:41Quartz is now known as Guest92381
03:56:45Guest92381you heard me
03:56:49Guest92381umm
03:56:50Lamp89 has joined
03:56:51Lamp89 Quit (Changing host)
03:56:51Lamp89 has joined
03:56:53Guest92381Now I'm guest but you know
03:56:55Guest92381You still heard me
03:56:57Lamp89hi
03:56:59Fordcarsisn't it in like 15 days :P
03:56:59raptorhaha, k
03:57:01Lamp89wat is guest
03:57:04Lamp89BOBDADUCK
03:57:07Lamp89U COMING NOW?
03:57:08FordcarsQuartz
03:57:33raptorGuest92381: probably the owner of the 'Quartz' account actually logged on...
03:57:45Guest92381yeah, screw that guy
03:58:25Fordcarslol
03:59:08Lamp89_ has joined
04:00:19bobdaduckIN A SEC
04:00:21bobdaduck60 SEC
04:01:35Guest92381there's these faggots acting like political figures
04:01:39Guest92381They seem to think it's funny
04:01:42Guest92381I think it's a boring joke.
04:01:46bobdaducklolwhat
04:01:46Lamp89_bob
04:01:49Lamp89 Quit (Ping timeout: 276 seconds)
04:01:51bobdaduckI'M WORKING ON IT
04:01:57bobdaduckxD
04:01:58Lamp89_ /nick Lamp89
04:02:02Lamp89_ is now known as Lamp89
04:02:04Lamp89 Quit (Changing host)
04:02:04Lamp89 has joined
04:11:47SolumnMushroom Quit (Quit: Leaving)
04:23:18Lamp89 Quit (Remote host closed the connection)
04:28:38Platskies Quit (Remote host closed the connection)
04:29:09Fordcars Quit (Quit: This computer has gone to sleep)
04:36:05Lamp89 has joined
04:36:06Lamp89 Quit (Changing host)
04:36:06Lamp89 has joined
04:36:56Lamp89 Quit (Remote host closed the connection)
04:41:08Platskies has joined
05:01:21Guest92381 Quit (Quit: Page closed)
05:09:22bobdaduckBest level ever amirite
05:09:29raptorthat was amazing
05:09:43raptorunrestricted engineer wasn't soo bad
05:10:09raptori couldn't tell if everything was impenetrable yet
05:10:22raptorit was hard (going against blue) but doable
05:12:23raptoralso how does your sister like bitfighter so far? (side note, we need to fix that black hole...)
05:24:12amgine1234567890 has joined
05:24:15amgine1234567890hi
05:24:24amgine1234567890is raptro afk?
05:41:16raptori'm here
05:42:42amgine1234567890jsut wonder if its ready for testing yet ill be ready whne the time comes in hte mean time im trying to make the bot have so much AI it cant be beat in 1 on 1 XD
05:43:05raptorsorry, not much testing yet - we still want to work through a few bugs
05:43:36amgine1234567890ok call me if you need some help ill let you know of any progress i make on the bots.
05:44:19raptorok
05:45:29kodaws has joined
05:48:19bobdaduckMy sister likes bitfighte
05:48:24bobdaduckThere were a couple ways
05:48:25raptorhooray!
05:48:30bobdaduckThat you could make it invincible
05:48:39bobdaduckI've found only two so far so that's good
05:48:47raptori got lucky with red in that game
05:48:49bobdaduckSo many corridors that making everyting perfect is hard
05:48:51bobdaducklol
05:48:56bobdaduckRed was invincible that game
05:48:58bobdaduckthat''s why
05:49:00raptori got in, before they made it hard and was a virus
05:49:07raptorgot 8 of their cores
05:49:14bobdaduckNice
05:49:18bobdaduckI gotta go to bed
05:49:19bobdaduckGG everyone
05:49:21raptornight!
05:49:33amgine1234567890what?
05:49:35bobdaduck<<<<Ridiculous level guy
05:49:42amgine1234567890 whats level?
05:49:43raptorthat was amazing
05:49:46raptorgood job
05:49:50bobdaduckAmgine missed everything lol
05:49:54bobdaduckNIGHT
05:49:54raptorand qui showed up!
05:49:56raptornight
05:50:00bobdaduckIkr
05:50:04bobdaduckI just went to footloose on skype
05:50:06bobdaduck"FOOT
05:50:11bobdaduckSECRET MAP UNVEILING TEN MINUTES
05:50:13bobdaduckGET EVERYONE."
05:50:17bobdaduckshe's all "k"
05:50:20raptorhaha
05:50:22raptorgreat
05:50:27bobdaduckI don't even know how she got Qui
05:50:30bobdaduckI don't even.
05:50:36raptorheh
05:51:25bobdaduck Quit (Quit: Page closed)
05:55:03amgine1234567890a shame i jsut finished editing my level to improve it....
06:28:54amgine1234567890well gtg bye
06:28:57amgine1234567890 Quit (Quit: Page closed)
07:12:41Darrel has joined
07:19:51raptor Quit ()
07:35:16Lamp89 has joined
07:35:16Lamp89 Quit (Changing host)
07:35:17Lamp89 has joined
07:36:13Lamp89aww raptor not here.... :(
07:36:19Lamp89:C
07:36:24Lamp89sam686?
07:37:36Lamp89I got Bitfighter 13e and I'm trying to hook it up to the master server.
07:37:43Lamp89I changed the IP in Bitfighter.ini but it still can't connect.
07:38:56Lamp89 Quit (Remote host closed the connection)
09:59:16Darrel Quit (Read error: Connection reset by peer)
10:07:42Darrel has joined
10:39:27Platskies Quit (Remote host closed the connection)
10:42:21Platskies has joined
12:24:10Platskies Quit (Remote host closed the connection)
12:30:55Platskies has joined
13:17:42Platskies Quit (Remote host closed the connection)
13:32:54Nothing_Much Quit (Ping timeout: 256 seconds)
15:45:32bobdaduck has joined
15:46:13raptor has joined
15:46:14ChanServ sets mode +o raptor
15:46:52bobdaduckG'mornin' 'gents.
15:47:04raptorbuenos buenos
15:52:37kodaws Quit (Read error: Connection reset by peer)
15:53:03kodaws has joined
16:07:38raptorprint statements everywhere!
16:07:55raptorkaen: have you worked on the levelgen bug much since bobdaduck's discovery?
16:09:11bobdaducklol
16:09:22bobdaduckThat was originally going to be in the level too
16:09:28bobdaduckBut it kind of didn't work.
16:09:37raptorthat level was EPIC
16:09:44raptorin all senses of the word
16:09:54bobdaduckrofl
16:10:24bobdaduckI was like "foot, secret map unveiling in 10 minutes invite EVERYONE."
16:10:32bobdaduckShe's like 'k'.
16:11:21bobdaduck15 cores per team, 3/4ths the size of fast nexus
16:11:23bobdaducklol
17:07:48bobdaduckIts too bad kaen missed it last night
17:07:55bobdaduckHe would actually be able to play that map!
17:07:56bobdaduckxD
17:43:03Darrel Quit (Read error: Connection reset by peer)
17:44:11Darrel has joined
17:59:46kodaws Quit (Read error: Connection reset by peer)
19:13:11bobdaduck Quit (Ping timeout: 245 seconds)
19:23:48raptoraww man!
19:23:53raptorkaen: bah!
19:24:27raptorthat test case from bobdaduck doesn't trigger the bug
19:24:58raptorhe used 'TestItem' as the variable to set: TestItem = TestItem.new()
19:25:11raptorchanging it to 'testItem' makes it work just fin
19:25:13raptor*fine
19:36:01kaengood god.
19:51:39Nothing_Much has joined
19:55:46LordDVG has joined
19:56:48raptoryeah, i'm an idiot
19:56:55raptorshould have noticed that before..
19:58:01kaenditto
19:58:12kaenI went on about how it was fine, even...
20:00:26bobdaduck has joined
20:06:44raptorbobdaduck:
20:06:49raptorthat levelgen bug
20:06:51raptorisn't a bug
20:07:04raptorwith testitems
20:14:53bobdaduckReally?
20:17:36raptoryep
20:17:45raptorsee this line: TestItem = TestItem.new()
20:18:00bobdaduckYeah
20:18:08raptoryou need to make that first variable something different
20:18:16raptorlike 'testItem' (not capitalized)
20:18:23raptorbecause 'TestItem' is reserved
20:18:40raptorsince you redefined 'TestItem' there, it fails
20:19:21bobdaduckHuh.
20:19:41bobdaduckWhy's it fail?
20:19:53raptorso make it somethign simple like 't': http://pastie.org/6167850
20:20:14raptorso 'TestItem' is already reserved as the way to access a TestItem object
20:20:33raptorwhen you do 'TestItem =' you are stealing the reserved variable and making it your own
20:20:52bobdaduckOkay, why does that break it after one iteration then?
20:21:10raptorso next time it tries to call the reserved variable (TestItem.new()) it calls .new() on your stolen TestItem variable from the previous iteration and fails
20:21:37bobdaduckohhh
20:21:43bobdaduckOkay
20:22:25bobdaduckSo I didn't break the game with a simple test case?
20:22:27bobdaduckSad day.
20:22:51raptorheh
20:22:56raptornope, user error...
20:23:08raptorwe're sad... we thought we had a lucky break..
20:23:16bobdaduckArg!
20:23:51bobdaduckWell maybe I can break it some more better when I get home and try more crazy stuff.
20:23:56raptorok
20:24:21bobdaduckWhat types of things should I be trying?
20:26:01bobdaduckOr.... Is that the problem.
20:28:07raptoranything you want
20:28:25raptorour bug is a random crash of levelgens..
20:29:27bobdaduckCompletely random?
20:29:45raptorsort of yes
20:30:23bobdaduckSort of random?
20:30:41kaenwe know of a few situations where it can pop up
20:30:44raptorit is random enough that we can't get a simple test case
20:30:49kaenyes.
20:30:50raptorwe have a complex test case though
20:31:04kaenwhich is why we were so excited last night.
20:31:27kaenWHY DID YOU LET US DOWN LIKE THIS BOB?
20:31:48kaenalso, hello
20:31:51bobdaduckI'M SORRY
20:32:01bobdaduckWhat does your complex case involve?
20:32:10kaenstart a game -> add bots -> wait
20:32:14bobdaduckrofl
20:32:39bobdaduckreally?
20:32:43kaenit's complex enough that when added on top of a full recompile, testing possible solutions is very time consuming
20:32:46kaenyes, really.
20:32:48bobdaduckAnd everything else is pretty much random?
20:32:55kaenwell, not a full recompile anymore
20:32:56kaenbut still
20:33:07kaenyes, it's random exactly *when* the bug occurs
20:33:13kaenas is its exact manifestation
20:33:40kaenthe only things we know are its rough scope and that will *always* happen
20:33:42kaeneventually.
20:33:52kaenthat it will*
20:34:37kaenexcept, of course, when raptor is trying to bisect it
20:34:48kaenthen it will spontaneously not happen and send us chasing waterfowl.
20:34:48bobdaducklol
20:35:00kaenso clearly the bug is sentient
20:35:05bobdaduckrofl
20:35:16kaenwe agrees with my "atomic-sized code-dwelling gnomes"
20:35:18bobdaduckYou're just missing a semicolon somewhere probably
20:35:19kaenhypothesis.
20:35:25kaenwhich agrees*
20:35:30bobdaducklol
20:35:31kaenI can not type.
20:36:01bobdaduckNope.
20:36:01Wuzzy has joined
20:36:22kaencan't even blame it on my computer :<
20:36:23bobdaduckIn stock 018 will bots work?
20:36:25kaenyes
20:36:27kaenhappily.
20:36:42raptorso we *do* have bots working now...
20:36:56raptorbut not levelgens, and we don't even understand why bots work with our fix
20:38:20bobdaduckHow does the bug break levelgens?
20:38:29bobdaduck(also what's the error on bot crash?)
20:41:14raptor'how' is what we're looking for
20:41:36raptorthe error is generic, you'd see it in the console
20:48:46raptorhahaha, Quartz' server cracks me up
20:49:21kaenso, raptor
20:49:32kaenwhen was the last time you ran object_persistence_test.levelgen?
20:49:43kaenbecause it's failing for me now.
20:49:47raptori've never run that...
20:49:53raptori don't even know what that is..
20:50:07kaenit looks like it tests if lua gc'ing things it shouldn't
20:50:16kaenand now one of the asserts is triggered.
20:50:23kaenI'll try with an earlier rev.
20:50:32raptorwhere can i get that?
20:50:38kaenresource/testing
20:50:50raptorwhere did that come from!?
20:50:52kaenI just found it
20:50:55kaenlike 30 seconds ago.
20:51:09kaenby accidentally tab completing things, no less
20:51:59raptorah ha! watusimoto asked about this on SO a few weeks ago: http://stackoverflow.com/questions/14531901/is-my-lua-object-being-collected
20:52:42raptorbut looks like he abandoned his premise... that the luatraverse script is wrong
20:52:53raptori mean, that he things its wrong...
20:54:30raptorah, but he used it with the userdata cache that we've removed for now..
20:54:47Darrel_ has joined
20:55:01Darrel Quit (Read error: Connection reset by peer)
20:56:10kaen"That suggests to me that something is preventing the objects from being collected"
20:56:29kaenI really agree with this (which wat said in the comments)
20:58:36Wuzzy2 has joined
21:00:17kaenalso, I read something in the luawrapper header the other day, a pushed value can sometimes be nil if it was c++ destructed for whatever reason and that client code should check for this case.
21:01:42Wuzzy Quit (Ping timeout: 256 seconds)
21:07:12raptorhmm
21:07:24raptorexcept we always push a real object, don't we?
21:07:46raptorand levelgens
21:08:41raptorjust do metatable lookups, don't they?
21:08:45raptorwell
21:08:46raptoractually
21:09:31raptorin that test case for bug #4...
21:10:41raptor is testing something
21:13:33raptoruh kaen, i'm now getting this error everytime i run that test script sam686 provided: http://pastie.org/6168409
21:14:12raptoroh... wait
21:14:17raptorit needs to be updated with point.new
21:15:06kaenyeah
21:15:20kaenhow do you update the TextItem though?
21:15:31raptormultiple points work, too
21:15:31kaenI tried Geometry.new and still get the error
21:15:32raptorsetGeom(point.new(x * 100, y * 100), point.new(x * 100 + 100, y * 100))
21:15:36kaenokay
21:16:37raptorreducing it to 5x5
21:16:57kaendo you get an error for settext?
21:17:07raptoryes, always an error for settext
21:17:34kaendoes the script ever work for you?
21:17:37raptorso what does that mean...
21:17:38raptoryes
21:17:41kaenbecause it fails for me every time.
21:17:47raptordo /clearcache
21:17:49raptorthen restart
21:18:27Wuzzy2 Quit (Quit: Wuzzy2)
21:18:37Wuzzy has joined
21:18:41raptori can remove the resource items and it still crashes
21:19:02kaenif I remove the text items it does not.
21:19:09kaenobviously.
21:21:31raptorok, printed out 'textItem' with each iteration and it prints this right before crashing: userdata: 0x28211a8
21:21:45kaen!!
21:21:52kaenthat's not a valid address for your system, is it?
21:22:26raptorthat's what all userdatas even when working print out..
21:22:30raptorsimilar
21:22:37kaenokay then
21:22:50raptor7 characters... 64bit system
21:22:50kaenmine all start at 0x80 something
21:22:53raptorkind of messed up
21:23:00kaenyes.
21:23:15raptori can only assume its: 00000000028211a8
21:23:20kaendefinitely.
21:24:09raptorso
21:24:25raptorwe know now that Lua *does* think it is a userdata, but that the 'setText' method is missing
21:25:01kaenindicates a bad metatable
21:25:17kaenor that the specific userdata has an unset, or improperly set metatable
21:26:19kaenI can not for the life of me decipher how these metatables are built
21:26:54kaenI get the three obvious macros: the two LUA_GENERATE* and the METHOD one
21:27:15kaenbut I don't see where that is actually built into a lua metatable
21:30:06raptorhow are you printing the metatable?
21:32:06kaenI'm not...
21:32:12kaenI have not idea how I might.
21:32:23kaenoh wait, I have an idea
21:33:27kaenluaL_getmetatable(L, LuaWrapper<T>::classname);
21:33:32kaenshould push it on the stack
21:33:37raptorthis may be insightful: http://stackoverflow.com/questions/726958/query-lua-userdata-type-from-c
21:33:43kaenthen maybe you can dump it with that other function we have.
21:34:00kaenof course you have to know T
21:35:49kaenand lua_getmetatable(L, index) gets the mt of whatever is at index
21:36:13raptoruhhh
21:36:23raptortextItem.cpp:65
21:36:32raptoranything look funny to you there?
21:37:02kaen...
21:37:21raptorlet's see what changing 'TextItem' to 'Spawn' does
21:37:26raptorerr, other way aroujnd
21:37:44Darrel_ Quit (Quit: Closed IRC client)
21:38:55kaenhmm, looks like the strings are cosmetic
21:39:05raptorcrashes on the next line now!
21:39:17kaenwtf.
21:39:19raptornow it's crashing on addItem for me
21:39:31raptorattempt to call missing or unknown method 'addItem' (a nil value)
21:40:04kaensame error I imagine
21:40:06kaencopy/pasting
21:40:20kaenoh wait
21:40:25kaenthat method is inherited.
21:41:35raptori am verifying every one of those in the code..
21:41:43raptorso far FlagItem was a CoreItem
21:45:31raptoryeah, cosmetic... but it caused a change in behavior
21:45:46kaenwhy?!
21:45:52kaendid you see the function?
21:46:09kaenit only uses them once an error is already found.
21:46:23raptorcorrect
21:46:26raptorbut
21:46:33raptorit caused a change in behavior...
21:46:34raptorsooo
21:46:36raptorwhat does that mean
21:46:42raptormemory corruption?
21:46:46kaenlooks like it
21:46:53kaengod I hope so
21:46:59kaenspawnitem
21:47:02kaentextitem
21:47:11kaenmaybe a single byte overflow?
21:47:24kaenthat would be nuts.
21:47:28raptorimproperly terminated char array somewhere?
21:47:55raptori was once told that if i ever see 'char' in my c++ code then I have a bug
21:48:08kaenthat sounds like pretty good advice.
21:48:22BFLogBot Commit: dff92d5efd44 | Author: buckyballreaction | Message: Make sure we supply the proper class name for argument checking
21:49:29raptorok, well
21:49:32raptortested again
21:49:42raptordying on addItem now...
21:50:59kaennot for me
21:51:05kaenafter a fresh hg pull -u
21:51:37kaenI'm on a 32 bit machine, it might be worth mentioning.
21:51:41raptorthis is my levelgen: http://pastie.org/6168825
21:52:04raptortakes 2 or 3 restarts to crash
21:52:07kaenmine is that s/4/20
21:52:17kaenand crashes on settext still
21:52:24kaenhg sum confirms I'm on the right rev
21:52:33kaenmake doesn't build anything new.
21:52:40kaenmight try a full rebuild just to be sure.
21:52:47raptorme too
21:54:00kaenso, on the topic of the header madness and disproportionate build time for bitfighter
21:54:09kaenwe should just go forward-declaration crazy one day
21:54:15kaenone time, in one fell swoop
21:54:30kaenand see what sort of performance change that has
21:54:36raptorwe've done some of that already...
21:54:46raptorbut not since boost
21:54:48kaenthere's still a ton of full includes though
21:54:49raptori don't think
21:55:19kaenand I don't see very much implementation in the headers typically
21:55:44kaenanyway, I'm done building. testing now.
21:56:04kaenstill at settext for me.
21:56:25kaen(now I'm glad when full rebuilds don't fix anything)
21:56:41raptoryeah, i purged most implementations from headers
21:56:56raptorok, still at addItem...
21:57:01kaencrazy
21:57:22raptorok, so memory corruption?
21:57:33raptorthat means char array, in my head
21:57:41raptorand where would we be doing that..
21:58:01kaenall over the place, when it comes to this lua stuff
21:59:05kaenwhatever you do, don't search "char" in luawrapper.h
21:59:10raptorheh
21:59:14kaenjust don't.
21:59:47kaenit doesn't make any sense to me why they'd use char for that
22:00:07kaenit's not like the code is c-compatible
22:00:31kaenI'm sure it was for some hypothetical, completely unmeasured "performance" reason
22:01:02kaenand now, having that char curse inflicted upon us by our tools we are left hunting bugs that shouldn't even exist any more.
22:02:31kaenoh god. every message, prefix, classname, function name, and internal luaw string constants (used as keys) are all char*
22:02:43raptorhmmm
22:03:02kaenlet's look for strncopy and friends
22:03:12raptori keep checking back to LuaWrapper on bitbucket hoping to find something like "fixed memory corruption"
22:03:23kaenhaha
22:06:19raptori don't know if anything is promising... https://bitbucket.org/alexames/luawrapper/commits
22:06:33raptorbut i did find that line-endings in our LuaWrapper.h are both formats!
22:07:49raptori've been getting after watusimoto for over a year about line endings... he keeps assuring my he's fixed saving DOS formatted lines
22:07:56raptor*me
22:08:30kaenhehe
22:08:51kaenwhenever I see them in the source I just shake my head and grin
22:08:59raptorline endings -> unix doesn't help much... still crashes
22:09:11raptori've seen line endings mess things up with preprocessor macros
22:09:31kaenah, I see
22:09:34kaenthat makes sense.
22:32:20LordDVG Quit (Remote host closed the connection)
22:40:08bobdaduck Quit (Quit: Page closed)
23:10:14Disconnected.
23:10:14-morgan.freenode.net- *** Looking up your hostname...
23:10:14-morgan.freenode.net- *** Checking Ident
23:10:14-morgan.freenode.net- *** No Ident response
23:10:15-morgan.freenode.net- *** Couldn't look up your hostname
23:10:21BFLogBot has joined
23:10:21Topic is 'Bitfighter 018 released! | http://www.bitfighter.org/downloads | Join us in the forums! at http://bitfighter.org/forums/'
23:10:21Set by raptor!~raptor@unaffiliated/greenmachine on Fri Jan 18 20:33:17 GMT 2013
23:10:21-ChanServ- [#bitfighter] Welcome to #bitfighter. This is an IRC channel, many or all of the users may not be paying attention. Please have patience when waiting for a response.
23:17:52bobdaduq has joined

Index Search ←Prev date Next date→

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