#bitfighter IRC Log

Index Search ←Prev date Next date→

IRC Log for 2013-02-10

Timestamps are in GMT/BST.

00:00:17raptornext question: how to properly initialize a struct
00:01:02kaenMove is a class :x
00:01:14raptorbah
00:01:21raptorare you working on this same problem?
00:01:25raptor(because i don't want to duplicate)
00:01:30raptordupe work, i mean
00:01:49kaenmissing the angle init
00:01:59kaeneh I'm compiling valgrind so I'm just looking at this with you
00:02:10kaenI can buzz off :)
00:02:24raptorheh, nono, i like help with things i don't fully understand
00:02:42raptorMoveStates
00:02:53kaenwell I like helping with things I don't understand.
00:03:03raptoris also a class that needs to be initialized i think...
00:03:48raptorha
00:04:42raptormaybe it just needs a proper constructor?
00:05:46kaenyeah, I don't think that array gets a default initializer
00:06:01kaenbut I'm not positive
00:06:31Nothing_Much_ Quit (Remote host closed the connection)
00:06:33kaenIf an array has no initialization, the values are undefined.
00:06:34Nothing_Much Quit (Remote host closed the connection)
00:06:51kaenfrom a random place about c++ arrays.
00:06:57Nothing_Much has joined
00:07:01raptori'm gonna cheat and do something like mMoveStates = {0};
00:07:07kaensounds good
00:07:18kaenmMoveStates({0}) maybe?
00:07:30kaenI like initializer lists
00:07:35raptorMoveObject doesn't have a virtual destructor!?
00:07:41kaenno way
00:07:43kaenare you serious?
00:07:50raptori'm cereal
00:07:57raptoruh, serious
00:08:00kaenbahahahahahah
00:08:00kaenahahah
00:08:01kaenahahaha
00:08:01kaenahah
00:08:02kaenahhaha
00:08:02kaena
00:08:20raptormaybe I should go through code and make sure our destructors are OK...
00:08:32kaenoh wow
00:08:37kaenwhat a revelation.
00:08:50raptorbecause... that could easily cause goofy problems like ours
00:09:02kaenyes.
00:09:13raptorsearching other classes... regex to the rescue!
00:13:05raptorkaen: in your opinion would adding a virtual destructor to these missing classes mess up the LuaW inheritance stuff?
00:13:25kaenthey need virtual destructors in order to work properly!
00:13:50kaenthere's a lua destructor that has to be called for each class in the inheritancechain
00:14:51kaenLUAW_DESCTRUCTOR or something like that in most bfobject classes
00:16:27raptorha!
00:16:29raptorok
00:16:37raptorlet me fix these and giff you a diff
00:16:40raptor*give
00:16:46kaenI like that word
00:16:47kaengiff
00:16:51kaengiff it to me please.
00:17:06kaenbut I actually have to go do some errands right now
00:17:12kaenI'll be back in about an hour.
00:17:14kaengood luck!
00:17:36raptork
00:19:09Fordcars_later guys gtg eat lasagna
00:19:15raptortasty!
00:19:17raptorbye
00:19:23Fordcars_hehe later
00:19:25Fordcars_ Quit (Quit: Leaving)
00:24:57raptorok kaen: teh diff: http://sam6.25u.com/upload/virtual_destructors.diff
00:26:38raptorthere was once before where a missing virtual destructor was causing weird problems
00:38:33amgine1234567890 has joined
00:38:40amgine1234567890hi there.
00:44:59amgine1234567890BF frzoe on me
00:45:38kaendid you try putting it over a heat vent?
00:53:51Fordcars has joined
00:55:14Fordcarsbrb
00:55:15Fordcars Quit (Client Quit)
00:56:38amgine1234567890 Quit (Quit: Page closed)
01:12:30bobdaducklatest commit
01:12:41bobdaduckI'm getting a crash when I try to get into 018a serv
01:13:21bobdaduck"out of range read"
01:13:23kaenyou might have the wrong commit
01:13:30kaenthere are two heads now...
01:15:34Fordcars has joined
01:17:03SolumnMushroom Quit (Quit: Leaving)
01:19:09bobdaduckfull recompile didn't seem to work
01:19:12bobdaduckeveryone is still crashing
01:19:40Fordcarshehe you bet
01:20:34raptorhi hi
01:20:49kaenare you using a command line, bobdaduck?
01:20:56bobdaduckno
01:21:09kaencan you give me the hash of the current revision you're on?
01:21:14kaenthe shasum?
01:21:20bobdaduckthe what
01:21:27bobdaduckI don't understand what you just said
01:21:30raptorrevision number like: 1234abcde
01:21:38bobdaduckuh
01:21:42kaen6685:e09f280e66b4
01:21:45kaenit looks like that
01:21:46bobdaduckI don't know which one it is
01:21:50kaenoh
01:21:54raptor*gasp*
01:22:01bobdaduckIts like aecc2398u13numberssssss
01:22:17bobdaduckFine fine. *looks*
01:22:18kaenbobdaduck, if you want help you need to cooperate...
01:22:20kaenk
01:22:43bobdaduckMind that its my changes that are crashing people
01:22:47bobdaducknot the version
01:23:03bobdaduckcompiling from eacc478090d9
01:23:06kaenyou can have one of two versions if you just updated in the last few hours
01:23:46raptorok, that should be a good one for sure
01:23:50kaendefinitely
01:23:57bobdaduckIts my changes.................................
01:24:07kaensame changes you posted last night?
01:24:10kaensame *exact*
01:24:13kaen*identical*
01:24:15bobdaduckThere's a few different ones
01:24:26raptorconfession!
01:24:31kaencan you post the new ones?
01:24:35bobdaduckuh
01:24:38bobdaduckthere's like 6 files
01:24:42bobdaduckI can send them
01:24:51kaenyou need to learn how to make a diff
01:24:52bobdaduckbut not pastie right 'cause pastie has no upload utility
01:25:22raptorbobdaduck: make diff
01:25:30raptordiff diff diff diff
01:25:44bobdaduck...how.
01:25:47bobdaduck"visual diff"?
01:25:49raptorusing tortoise?
01:26:27bobdaduckhg
01:26:27bobdaduckyeah
01:26:44bobdaduckOr I could just use sams upload utility?
01:26:55raptorhttp://stackoverflow.com/a/5407353
01:26:56kaenno a diff is easier ultimately
01:27:13kaenyou can just paste that, we don't have to unzip and dig through stuff
01:27:25kaenand it shows us only the changes you've made, rather than us digging through whole files
01:27:46kaenjust the "diff"erence
01:28:13raptorbobdaduck: once you learn what a diff is and how to make it, you gain enough experience to level up as a programmer!
01:28:20bobdaduckWHOO
01:28:21bobdaduckLETS DO THIS
01:31:48raptorok kaen, i recompiled by server with the virtual destructor changes..
01:31:49bobdaduckThat article
01:31:51bobdaducknot helpful at all
01:31:52bobdaduckxD
01:31:56Fordcarslol
01:32:09raptorok ok, i was just making a guess at how it worked...
01:32:14raptorbecause i don't have windows...
01:32:24Fordcarscan you just use mercurial
01:32:29raptorthere should be something in the tortoise menus that say create patch or create diff
01:32:35raptor*OR* you can use the command line
01:32:52bobdaduck"diff to local"
01:33:06raptoractually no, don't use the command line... that will require an additional lesson about IO redirection
01:33:10raptorthat's sounds good
01:33:12raptortry that
01:33:15bobdaduck"diff to parent"
01:33:24bobdaduckFound something
01:33:26bobdaduck"copy patch"
01:33:33raptoryeah, do that
01:33:36raptorthen use pastie
01:33:47raptorand paste
01:33:52bobdaduckhttp://pastie.org/6107161
01:34:26raptorthat's it!
01:34:27raptorperfect!
01:34:31raptordo you see what a diff is?
01:34:37bobdaduckNO!
01:34:38bobdaduckYes
01:34:40raptorany line that starts with -'-
01:34:40bobdaducksortof
01:34:42bobdaduckWell enough.
01:34:42raptorminus
01:34:44raptor-
01:34:45raptormeans old
01:34:50raptorany line starts with +
01:34:52raptormeans new
01:35:03raptorso basically its a way to show changes
01:35:53bobdaduckRight
01:35:55bobdaduckgot that part
01:36:05bobdaduckI have no idea how its helpful to you or if you can load it or whatever
01:36:17raptoryeah, it's perfect
01:36:30raptorit loads in a split second and all the files are then just like yours
01:36:39raptorthat's why we like diffs
01:36:49raptorquick, easy, automatic (for the most part)
01:37:02raptor(when they're done right..)
01:37:06bobdaduckokay
01:37:52bobdaduck levels up in programming
01:38:03raptor gives +1 intelligence
01:38:20raptorkaen: can you join my server (69.169..)?
01:38:28raptori want to test the bot crashing with these destructor changes
01:38:55bobdaduckSo... Are we doing anything with my diff or did everyone just want me to make a diff for some reason
01:38:57raptorso far no crashing...
01:39:15raptoractually maybe that's what kaen is doing...
01:39:39raptorbobdaduck: i'll host real quick..
01:39:47bobdaduck...hold on its patching.
01:40:56bobdaduckWhich takes a long time.
01:41:13raptorcompiling...
01:41:32bobdaduckYeah sure.
01:41:32bobdaduckThat.
01:42:02bobdaduckOkay there it goes
01:42:18bobdaduck"invalid checksum"
01:42:30raptordid you host?
01:42:35bobdaduckno
01:42:35raptoror try to join another server?
01:42:39bobdaduckconnecting to barfalot :P
01:42:45bobdaduckHosting now
01:42:55raptoryeah don't connect ot barfalot
01:43:09bobdaducklol
01:43:57bobdaduckSo yeah... Can you get in? or....?
01:44:07raptorok, join
01:44:10raptorpassword 'crash'
01:44:17raptornot barfalot
01:44:18kaenbobdaduck, the question is how will you spend your skill point...
01:44:27kaenokay I'm back, I'll applly build and join
01:44:34bobdaduckI'll spend it where I spend all my skill points
01:44:36bobdaduckCharaisma
01:45:05bobdaduckinvalid checksum at 75.
01:45:26bobdaduckIP 75.something
01:45:31raptor69.169
01:45:37raptorthe one that's not barfalot
01:51:41Fordcarswassup
01:52:22kaenplaying with bob's balance changes
01:52:25raptorsigh kaen... bots crashed after 6 min in that map...
01:52:41raptori'm going to commit the virtual destructor changes anyways...
01:52:41Fordcarsah ok
01:52:45kaenyes
01:52:49kaenI did some other stuff
01:52:57kaenpointobject is missing a lua destructor
01:53:05kaenadding it did not prevent the crash though
01:53:14raptoryes
01:53:21raptori added about 12 or so
01:53:30kaentoo bad :/
01:53:34kaenI had high hopes
01:53:38raptorme too!
01:53:41raptoractually
01:53:59raptorlooking at it... the bots were OK until bobdaduck joined..
01:54:00amgine1234567890 has joined
01:54:06amgine1234567890cough
01:54:15bobdaducklol
01:55:01raptorback to trying the initialized part..
01:55:55BFLogBot Commit: 6c05b1b01025 | Author: buckyballreaction | Message: Add missing virtual destructors for various objects
01:57:56kaenlet's see how merging that shader clone goes...
01:58:11raptorswitching gears?
01:58:36kaenI've been wondering about it since I pushed the cmake stuff
01:59:53kaenokay
01:59:56kaenso it has four heads.
02:00:00raptorha
02:00:06kaenso I'm not really going to mess with it
02:00:08raptorhydra
02:00:16kaenI'll just take a diff and make a new clone.
02:00:58kaensince it contains commits that conflict with commits in the main repo now anyway
02:01:41raptorchop chop
02:01:49raptori've killed clones a lot like that
02:01:57raptormy SDL clone was vicious
02:02:04raptor(when migrating to it...)
02:03:31raptori'm running valgrind on just the server...
02:04:17kaenthat's all I've been doing
02:05:16kaenrunning it on a client would be pretty hopeless for this machine.
02:05:28kaenI had enough patience to make it through the first menu.
02:05:40Fordcarslol
02:07:33bobdaduckshipshapes.h?
02:07:35bobdaduckxD
02:07:56FordcarsI onced had a lot of fun with shipshapes.c
02:08:02kaencover your eyes bobdaduck
02:08:07bobdaducklol
02:08:09raptor Quit (Ping timeout: 248 seconds)
02:08:14bobdaduckIts okay I'm against ship shapes
02:08:22Fordcarslol
02:10:48bobdaduckEvery time amgine visits the forums
02:10:52bobdaduck1000 new posts
02:10:55Fordcarslol
02:12:11bobdaduck80% of them "Admins can we lock this"
02:12:19bobdaduckOn threads no one was ever going to visit again
02:13:53bobdaducklike real
02:14:23raptor has joined
02:14:23ChanServ sets mode +o raptor
02:15:07raptorok back
02:15:17raptorkaen: i fixed *all* uninitialized errors with one line
02:15:25raptorwell, all the ones in the zap/ directory..
02:15:43BFLogBot Commit: ac7f947b49f8 | Author: buckyballreaction | Message: Fix loads of memory errors with this one initialization
02:17:38raptorone day we should build a fuzzer
02:17:48raptorright along with unit tests
02:17:58bobdaduckfuzzer?
02:18:25raptorit's a coding technique where you fead random data to all the methods trying to get it to crash
02:18:28raptor*feed
02:18:33bobdaducklol
02:18:38raptorand see how good you can handle bad data...
02:19:13bobdaduckhttp://pastie.org/6107317
02:19:15bobdaduckokay new diff
02:19:29bobdaduckI think these are all changes the community would like
02:20:08kaenbahahahah
02:20:14kaenwhat a great commit
02:20:16raptor??
02:20:17raptorhaha
02:20:27raptorit fixed like 4000 memory errors...
02:20:30bobdaducklol
02:20:32kaengroovy
02:21:05kaenI like to use wall
02:21:14kaenI think it catches that sort of thing doesn't it?
02:21:18kaener, -Wall
02:21:25raptorit doesn't!
02:21:34raptori'm using Wall
02:21:45raptorat least - it doesn't with my version of gcc
02:21:56raptorbobdaduck: new change are up
02:22:05bobdaduckcompilingggg
02:22:50raptorbe right back..
02:26:26kaenit warn about local variables
02:26:43kaenbut not uninitialized class members
02:26:50kaenwarns, even.
02:27:40SolumnMushroom has joined
02:27:58bobdaduckhuh?
02:28:26SolumnMushroomHello
02:32:12Fordcarshi
02:32:36raptorhuh
02:32:53raptorwell, maybe i should go unitialized value hunting... eclipse catches those
02:34:17Fordcarseuh, no music in 18a?
02:35:17raptorsame music
02:35:28raptor018a isn't out...
02:35:39Fordcars?
02:35:57Fordcarsiamtalkingaboutsourcecode
02:36:06kaenplease explain
02:36:09kaendo you get no audio?
02:36:18kaenor just no music?
02:36:20Fordcarsjust compiled latest build and no music in menu or in game
02:36:25Fordcarsthere is sound
02:36:29Fordcarswait
02:37:15Fordcarsok there is music in the menu but not in game
02:37:30kaenokay, not my bug
02:37:33kaen:)
02:37:45bobdaduckYou're probably just missing the audio files in general
02:37:49bobdaduckcheck your exe folder?
02:38:24Platskies has joined
02:38:47Fordcarsbut why? ok checking
02:39:00SolumnMushroomPeople were playing mind games with me in the in-game lobby chat. XD
02:39:13bobdaduckhow so?
02:39:24SolumnMushroomI have a screenshot
02:39:39SolumnMushroomIn 1024 x 600
02:39:42raptorFordcars: mac or windows?
02:40:00FordcarsRaptor: you know my computer... PPC
02:40:08raptorahh... hmmm
02:40:09Fordcarsok so I have all music files
02:40:13Fordcarsin resources
02:40:15Fordcars:P
02:40:30raptormenu music, but no in-game music?
02:40:35Fordcarsis it /mprevious to change music?
02:40:37Fordcarsyes
02:40:42raptor /mprev, yes
02:40:45Fordcarsok
02:40:46raptor and /mnext
02:40:50raptorkaen: it's my bug :(
02:41:11raptordidn't i fix PPC music with an endian bug already?
02:41:46raptoralso Fordcars, if you could exit the game, restart, go into a game, then exit
02:41:55Fordcarsalso, I still have that bug where right-click doesn't works at all in Bitfighter
02:41:56Fordcarsok
02:41:57raptorand check the Console application
02:42:01Fordcarsok
02:42:07raptorFordcars: what
02:42:17raptorFordcars: in the editor? or everywhere?
02:42:26Fordcarseverywhere
02:42:29raptorwhat
02:42:55Fordcarsremeber I had that bug for the source code of 18?
02:43:06raptorvaguely... i bet that would be an SDL problem on PPC
02:44:42Fordcarsmy computer is infected
02:44:53Fordcarswith Logitech
02:45:10raptorso is that a system-wide problem?
02:45:21Fordcarsan app that I installed years ago and has been eating my cpu power for years 0.o
02:45:26Fordcarseuh wait
02:45:34bobdaducksolumnMushroom: Send me the screenshot in forum PM?
02:45:43SolumnMushroomCan do
02:47:13Fordcarswhy doesn't Bitfighter show in Console
02:47:46raptoryou might need to exit first
02:47:51raptorConsole is dumb that way
02:48:05FordcarsI exited and re-oipened it 2 times
02:48:06raptorexit Bitfighter, i mean, then all the logging is slurpped in
02:48:40Fordcarsyes that is what I did
02:48:49Fordcarswell I did it from Xcode
02:48:54raptormaybe... are you running... ah ha!
02:48:59raptorthen xcode is eating it up
02:49:02Fordcarsok
02:49:09raptorit's in the xcode console somewhere...
02:49:11SolumnMushroombobdaduck: Check your inbox
02:49:12raptoror gdb
02:49:17Fordcarsso I go in Bitfighter folder, then, debug?
02:51:45Fordcars09/02/13 9:50:35 PM [0x0-0x187187].com.apple.Xcode[7078] Xcode(7078,0xf0103000) malloc: free_garbage: garbage ptr = 0x36d04d0, has non-zero refcount = 1
02:51:57Fordcarsthat's all I get from Xcode
02:52:04raptorhmmm
02:52:07raptorok, fine
02:52:11raptori'll boot up my mac
02:52:14Fordcarsok
02:54:15raptorso two bugs... music and right-click??
02:55:24Fordcarsyeah
02:55:44Nothing_Muchquestion, is the lua bug fixed or still pending?
02:56:16bobdaduckI think what we did was we reverted to working lua
02:56:24bobdaduckand then vowed never to touch it again
02:56:57Fordcarsbut, I installed a Preference Pane for Logitech Control Center years ago, and I just found out that each 5 seconds or so, Logitech Control Center shows a bunch of crap in console
02:57:16SolumnMushroombobdaduck: Did you get the pic?
02:57:24bobdaduckYeah I did
02:57:30bobdaduckxD
02:58:16bobdaduckhm I'ma head out
02:58:26SolumnMushroomI think it should go on the front page or in some screenshot area
02:58:40Fordcarswhat is it?
02:58:41bobdaduckScreenshots are mostly action stuff
02:58:51bobdaduckor at least I should hope they are xD
02:58:55bobdaduck Quit (Quit: Page closed)
03:01:06raptorNothing_Much: pending, sadly, even after reverting to an older revision, it crops up..
03:01:17raptorFordcars: ok booted (i had to step a way for a bit..)
03:01:35Fordcarssure
03:03:53SolumnMushroomI could not have found this game at a better time. I have 3-day weekends this weekend and next. Woo!
03:04:10raptorbuilding..
03:04:15raptorslowly...
03:05:06raptorkaen: if you're around, would you mind joining my barfalot server
03:05:19raptori want to see if the bots still crash (they only do so when someone else connects)
03:07:44Fordcarsfound a bug! another :/
03:08:07raptorok music works
03:08:23Fordcarswhen you are in the shockwave of a spy bug, you don't move even if it's you that shoots the spy bug. Others moved when I didn'T
03:08:37raptorright-click works..
03:08:46raptorFordcars: did you update to the most current release?
03:08:53raptorbecause i fixed that last week or so
03:09:25raptoryou might want to also do a clean compile
03:09:41FordcarsI just hg pulled and even reverted my clone
03:10:02Fordcarsbut whyyyyyyyyy me :,(
03:10:17Fordcarsclean cmpile, ok
03:10:24amgine1234567890raptro did you gfixed hte team rabbit screo bug
03:10:51raptoramgine1234567890: yes, i think sam686 did a while ago
03:11:04raptorand someone said so in the forums
03:11:51amgine1234567890btw on my version normal hosting works the bug only occurs whne i use a Dedicated server....
03:11:58Fordcarsok cleaning
03:11:59amgine1234567890the ctf problem
03:12:34Fordcars09/02/13 10:12:31 PM Xcode[7078] warning: ignoring operator ':rfc1034identifier' on 'libtomcrypt' for macro 'PRODUCT_NAME'
03:12:51raptorthat's ok, just a warning, right?
03:13:00Fordcarsyeah, sorry
03:15:21Fordcars*clean compiling*
03:15:50raptorFordcars: do you use command line for mercurial?
03:15:54Fordcarsyes
03:16:04raptorcan you output what 'hg sum' says?
03:16:31Fordcarsyes..... here?
03:16:41raptoryou can use http://pastie.org
03:16:49Fordcarsparent: 6691:ac7f947b49f8 tip
03:16:49Fordcars Fix loads of memory errors with this one initialization
03:16:49Fordcarsbranch: default
03:16:49Fordcarscommit: 691 unknown (clean)
03:16:49Fordcarsupdate: 3 new changesets, 2 branch heads (merge)
03:17:06raptorok, you're as new as can be :)
03:17:09Fordcarshehe
03:17:31FordcarsCompiling 15 of 131 source files...
03:18:20raptorperfect!
03:19:38Fordcarshehe
03:23:01FordcarsCompiling 70 of 131 source files...
03:24:49Fordcars30 files to go...
03:26:00Fordcars5 files to go
03:26:03Fordcars3
03:26:05Fordcars2
03:26:13Fordcars1
03:26:15Fordcars0
03:26:26FordcarsYAY
03:26:26Fordcarshehe
03:26:44FordcarsWHAT THE
03:26:51FordcarsRight-click and music works?!?
03:26:54Fordcarslol
03:27:01raptorYES!
03:27:19Fordcarswow!
03:27:25raptorit's because your IDE did quite compile everything from before...
03:27:29FordcarsWell thanks, raptor!
03:27:35Fordcarsyeah
03:27:36raptorit's not as smart as we'd like to think it is...
03:27:40raptorsure :)
03:27:43Fordcarshaha
03:27:50raptorin fact... i'm mostly glad i didn't have to fix anything..
03:27:55Fordcarsyeah
03:28:46raptor:)
03:29:10amgine1234567890raptor here is a idea have a preicluedd dedicate a server folder in hte nedxt build
03:29:24Fordcars?
03:29:33amgine1234567890pre included
03:29:56FordcarsYes I know, but what would there be inside this folder?
03:30:45raptorthere is a non-apparent benefit to not including dedicated servers
03:31:11raptorand that is that the level/knowledge required to set one up is a good barrier to entry
03:31:40FordcarsWell a dedicated server isn't hard to do
03:31:49raptorwith that said... ^^
03:31:51raptor:)
03:32:10raptoryay, shut down my mac
03:32:19raptor feels the stress flow away already
03:32:27Fordcarslol
03:32:34Fordcarsback on Linux?
03:39:55SolumnMushroomOn my computer, I have Windows XP SP3 and Ubuntu 12.10. I don't use Ubuntu as often as I'd like because it's super slow
03:40:08SolumnMushroomNot like Windows is any better...
03:40:18FordcarsYou can use Debian if you want
03:40:43SolumnMushroomI'm concidering Fedora
03:41:13FordcarsI have Mac os X 10.5, a raspberry :P and an old hacked Wii with debian :P
03:41:18raptoropenSUSE!
03:41:24Fordcarsyay
03:41:29raptor^^ that's my biased distro of coice
03:41:32raptorchoice
03:41:40Fordcarsah ok
03:41:53FordcarsYour on Linux, right raptor?
03:41:56raptori run windows xp/7 and osx 10.6/10.8 in virtual machines
03:42:00raptoryes Fordcars
03:42:12raptormy mac isn't real, technically
03:42:29Fordcarsoh ok yeah a virtual machine
03:42:37PlatskiesYou should get an actual Mac :)
03:42:49PlatskiesI recommend it
03:42:51Fordcarsbut? Your on Linux but you run Windows?
03:42:51SolumnMushroomI have an HP Mini 110-3130nr with WinXP and Ubuntu 12.10 and an iBook G4 with 10.5.8. And a Wii that still has it's firmware.
03:43:11raptorhi Platskies
03:43:21FordcarsYES! MUSHROOM! I LOVE YOU! I AM NOT ALONE ON PPC!
03:43:27raptorwhere'd you come from? and... welcome to Bitfighter!
03:43:27SolumnMushroomHe runs it when he has to Fordcars
03:43:35Fordcarsoh ok
03:43:53Platskiesraptor: A friend told me about the game
03:43:59Fordcarsnice
03:44:04raptorgreat!
03:44:11Platskies"X10" if you've seen him around
03:44:29raptoroh yeah, he stopped by a while back
03:44:29FordcarsHave you played the game yet? Oh yeah, I saw X10 once
03:44:52PlatskiesYeah I have a few times… only problem is my internet
03:45:04Fordcarswhat's wrong?
03:45:13FordcarsIt's slow?
03:45:15PlatskiesI live in Australia
03:45:18Fordcarsoh
03:45:20PlatskiesThat's the problem :P
03:45:28FordcarsYou can host a server if you want
03:45:46PlatskiesMy actual speed (1.5 Mbps) wouldn't be good enough
03:45:58FordcarsI think there is 1 player in australia
03:46:12Fordcars1.5 Mbps! I only have 1mbps
03:46:34SolumnMushroomI have 300 Kb/s
03:46:44SolumnMushroomOn average
03:47:00raptori've actually seen a number of players in austrailia
03:47:08Fordcarsyeah
03:47:08raptorall of them had one wish
03:47:12raptorto have a local server
03:47:22Fordcarshehe
03:47:54Platskiesheh, yep! ;)
03:50:22SolumnMushroomGoing to play on my iBook now
03:50:54Fordcarsok
03:50:54PlatskiesI'm surprised there's people on PPC here, nice!
03:50:57SolumnMushroomKeeping the Mini up for IRC
03:51:03FordcarsI only have PPC!
03:51:11SolumnMushroomSame here
03:51:22FordcarsYeah Mushroom :D
03:51:28SolumnMushroomand a Windows machine, but who cares
03:51:33FordcarsYeah Mushroom :D
03:51:34PlatskiesWe have like one PPC Mac now, everything else intel
03:51:58SolumnMushroomWe here only have one intel mac
03:52:28SolumnMushroomEvery other mac is PPC
03:52:33FordcarsYeah Mushroom :D
03:52:53raptori maintain the PPC mac build just for Fordcars and (I think) Little_Apple
03:53:03Fordcarsreally
03:53:04raptorso i try to ignore them as much as possible...
03:53:09raptor:)
03:53:16FordcarsWhy do I sudently feel really guilty?
03:53:20raptorhaha, no
03:53:37raptorthere were other players before, too; but i think you two might be only ones left
03:53:42SolumnMushroomIt is at this point that I thank every developer for keeping a universal build of Bitfighter
03:53:49raptoralso the work is minimal so don't feel guilty
03:53:52FordcarsWell Mushroom is PPC
03:53:57raptorsweet!
03:54:15raptorthanks SolumnMushroom
03:54:24FordcarsYeah Mushroom :D
03:55:13amgine1234567890is sam here?
03:55:30raptorsam686 is usually here in spirit
03:55:44Fordcars:P
03:56:07sam686hi
03:56:21raptorhi sam686
03:56:33amgine1234567890lol i said the magicv words XD
03:56:38raptorFYI, kaen and I couldn't get your Worm to not crash the test object suite
03:56:41SolumnMushroomGreetings sam
03:58:00amgine1234567890ah so the worm is still in devolopment?
04:01:41raptorsam686 or kaen, I get this weird eclipse error: http://sam6.25u.com/upload/2snapshot23.png
04:01:51raptorwould either of you have any idea what causes it?
04:06:09FordcarsIt seems to be an invalid overload of "GENERATE_LUA_METHODS_TABLE (Ship, LUA_METHODS)"
04:06:24Fordcarsyour welcome :)
04:09:59amgine1234567890will the worm fnially be in the next update
04:10:11raptorno
04:10:33SolumnMushroomI think I found a bug
04:10:38amgine1234567890will it be out by version 18b or 19 i hope so......
04:10:45raptorprobably not
04:10:50raptorSolumnMushroom: which?
04:11:43SolumnMushroomWhen a player disconnects with a flag, the flag dissapears. At least that's what just happened to me
04:12:05raptordoes it go back to the starting point?
04:12:05amgine1234567890yes ive had that hepped befoe also
04:12:15amgine1234567890ty for remiding me
04:12:15SolumnMushroomNo
04:12:22raptorwhich game type?
04:12:29SolumnMushroomCTF
04:12:42raptoryikes, that has potential to be a problem...
04:16:01Fordcarsyes, it does
04:18:01PlatskiesHmm I'm trying to compile the game using the source archive at bitfighter.org (not mercurial) using Xcode 4
04:18:20PlatskiesI get a linker error that "alure_init_modplug()" wasn't defined
04:18:46Fordcarscan you post the whole error?
04:18:56PlatskiesI installed SDL.framework (pretty sure 1.2)
04:18:59PlatskiesSure
04:19:16raptorPlatskies: our project is in xcode 3
04:19:29raptoralso the frameworks you need are in the lib/ directory in our repository
04:19:32Fordcarsyeppydoodleduck
04:19:38PlatskiesUndefined symbols for architecture x86_64:
04:19:38Platskies "alure_init_modplug()", referenced from:
04:19:38Platskies init_alure() in alure.o
04:19:39Platskiesld: symbol(s) not found for architecture x86_64
04:19:53raptoractually i think koda or someone may have start an xcode 4 project somewhere..
04:19:59Fordcarsyes
04:20:16Platskiesraptor: Oh, so the Bitfighter_xcode4 is work in progress?
04:20:19FordcarsI say the Xcode 4 project somewhere
04:20:22Platskiesproject
04:20:22Fordcars*saw
04:20:29Fordcarsyeah
04:20:49PlatskiesOkay
04:21:21PlatskiesI did comment it out before (but I'd assume I wouldn't be able to listen to the module music then)
04:21:29raptorPlatskies: correct - i'm technically the main mac maintainer (with koda sort of taking over, hopefully one day)
04:21:46PlatskiesOk
04:21:49raptori haven't really learned xcode 4 yet in my OS X 10.8 VM
04:22:08raptorsorry :(
04:22:11FordcarsI can't run Xcode 4 :P
04:22:17PlatskiesThat's fine, it isn't much different to 3
04:22:30PlatskiesWell feature wise
04:22:37FordcarsPlat: you can get Xcode 3 if you want
04:22:55Fordcarsis koa
04:23:02Fordcarsis koda still around?
04:23:23PlatskiesI won't bother with 3, heh
04:23:30Fordcarsheh
04:23:38PlatskiesIt's legacy to me :p
04:23:47SolumnMushroomCreated my HTF map
04:23:48Platskies(Sorry)
04:23:52raptorkoda is in italy, so probably fast asleep
04:24:04raptorPlatskies: do you know programming?
04:24:06Fordcarsok
04:24:33PlatskiesObjective-C
04:24:40FordcarsNICE
04:24:52PlatskiesI noticed a bit of C++, I don't know much though
04:24:58Platskiesa lot*
04:25:11raptoryeah it's like 95% c++
04:25:17FordcarsObjective-c is useful for iOs developpement
04:25:32Platskiesand Mac :)
04:25:33raptorwith a smattering of C, Obj-c, Lua
04:25:45Fordcarshehe
04:26:11PlatskiesI thought I could polish the window resizing a bit, but it seems abstracted away by SDL
04:26:24raptorPlatskies: yeah, SDL2 handles it
04:26:41raptorwe could probably use some menu work...
04:27:16Platskiesif the game's window is a Cocoa window I could probably hack around it to do what I want, but I hate doing that :(
04:27:16raptori'll be honest and say i am *not* an Apple developer, I just happened to figure enough out to maintain the Mac port
04:27:19FordcarsAdding menus in Bitfighter takes ages
04:27:41raptorPlatskies: it is a cocoa window with an opengl context, but that's all done in SDL2
04:27:53FordcarsWell Mac is simular to Linux
04:28:22amgine1234567890could you remove the login screen and put a login and logout fuction to the main menu?
04:28:23raptorit is simliar if you rip out the entire GUI :)
04:28:26Platskiesraptor: alright
04:28:35raptoramgine1234567890: that is one of our goals for 019
04:28:39amgine1234567890it seems loike it would be more efficent that way
04:28:48raptori already did the prelimary work for that...
04:28:57amgine1234567890good to know
04:29:04amgine1234567890 GJ :)
04:29:12raptorthanks!
04:29:35PlatskiesIt'd be nice if the entire game's interface was in Cocoa, but that'd be a lot of work to create some sort of wrapper into how you currently do the UI
04:29:40Platskies:)
04:29:56Platskies(just my personal opinion, hehe)
04:31:11Platskiesalthough there's the benefit of being native, I don't know how practically helpful it'd be
04:31:25FordcarsWOW I just made the BEST Bitfighter build
04:31:39raptorPlatskies: it is possible to override the SDL cocoa window, however writing an entire new UI would be a massive job (and only benefit Apple OSes)
04:32:35PlatskiesMaybe I shouldn't worry then
04:32:59Platskiesif it's hacky
04:33:01BFLogBot Commit: dd3f761ed7c9 | Author: buckyballreaction | Message: Fix almost any and all possible initialization problems (save a few in some UI classes). Yes, this was tedious
04:33:14raptorit's hacky, yes... we've tried to be as cross-platform as possible
04:33:30raptorbut sadly it does sacrifice some niceness in each OS..
04:33:37FordcarsYeah
04:33:45raptorwell except linux.. there's not really 'niceness' in linux..
04:33:52Fordcarshaha
04:34:02SolumnMushroomNexus map created
04:34:04amgine1234567890are most of the in game mneus in C++ as well
04:34:20raptorthe entire in-game UI is custom built in c++, yes
04:34:28FordcarsI once tried making Bitfighter 3D sterioscopic
04:34:44amgine1234567890sams already done that
04:34:45raptorFordcars: do you have a recent compile?
04:34:53raptor(and can you do a favor for me?)
04:34:57Fordcarsyes,
04:35:06Fordcarsi can
04:35:24raptorok, i'm almost finished compiling a server that i'm using to test a bot crash
04:35:28Fordcarsok
04:35:36raptorall i need you to do is connect and wait for a minute or two with me...
04:35:47Fordcarsoh
04:35:54raptorcan you do that?
04:35:56Fordcarswell I am kinda compiling right now
04:36:07Fordcarswait
04:36:34raptorok, whenever, if you can (and if it's one of the latest revisions)
04:36:45Fordcarsyes
04:36:56SolumnMushroomMaking a Rabbit map now
04:37:04raptorSolumnMushroom: we need more good rabbit maps
04:37:15Fordcarsok I have the latest code
04:37:28raptorwe have lots of maps, especially on sam686's server, but good rabbit ones are difficult
04:37:30FordcarsCompiling 1 of 91 source files...
04:37:33raptorha
04:37:37Fordcars*96
04:37:39Fordcarsyay
04:39:47FordcarsI reverted my clone and got the latest and did a Clean Compile
04:39:59Fordcars*still compiling*
04:40:17raptoryeah... takes a while
04:40:52Fordcarsok, I am in the main part of compiling, 3 of 131 source files
04:41:47raptorFordcars: are you compiling a debug build?
04:41:56Fordcarsyeah...
04:41:59SolumnMushroomAlmost done
04:42:00raptorok good
04:42:03Fordcarsok
04:42:11Fordcarsphew
04:42:31raptorotherwise the build would take a *lot* longer
04:42:35Fordcarsok
04:42:39raptorlike 3-4 times...
04:42:47Fordcarswow
04:42:55SolumnMushroomDone!
04:42:57Fordcars100 files to go
04:43:27FordcarsNice 'shroom
04:43:30Fordcars:P
04:46:12Fordcars60 files to go
04:50:44raptoralmost!
04:52:19FordcarsYES
04:52:19Fordcarsnice
04:52:23Fordcarscompiled
04:53:12FordcarsI am coming in
04:53:20raptorok, it's 69.169...
04:53:27raptorpassword 'test'
04:53:30raptorno 'crash'
04:53:33raptorone of those..
04:53:39Fordcarsok
04:54:17raptori lied
04:54:20SolumnMushroomAll new maps are uploaded
04:54:24raptorit's '018a'
04:54:27Fordcarslol ok
04:58:49SolumnMushroomThat caused some framerate issues
04:59:00raptorhaha, i bet
04:59:02Fordcarsyeah, client side but that's normal
04:59:10raptorso many networked objects...
04:59:14Fordcarsyeah
04:59:22SolumnMushroomSO MANY PARTICLES!!!
04:59:37FordcarsWHOA I WAS GONNA SAY THAT!
04:59:37Fordcarslol
05:00:25FordcarsI am playing ZAP right now
05:00:59PlatskiesIs there an option to turn off (or just minimize) the number of explosion particles? That'd be a nice way to focus on the game
05:01:43raptorPlatskies: let me check...
05:01:50FordcarsMan whats that famous website that says how to port foward again
05:01:50PlatskiesFor me anyway
05:02:01Platskiesportforward.com?
05:02:12PlatskiesLol
05:02:14Fordcarswww.portfoward.com
05:02:30PlatskiesfoRward!
05:02:37raptorha
05:02:42Platskies;)
05:03:03FordcarsOH sorry
05:03:08Fordcarslol
05:03:25raptorPlatskies: looks like not, but you can see other effects in the [Effects] section of the bitfighter.ini
05:03:28Fordcarsportfoid.com
05:03:35raptor(make sure to have the game running when editing that)
05:04:33SolumnMushroomDid anyone try my new maps?
05:04:41Fordcarswhere is it
05:05:01SolumnMushroomOn the forum
05:05:11FordcarsI didn't try it yet :/
05:05:17Platskiesraptor: OK thanks
05:05:59Fordcars /linewidth is a fun command
05:06:32SolumnMushroomI'm going to go offline soon. It's 9 PM and I want some sleep
05:06:50Fordcarsok
05:07:01SolumnMushroom:yawn:
05:07:13raptorPST?
05:07:20SolumnMushroomYup
05:07:20raptorit's 10pm here
05:07:24raptorcool
05:07:27Fordcarsit's 12 here
05:07:38Fordcarsmidnight
05:07:45Platskies4 PM here
05:08:15amgine1234567890im going to make the 18 S_bot become massivly strong
05:08:30amgine1234567890ill call it GOD_BOT
05:08:41SolumnMushroomOne of my goals is to have a computer that can open any file
05:08:52amgine1234567890its called 7 zip
05:08:57SolumnMushroomXD
05:09:26SolumnMushroomDoes it work for executing a .app file?
05:10:28Platskiesraptor: Where's bitfighter.ini on OS X :( Sorry
05:10:35SolumnMushroomBasicly, I want to triple-boot my computer
05:10:48raptorPlatskies: look in your home folder / Library/Application Settings/Bitfighter
05:10:51raptor(I think)
05:10:57amgine1234567890just saw this LOL --logprint("He's dead, Jim.") (in the bot code)
05:11:00PlatskiesOh, I checked Preferences
05:11:12PlatskiesForgot Application Support :/
05:11:15amgine1234567890lol i wonder if im the only one who gets the joke
05:11:23raptorApple might hide the Application Support folder on newest OSX, i can't remember how to show it
05:11:32FordcarsPlatskies: Isn't it in Bitfighter----Contents or ApplicationData
05:11:41SolumnMushroomPlatskies: Check /Users/<username here>/Library/Application Support/Bitfighter
05:11:50Platskiesit's in ~/LibraryApplication Support/Bitfighter
05:11:50Fordcarsyep
05:11:52PlatskiesYes
05:11:56Fordcarshehe
05:12:13Fordcarsraptor: can you join the server Bitway 2 secounds?
05:12:13amgine1234567890am i the only one who gets teh joke or am i being ignored.
05:12:24raptork
05:12:35raptoramgine1234567890: i get it (but was focused elswhere) :)
05:12:38Fordcarsoh wait
05:12:51PlatskiesThanks… I thought the game's preferences would be in Preferences…
05:12:53raptorFordcars: where are you?
05:12:55Platskies:)
05:13:10raptorPlatskies: which preferences?
05:13:30Fordcarswait raptor!
05:13:30PlatskiesBy "preferences" I mean what's in bitfighter.ini
05:14:14raptorah ok
05:14:43SolumnMushroomGoodnight all. ;)
05:15:01raptornight!
05:15:02SolumnMushroom Quit (Quit: Leaving)
05:15:05FordcarsGoodnight!
05:15:06Fordcarslater
05:15:22Fordcarsoh man
05:15:36amgine1234567890hmm need a bit of help with my bot improvments.....
05:15:42Fordcarssorry raptor, I have to compile 50 files again :/
05:15:49raptorno problem
05:16:36amgine1234567890trying to create fuction for nexus so the bot only returns flags if it only has the most flags and the nexus is open but how would i get the bot to get the oppenets flag coutns.....
05:17:13raptorhmm... you'd have to do a bot:findGlobalItems(ShipType)
05:17:32raptorand put it in an array, then iterate over the array and for each one check the flag count
05:18:02amgine1234567890ok but maybe i shouldnt make hte bot unbeatable....... XD
05:21:05FordcarsNice! I am done compiling
05:21:14FordcarsSo raptor, can you join?
05:21:59raptorok
05:22:19raptorinvalid packet, connection terminated
05:22:21Fordcarsdid it kick you out?
05:22:24Fordcarsok yeah
05:22:29raptormy guess is you're playing with weapons/modules?
05:22:31raptor:)
05:22:34Fordcarshehe
05:22:45FordcarsI was trying out Weaponinfo.h
05:22:53Fordcarsand modified it :P
05:24:04FordcarsWow seeker is AMAZING now
05:24:28amgine1234567890raptro is iut me or does boucer need to be buffered it seems to weak
05:24:36amgine1234567890now
05:25:10raptoramgine1234567890: yes, i agree - we're planning minor balance changes in 019
05:25:14FordcarsTranslation: raptor is it me or does bouncer need to be buffered, it seems to weak :P
05:25:25raptor019!
05:25:41amgine1234567890hooray for 19 ^_^
05:25:42raptorbut very, very, very (did i say 'very' enough yet?) very, very minor changes
05:25:51raptorbecause... balancing is really hard
05:26:00raptorbut we do need to start
05:26:25amgine1234567890onemroe minor chage that would be really easy lower the pitch of the seeker explosin sound by 1 octave so its different from burst
05:27:05amgine1234567890neverm ind forget iI said that you have enough to to for now.....
05:29:24amgine1234567890btw i jsut want to congratuialte you on all your hard work BF has improved maasivly over BF and i hope it will explode into sucess....
05:30:35Fordcarsyeah me too I would say the same
05:31:38amgine1234567890hmm trying to fgure out why this section of lua the section seems to be declared twice.....
05:35:21raptorso i've notice that the forums + IRC have been a lot more busy lately
05:35:32Fordcarsme too!
05:35:33raptori wonder why? is everyone fed up with school aready?
05:35:39Fordcarswell duh
05:35:50amgine1234567890 Quit (Quit: Page closed)
05:36:20amgine1234567890 has joined
05:36:33Fordcarswell we are getting lots of new players and even some "programmers", but also some people that have played Bitfighter in the past are coming to play again
05:36:34amgine1234567890hmm ship should be decalred as local varibels if hte ship cant see the target it wont attack it....
05:36:39amgine1234567890global
05:40:18amgine1234567890things i will atempt to do to the bots 1. make bots only return flags to the nexus if it has the most flags and the nexus is open 2. make ships and flags declared as gobal vbarbiles so ships always know where thery are if they are not in sight.
05:40:50amgine1234567890and 3 . make the bot flicker the sehild so it lasts longer.
05:42:05amgine1234567890goos now bots target spybugs.....
05:46:06Nothing_Much Quit (Quit: Leaving)
05:47:26amgine1234567890hm.............
05:48:43amgine1234567890wonder what would happen if i gave bots a default of armor.......
05:51:43amgine1234567890alas i gtg
05:51:50Fordcarsok
05:51:52Fordcarslater
05:52:03amgine1234567890ill have to think but im tyring to think on how to get bots to target engeneered teles
05:52:07raptornight!
05:52:15amgine1234567890guess ill sleep on it
05:52:22Fordcarslol ok later!
05:54:40amgine1234567890night
05:54:44amgine1234567890 Quit (Quit: Page closed)
05:58:17raptorFordcars: still up?
05:58:29FordcarsZZZZzzzzzz....
05:58:38Fordcars*Yawns*
05:58:43Fordcars*Wakes up*
05:58:49Fordcarsoh hi!
05:58:50raptordo you have a stable client you can connect with?
05:58:57Fordcarsan 018 one?
05:58:59raptoryes
05:59:02Fordcarsyep
05:59:37raptorcould you connect to me server and do the same things as before (wait out the bot crashes?)
05:59:55Fordcarsok
06:00:10raptor69.169...
06:00:27raptorpassword 018a
06:00:32Fordcarsok
06:00:55Fordcarsok coming in
06:22:25BFLogBot Commit: 4e40559fde12 | Author: buckyballreaction | Message: Clean up all lua API methods to not overload c++ methods, using the proper methods table macro
06:22:26BFLogBot Commit: 9ebeed94e4c0 | Author: buckyballreaction | Message: Fix minor bug in Lua API with RepairItem
06:22:34raptoroh man was that tedious
06:22:48Fordcarslol what did you do?
06:23:24raptora lot of Lua cleanup, hunting a bug
06:23:30Fordcarsah ok
06:38:09Fordcarsyou still there?
06:38:14raptorhi
06:38:24Fordcarsok, just checking
06:38:54raptorfading fast though...
06:39:03Fordcarsyeah, me too
06:39:23FordcarsI was doing a humurous version of Bitfighter :P
06:40:32Fordcars*humorous
06:50:07raptorok, i'm going to bed
06:50:39raptorgood night all! kaen if you're still up, i did loads of Lua clean-up and still no closer to solving the crashing bug
06:50:43PlatskiesOh, dang
06:51:03raptoralso i noticed that the bug only seems to manifest when there's a second player in the game
06:53:10PlatskiesWas just gonna ask you…did you write the idle() function in main.cpp?
06:53:25raptordid I? let me look...
06:53:59PlatskiesI've been curious about how to properly do timing in a game (if I were to do one myself)
06:54:12raptorah
06:54:14raptorok
06:54:23raptorno, i didn't write it but i've tweaked it
06:54:34PlatskiesAh ok
06:55:10raptoryeah, main idle() loops can be tricky to get right
06:55:27PlatskiesI've read that the best way uses something called interpolation
06:55:36raptoryou basically run them forever, but designate a framerate to slow them down
06:55:38PlatskiesI'm really grey on that stuff
06:56:13PlatskiesCan't I just have a loop, and sleep every so often?
06:56:19raptoryes
06:56:28Platskiesand that's it
06:56:31Platskies?
06:56:31raptorbut you have to be careful to not hard-code a sleep
06:56:53PlatskiesHow so
06:57:02raptoryou have to say something like.. this loop will take no less than 10 ms
06:57:25raptorso you calculate your start time at the top of the loop, then do all the processing (like audio/video/physics)
06:57:32raptorthen grab the time again
06:57:32PlatskiesI know that the sleep timer isn't always accurate
06:57:47raptorit can be accurate with a little care and love :0
06:57:49raptor:)
06:58:08raptorthen you calc your time at the end of the processing and say processing took 5ms
06:58:14raptorthen you know to sleep for 5ms
06:58:26raptorif next loop processing takes 4 ms, then you sleep for 6
06:58:28PlatskiesRight
06:58:48raptorthere are more advanced techniques, but that's the basics, i think
06:58:52PlatskiesOh, so that's going to involve some subtraction to get a fixed frame rate
06:58:57raptoryes
06:59:17PlatskiesSo and I bet crazy stuff happens when the processing time is longer than the desired frame rate?
06:59:48raptorwell not really... you do have to handle that case, but mostly things are just slower :)
06:59:57raptorthat's what will reduce framerate
07:00:10Platskies:) Yep
07:00:17sam686On bitfighter, the ships and other stuff actaully speeds up to make up for lost time, it can rum 1000 fps or 10 fps and won't cause slow motion..
07:00:22PlatskiesI saw a comment in there, something like
07:00:46sam686hint, /maxfps command in bitfighter can be used..
07:01:09Platskiesstatic S64 lastTimer = Platform::getHighPrecisionTimerValue(); // accurate, but possible wrong speed when overclocking or underclocking CPU
07:01:17Platskies^ That whole line is commented out actually
07:01:21raptoroh yeah, we pass in the timeChange the last loop took to make sure perceived speed stays the same everywhere
07:01:42sam686a few other games only runs at a fixed 30 frames per second, skipping rendering if going slower then it should..
07:02:42Platskiessam686: I'll play around with /maxfps just to see what it's like
07:04:48PlatskiesAh that's nice
07:28:35PlatskiesI have to go, thunderstorm
07:28:40Platskiesbbl
07:28:52raptornight
07:28:58raptorerr, later
07:29:04PlatskiesHeh
07:29:08PlatskiesOK see ya
07:29:11Platskies Quit ()
07:44:56Nothing_Much has joined
08:01:10Platskies has joined
08:01:23Fordcarshi
08:01:28raptorhi
08:01:40FordcarsI am finished my Bitfighter version
08:01:45Fordcarsit is AWESOME
08:01:59Fordcarsit's a modded Bitfighter
08:02:02PlatskiesThat's awesome
08:02:05PlatskiesLol
08:02:19PlatskiesAnd hi
08:02:21Fordcarsyeah
08:06:18Fordcarslol
08:14:09Fordcarshi
08:14:48raptorhi
08:14:49BFLogBot Commit: 30a594cda64d | Author: buckyballreaction | Message: Fix for bot crashing bug... why does this fix it? Also does it introduce a memory leak?
08:15:40Fordcarsreally?
08:16:02raptoryes...
08:16:07Fordcarsyou fixed it?
08:16:13raptormaybe...
08:16:19Fordcarsok
08:16:40raptorseems to be fixed... for now - but since i don't know why, i don't really consider it a fix...
08:16:49Fordcarsok
08:30:55Fordcarsgetting late :/
08:31:03raptoryeah... ok good night
08:31:12Fordcarswhat, you leaving?
08:31:15raptoryes
08:31:30raptorit's 1:30 and my kids wake up early == i'm stupid
08:31:36Fordcarslol
08:31:42Fordcarsits 3:30 here
08:31:55Platskies19:30 here ;)
08:32:01Fordcarslucky :P
08:32:11raptorheh
08:32:15raptornight!
08:32:22Fordcarslater!
08:32:40raptor Quit ()
08:46:19Fordcarsok guys, getting really late here and I have to go :/
08:46:53PlatskiesOK cya!
08:47:01Fordcarslater! good night
08:47:02Fordcars Quit (Quit: Leaving)
08:54:29Platskies Quit (Ping timeout: 252 seconds)
08:59:00Platskies has joined
09:24:21Platskies Quit (Remote host closed the connection)
10:12:12Platskies has joined
10:31:43Platskies Quit (Remote host closed the connection)
10:41:39LordDVG has joined
11:07:44Platskies has joined
11:25:57LordDVG Quit (Ping timeout: 256 seconds)
11:42:36kaen<Platskies> I have to go, thunderstorm
11:42:41kaenI like you already, dude
11:43:05PlatskiesWell, you know... better be safe than sorry! :)
11:43:58kaenerm I might have misinterpreted that :x
11:44:11kaenI thought you were leaving to *watch* the thunderstorm lol
11:44:15kaenwhich is a hobby of mine...
11:44:35PlatskiesOh, well I also misinterpreted you :p
11:45:11kaenyea textual methods of communication \o/
11:45:58PlatskiesI thought you might've thought something like "hey, what's the point of turning off in a thunderstorm"
11:46:07kaenoh nope
11:46:36kaenalthough don't surge protectors... protect... one from that sort of thing?
11:46:50kaenaka "power strips"
11:46:56PlatskiesYeah, they should...
11:47:13PlatskiesAnd yep I have one too, lol
11:47:52kaenhow long have you played bitfighter?
11:48:04PlatskiesA few days
11:48:09Platskiesprobably
11:48:10kaenI see you're from AU, I've never seen another player from there
11:48:12kaenit's cool :)
11:48:37kaen(according to your hostname anyway)
11:48:38PlatskiesI'm interested because I vaguely remember the original game Zap
11:48:46Platskiesand liking that
11:48:54kaenoh cool. I never played zap actually
11:49:28kaenI just like to program ^^
11:49:49Platskiesnot sure if this is true, but was the Zap source code released as part of the Torque network library?
11:49:54kaenyes
11:50:05kaenand bitfighter uses its code
11:50:11kaen(some of it)
11:50:13Platskieswhich I guess was open source too?
11:50:17kaenyep
11:50:24PlatskiesAh ok
11:50:48PlatskiesCan the game still be called "Zap", or is it trademarked
11:50:56Platskies:P
11:50:57kaenbitfighter has massive pieces of the core engine rewritten, new features that Garage Games never really dreamed of, etc.
11:51:04kaenthat's an interesting question
11:51:10kaen"Zap" is still all over the source
11:51:38kaenI think GG still has a copyright to the name Zap, so I don't think we could actually call it that.
11:51:52kaenalthough I can't really imagine them suing for damages over a free game
11:52:01kaenbut it's better not to walk that line.
11:52:16PlatskiesYeah makes sense
11:54:12kaenI'm in the US, but I have a crazy work schedule so I'm usually up overnight...
11:54:34PlatskiesMaybe you could ask for permission? Personally I prefer Zap over Bitfighter
11:54:40kaenmaybe.
11:54:43Platskiesthat's my opinion though
11:54:46kaenit's not really my game
11:55:15kaenbut I don't see Watusimoto changing it :)
11:55:35kaenEspecially since he already changed it from Zap the first time
11:55:57PlatskiesHmm yeah
11:56:02kaenplus, you don't really zap anything imo
11:56:11kaenalthough you don't fight bits either
11:56:36kaenits should be called "two dimensional pseudo-newtonian space shooter game"
11:56:37PlatskiesBitfighter just reminds me too much of the typical "8-bit genre"
11:56:41kaenyes.
11:56:43PlatskiesWhich it isn't really?
11:56:48kaenyes!
11:57:06kaenyou are correct.
11:57:26kaenbut still players insist on maintaining the "8bit" or sometimes just "oldschool" art style
11:57:30Platskies(I hope I didn't sound offensive towards the name originally, in case you liked it)
11:57:36kaennot at all :)
11:57:53kaenwe're all used to fielding ideas from players
11:58:14kaenmost people come in wanting to rewrite it. renaming it is better than usual
11:58:36PlatskiesHeh wow
11:59:43kaenanyway, I have a secret desire to update the mechanisms bitfighter uses for graphics and stuff while keeping the style (rather than execution) sort of retro
11:59:52kaenbut I'm just the FNG here
12:00:09kaenso I mostly squish bugs
12:00:11kaenoh!
12:00:18kaendid you know about the player stats page?
12:00:22PlatskiesI don't really plan to get involved with developing it somehow... a friend showed me the game and I kinda got a little hooked playing it... :)
12:00:33PlatskiesNope not really
12:00:36kaenhttp://bitfighter.org/stats/stats.php
12:00:46kaenit sucks but it's new.
12:01:00kaen(I made it)
12:01:15kaenwell, the web UI anyway
12:01:29PlatskiesHeh nice
12:01:47PlatskiesMy kill-death ratio is 1:4, heh
12:01:55kaendon't look at the last seen column...
12:01:58kaenit has a timezone problem.
12:02:13Platskiesguessing it uses the server's timezone?
12:02:26PlatskiesOh actually no
12:02:34kaenehh it uses JS on the client side to convert a MySQL timestamp to a human readable time
12:02:40Platskiesbecause I was on sometime in the last 12 hours
12:02:47kaenthe algo is correct, but the inputs are maladjusted
12:03:06kaen(trying to make it say X minutes ago etc.)
12:03:36PlatskiesCool
12:03:44kaenit would be ^^;
12:05:38Platskies:P
12:25:51PlatskiesYay, I think my game loop timer's a little more accurate
12:26:30kaengame loop timer?
12:26:41PlatskiesI'm trying to hit 60 fps - the number of draw calls I made before was 56-57, now it's 58-59
12:26:54PlatskiesYeah this is for something else
12:26:58Platskiesnot Bitfighter
12:27:00kaenI though so.
12:27:25kaenare you sleeping or spinwaiting?
12:27:33PlatskiesI'm doing this in Objective-C
12:27:34Platskiessleeping
12:27:42Platskieswhat's spinwaiting?
12:27:46kaendon't do it
12:28:00PlatskiesI'm guessing it eats CPU?
12:28:00kaenspin waiting is just a tight loop without sleeping...
12:28:06kaenyes.
12:28:08PlatskiesUgh okay
12:28:20PlatskiesYeah I don't want my game to burn CPU
12:28:24PlatskiesI know games that do do it
12:28:26kaensleeping is better. you're trying to implement vsync it sounds like
12:28:51PlatskiesHmm, I just want a fixed frame rate
12:29:01kaenoh alright
12:29:29PlatskiesI've heard of interpolation and that, but that's a whole another layer of thinking I don't want to worry about :(
12:29:42kaenwell, you can only get right on sixty if you have enough CPU and your sleep resolution is small enough
12:29:53kaenare you just using the system sleep?
12:30:34PlatskiesIt should be... it's [NSThread sleepForTimeInterval:] which I heard is basically an obj-c wrapper for sleep()
12:30:35kaen(also, sleep only guarantees you will sleep at *least* that long)
12:31:02kaenI think you want a microsleep type of thing, are you using SDL?
12:31:11PlatskiesNo
12:31:20kaenwhat graphics lib?
12:31:26kaendoes C# just have its own?
12:31:34kaenor, objc
12:31:36PlatskiesThis isn't C# :p
12:31:46kaensorry... it's 4:30AM here
12:31:47PlatskiesYeah basically
12:31:51PlatskiesIt does
12:32:44kaentry "usleep"
12:33:02kaenmicrosecond sleep
12:33:08PlatskiesSome more samples… 59, 56, 59
12:33:48PlatskiesWell they're not per 1 second exactly
12:33:55kaenoh
12:33:56kaenheh
12:34:05PlatskiesI think, ugh :S
12:34:27kaenyou should report (frameCount/frameDuration)
12:34:42kaenor invert it maybe
12:35:45kaenor measure the time difference between every 60 (or however many) frames
12:37:17kaenif (frameCount % 60 == 0) { lastFrame = getTime(); fps = 60 / (getTime() - lastFrame); }
12:38:00PlatskiesHmm this is what I've basically done:
12:38:51Platskies1 sec
12:38:54kaenk
12:38:59kaenpastie.org :)
12:39:21PlatskiesYep I will, just trimming out my comments :P
12:41:58Platskieshttps://gist.github.com/anonymous/9da77f8bc3be2413fd38
12:42:05Platskies(or gist)
12:42:28PlatskiesBasically I just accumulate time after each sleep
12:42:52PlatskiesThen when I have accumulated enough that's over or equal to the framerate, I reset it and update the game
12:43:37kaenokay, so I've never written objc before
12:43:39kaenbut
12:43:52kaenin regular C, passing a float to sleep like that would get it cast to an int
12:43:54Platskiesthat's not objc
12:44:00kaenokay
12:44:08PlatskiesBasically my psuedocode type of C :p
12:44:29PlatskiesYeah sorry, all the floats are in seconds
12:44:38Platskieswell
12:44:49PlatskiesI should've wrote the type, oops
12:45:21kaenanyway, it'll be cast to an int (unless they provide a new sig for sleep)
12:45:28kaenso you're calling sleep(0)
12:45:33kaenand sleep has a bad resolution
12:45:39kaenlike I said, try using usleep
12:45:45PlatskiesI'm not actually calling C's sleep in my code
12:45:46kaenand convert your parameter into microseconds
12:45:54kaenindirectly
12:45:54PlatskiesI just wrote it like that to simplify it
12:45:57kaenthat call calls sleep
12:46:01kaenwhich is a system call
12:46:16kaenany programming language that sleeps uses the sleep sys call and behaves identically
12:46:58kaenthe [NSThread sleepForTimeInterval:] thing
12:47:00kaenI looked it up.
12:47:59PlatskiesOK, I'll try usleep() then
12:48:35PlatskiesAgh, how much is a microsecond
12:48:37PlatskiesUhm
12:48:42kaenmillionth of a second
12:48:47kaenmilliseconds * 1000
12:48:54PlatskiesRight ok
12:49:30PlatskiesI'll try usleep(1000) then
12:49:43kaensure
12:50:02kaenif you keep lowering it you'll approach 60
12:50:18PlatskiesYep that'd be true
12:50:29PlatskiesI should watch the CPU usage too
12:50:32kaenI'm sure get the whole idea
12:50:33kaenyes.
12:50:38kaenI'm sure you get*
12:50:45PlatskiesYep
12:50:54PlatskiesThanks for the help btw!
12:51:01Platskies:)
12:51:21kaenno problem
12:51:26kaenhopefully it was actually help...
12:51:32kaenbtw, why are you learning objc?
12:51:35kaento write ios stuff?
12:51:41PlatskiesIs my actual method okay?
12:51:42PlatskiesOh
12:52:13PlatskiesWell I already know a fair bit
12:52:28PlatskiesAnd yes iOS (and Mac too)
12:52:41PlatskiesI like Mac more though
12:52:46kaenthere's a secret ios port of bitfighter...
12:53:03kaenit's just missing controls from what I've heard.
12:53:18kaenand also is apparently neigh-impossible to actually build.
12:53:20PlatskiesI noticed build/ios/, heh
12:54:10Platskies:(
12:54:26kaenokay
12:54:35kaenso you definitely don't need two gettime calls
12:55:11PlatskiesI don't?
12:55:25kaennope, your framerate includes your sleep call
12:55:30Platskiessomething's probably redundant ugh
12:55:31kaenyour real framerate
12:55:33kaenyes
12:55:41kaenyou only need to measure between each loop
12:55:49kaen<kaen> if (frameCount % 60 == 0) { lastFrame = getTime(); fps = 60 / (getTime() - lastFrame); }
12:56:09kaenthis will measure every sixty frames
12:56:10PlatskiesYou have two calls
12:56:18kaenyou could store it in a variable
12:56:22PlatskiesDo you mean two variables?
12:56:23kaenthat was for brevity
12:56:38kaenhere I'll write it out longwise
12:57:27PlatskiesOK
12:57:39PlatskiesIn your example before, what does fps get used for?
12:57:58Platskies(when you're done)
12:58:25kaenit measures the fps
12:58:53PlatskiesOh duh, I thought this was for an actual loop
12:59:20kaen:)
12:59:25PlatskiesI mean, for the timing of an actual loop
12:59:47kaenyes
12:59:50kaenI'm writing that now
13:00:16PlatskiesOK, neat :)
13:01:33kaenhttps://gist.github.com/kaen/45fc1d8fa5eadb3f49e2
13:01:58kaenfps will be wrong on the first loop
13:02:17kaenyou could initialize lastFrame to getTime instead of 0
13:02:32PlatskiesOh yeah, because lastFrame is 0
13:02:33Platskiesyep
13:04:49kaenoh. you might have to multiply fps be 1000
13:04:51kaenby
13:05:25PlatskiesSetting lastFrame to thisFrame instead of getting the time would further improve accuracy wouldn't it?
13:05:34Platskies(like you've done)
13:05:53kaenyes
13:06:00kaenmeasuring twice introduced error
13:06:08kaenand also I believe you excluded your sleep calls
13:06:10PlatskiesIt doubles the amount of error?
13:06:22kaenno, you called getTime twice
13:06:39kaenbut that was correct-ish in the method you were using.
13:06:55kaenI believe you were integrating the deltas of each frame (in real CPU time)
13:07:18kaenaccumulating the durations.
13:07:26PlatskiesIntegration? Ugh
13:07:29PlatskiesOh ok, yep
13:07:39kaensorry, bad choice
13:07:45kaenof wording.
13:08:09Platskiesisn't integration basically getting the difference between two things
13:08:21Platskiesthat's what I remember from school
13:08:26kaenno, it's summing the value of something over time
13:08:39kaenx^2 is the integral of 2x
13:08:52kaenetc.
13:08:57Platskies+ a constant ;)
13:09:02kaenthat's right :)
13:09:25Platskiesintegration in general doesn't have to be over time :S
13:09:29kaenyou're right
13:09:39kaenI thought you were asking because you didn't know
13:09:49PlatskiesOh, ok
13:09:54kaenand abstract math definitions aren't very useful
13:10:00kaenheh
13:10:11Platskiesdidn't really undestand what you meant in that context
13:10:15kaenlet me know if that code works out! I'll be back shortly
13:10:15Platskiesunderstand*
13:10:20kaenoh
13:10:44kaenyou were adding (integrating) the duration (time deltas) of each frame
13:11:01kaenis all that I was trying to express
13:11:04kaenbut, back soon!
13:11:11PlatskiesHmm okay
13:16:53Platskies57, 57, 57 using my existing sleep time
13:19:15PlatskiesOh I'll get an FPS value using your method
13:22:08Platskies56 and 57's, the occasional 58 or 59
13:22:19kaendon't actually use sleep though :)
13:22:31PlatskiesI'm using usleep
13:22:35Platskieswith 1000
13:22:49kaeninteresting.
13:24:20PlatskiesI hope that's accurate
13:24:26Platskiesthinking about this hurts my brain :(
13:24:45Platskies(when I don't understand, especially)
13:25:16kaengame loops are like that. it's something you do like once per project. often enough to be a nuisance, infrequently enough to never really perfect it.
13:25:48PlatskiesI'll try and compare with my accumulator method
13:25:48kaenalthough that method I posted is working solidly for me in my js testbed.
13:28:25PlatskiesMy method seems to give me more 58's and 59's
13:28:33Platskiesthere's still a few 56's though
13:30:02PlatskiesMaybe I didn't implement your method right exactly, I'm not sure :S
13:30:24PlatskiesI've had enough of this anyway :P
13:30:29kaenyep
13:30:41kaenmore interesting problems await!
13:30:58PlatskiesAs in non-game-loop stuff?
13:31:12PlatskiesThen yes, there will be…
13:31:45PlatskiesI should go… thanks for the help again!
13:31:54kaenno sweawt
13:31:55Platskiesit's 12:30AM
13:32:04kaeng'night!
13:32:18PlatskiesHeh
13:32:21PlatskiesSee ya :)
13:32:26Platskies has left
14:02:19LordDVG has joined
14:52:08SolumnMushroom has joined
15:22:31SolumnMushroomWow, the IRC is really busy isn't it?
15:23:30raptor has joined
15:23:31ChanServ sets mode +o raptor
15:28:38raptorbuenos!
15:28:41raptorsnow everywhere!
15:28:54SolumnMushroomHeh. Not here
15:31:09raptoryour near the coast somewhere?
15:31:13raptori'm in the mountains
15:31:15SolumnMushroomCA
15:32:00raptori like the snow - it makes everything quiet
15:39:33SolumnMushroomI'm feeling very lazy today, so my maps walls are force fields that heal quickly
15:44:59SolumnMushroomNevermind. They're actual walls. :P
15:47:06SolumnMushroomNow onto my Soccer map
15:55:08SolumnMushroomThe level editor is sassing me. :(
16:01:15raptorwhat's wrong?
16:01:55SolumnMushroomThe walls and goals were not being helpful. Nothing that needs fixing.
16:02:51kaenmorning!
16:02:51SolumnMushroomSoccer level done. Last, but not least, Zone Control
16:02:58raptormorning kaen!
16:03:07kaenraptor, I'm baffled that you fixed the crash with that line
16:03:15raptoryeah... so...
16:03:24raptori redid the bisect with people connecting
16:03:40raptorand the version that broke it was actually the revision right beforehand
16:03:45kaenoh lol
16:04:02raptorthis one: 676749c92893
16:04:20raptorthat took a while... because crashes only happened after like 2 min
16:04:40raptorso I checked the equivalent code for 018 - it had the line commented out, too
16:04:47raptorso i tried it... and tada!
16:04:54kaenwell, great!
16:04:54raptorbut i don't know why
16:04:58raptorwhich bugs me
16:04:59kaenme either.
16:05:22kaenin fact my understanding implies that commenting that line should make lua *more* likely to GC the userdata out from under us
16:05:23SolumnMushroomMy sister wants the game on her PowerBook G4, so I'm putting it on there for her. Her computer doesn't have wireless.
16:05:58kaensince there is one less reference to it (in luaW's hold table)
16:06:17raptori wonder what would happen if i restored the caching...
16:06:22kaenme too
16:06:28raptor goes to try
16:06:36raptorSolumnMushroom: spread the word!
16:06:38raptor:)
16:08:31SolumnMushroomWill it run under 10.4?
16:09:09raptorSolumnMushroom: yes, it should
16:09:25raptorhonestly untested - but i compiled it for 10.4 +
16:10:04kaenwell, here's what I've been doing this morning:
16:10:05kaenhttp://sam6.25u.com/upload/cov.png
16:10:26raptorwhoa
16:10:29raptorwhat is that?
16:10:35kaenoh
16:10:36raptorcallgrind?
16:10:41kaenjust a test coverage report
16:10:43kaenfor the unit tests
16:10:45kaenfor bitfighter
16:10:46kaenthat I wrote.
16:10:52raptorunit tests!?
16:10:56kaenword.
16:11:00kaenwith html coverage reports
16:11:02raptori thought we were philosophically opposed to those...
16:11:06kaenokay
16:11:09raptoror maybe it was just laziness
16:11:13kaenI don't mind throwing it away
16:11:17kaenit was 20 minutes of work.
16:11:21raptoryeah, that laziness excuse sounds better
16:11:53raptorunit tests, i think, might really be a good thing... but you found a way to autogenerate them?
16:11:59kaenno no
16:12:05kaenjust generate the coverage
16:12:16kaenbut I get little trickles of coverage from all the static data
16:12:17raptori'm not familliar with that term in this sense
16:12:20kaenoh
16:12:36kaencoverage like line-by-line which part of the code is tested by the test suite
16:13:18kaenhttp://sam6.25u.com/upload/cov2.png
16:13:20kaenis an example
16:13:49SolumnMushroomraptor: It crashed everytime I started it up on the PowerBook. It gave me a log. Says outdated SDL2 framework. v5.0.0 rather than v7.0.0
16:13:58kaenthe plus/minus on the sides show branch coverage (if you covered both sides of the if statement, for example)
16:14:16raptorSolumnMushroom: sadness
16:14:31raptorkaen: interesting...
16:14:55kaenbitfighter is a bit less testable than I thought...
16:15:01kaenin fact it's kind of a whiny bitch
16:15:07raptorha
16:15:10kaenas far as atomic instantiation.
16:15:14raptorhow so? i know it's complex...
16:15:23kaenthe main problem is the hard-wired dependencies
16:15:45raptorah yes, certain objects need to be in memory first
16:15:50raptorlots of them
16:15:56kaenright, but usually you can mock them out
16:16:15kaeni.e. make stub sub-classes that define empty functions for troublesome methods
16:16:36raptorah yes
16:16:41kaenbut the appropriate functions aren't made virtual, and the real methods almost always make no attempt to recover
16:16:47kaenthey mostly just start bawling
16:16:55kaenand return false a lot...
16:16:59raptorheh
16:17:04kaenwhich would be fine
16:17:14kaenbut some of them short-circuit their logic
16:17:19kaenfor instance, the luascriptrunner
16:17:30kaenI tried to use it to auto-gen the metatables for luaw
16:17:32kaenall worked well
16:17:42kaenexcept that if it can't find the help lua scripts, it gives up
16:17:47kaendoesn't set up the environment
16:17:50kaendoesn't try to make meta tables
16:18:00raptorah
16:18:03kaenand I can't override the function without changing that class
16:18:10raptorwo unto the tester
16:18:13kaenall I have to do is make it virtual, but you see my point
16:18:17kaenno, it's easy to fix
16:18:22kaenusually just one line in most cases
16:18:42kaenbut there would be something of a deluge of them at first.
16:19:07raptorwell, if this ends up cleaning up the code in some fashion, i'm OK with it... that's what i did all last night
16:19:27raptorbecause i think the stupid bot bug is there
16:19:36kaensorry I wasn't around to lend a hand. I fell asleep
16:19:38raptorjust that we're not exacerbating it anymore...
16:19:48kaeninteresting.
16:19:54raptorno worries, you're on a slightly differen sleep schedule right?
16:20:09kaenpretty significantly different from most people
16:20:19kaenI get up somewhere between midnight and 4am
16:20:52raptorso like 6 hours shifted
16:20:54raptorman
16:22:11kaenanyway this test stuff is just another experiment. if I can get it to where it's more of an asset than a liability I'll let you know.
16:22:19raptorheh ok
16:22:34raptori wholeheartedly support experimenting :)
16:22:50kaenI was just on the thought because it seems like it could be a big help in situations like this.
16:23:02kaenif you could just write a repro test case I mean
16:23:12kaenand then you could pump other info from your test too
16:23:14raptoryeah, actually - i have no idea how to debug this Lua stuff very well...
16:23:24kaenI know how to do it -- but only programatically
16:23:28kaeni.e. writing helper functions
16:23:39kaenor sometimes I fire up lua's debug.debug from inside of gdb.
16:23:51raptorok, adding the caching wreaks havoc again
16:23:52kaenthat was another idea I had: embedded lua REPL
16:24:17kaenhmm alright.
16:24:25raptoreven with that line commented out...
16:24:31raptoralso
16:24:47kaenwell, that's actually kind of good since the opposite would violate my understanding of luaw...
16:24:48raptoryou know that levelgen bug where the objects don't always generate on start-up?
16:24:55kaenI did not.
16:24:58kaenbut continue.
16:25:00raptor!bug
16:25:00BFLogBotTo enter a bug, please make sure it is reproducible and then go to http://code.google.com/p/bitfighter/issues/list | Also, see current running bug list: http://bitfighter.org/wiki/index.php/Running_Bug_List
16:25:02raptor#4
16:25:06raptoron the runnign list
16:25:29raptorit crashes in the exact same manner as this bot bug
16:25:32kaenohohoho
16:25:39raptoreven with my fix...
16:25:45kaenI can't believe I hadn't seen it before
16:25:47kaenokay
16:25:59raptorwatusimoto told me they were unrelated, but i never believed him
16:26:04raptorand now their looking similar
16:26:07raptor*they're
16:26:29kaenI have to agree
16:26:42kaenso, it's sporadic
16:26:52kaencan happen in the ontick and when items are loaded
16:26:52raptoralso, it maybe be quite a bit easier to debug that test case sam provided than a level with a million bots in it
16:27:00kaenlikely
16:27:47kaenwhat said something about corrupted metatables
16:28:16kaenwat*
16:28:18raptoryes, that's a route he kept going, but i never figured out how to debug those appropriately..
16:28:27kaengah me either
16:28:37kaenthey're stored in the registry table of luawrapper iirc
16:28:42raptormy ignorance is making this worse..
16:28:50raptor(for me)
16:29:30kaenso should be in something like e.LuaWrapper["__extends"]
16:30:03kaenI don't know how to map a lua identifier to a watchable memory address in gdb though :<
16:30:11raptor!!
16:30:14raptormy same problem
16:30:20raptorso
16:30:25raptori'm going to try the eclipse debugger
16:30:30kaenin fact I've been puzzling over that exact thing for several days
16:30:32raptorbecause it lets you dig deep
16:30:39raptorsomehow, it's smart...
16:30:45kaencool :)
16:30:45raptorand it uses gdb
16:30:48kaenwhoa
16:31:40SolumnMushroomHow do zones work?
16:31:49kaenback shortly.
16:31:50SolumnMushroomIn the editor
16:32:01raptorSolumnMushroom: which zones?
16:32:11raptoroh, generic zones?
16:32:17raptorthey're for levelgen scripts
16:32:17SolumnMushroomYes
16:32:43raptoryou can assign them an ID, then use that in a levelgen script to do almost anything you want
16:32:44raptorbut
16:32:50raptorthat's actually broken in 018
16:33:12raptorso think of it as invisible decoration
16:33:13raptor:)
16:33:45SolumnMushroomYay... I use Goals for ZC
16:33:49SolumnMushroomright?
16:34:38SolumnMushroomGot it
16:35:22raptoryes, goals for any game time that uses them :)
16:41:28SolumnMushroomDone!
16:49:59raptori think i need a good primer on debugging Lua... because all I see is memory addresses and 1or2-letter variables that mean nothing to me
16:55:35kaenlet me know if you find one
16:56:34raptormurky waters
16:57:08kaenwell, debugging embedded lua has an additional layer of complexity.
16:57:24kaenI think it's common to wire up your own debugger.
16:59:48kaenyep. that's what the lua manual says.
16:59:52SolumnMushroomUploaded the rest of my maps and a mappack to the forums
16:59:59raptorlovely
17:01:14SolumnMushroomMy Rabbit map looks like a cartoon rabbit head. :3
17:01:38kaena challenger approaches:
17:01:38kaenhttps://github.com/slembcke/debugger.lua
17:02:59kaenyep.
17:05:34raptorit's gotta be something wrong with our inheritance..
17:05:46SolumnMushroomSo, what's the general thought on Windows 8?
17:07:21koda has joined
17:07:59raptorSolumnMushroom: it exists
17:08:12raptorthat's the extent of my thoughts on it..
17:08:56SolumnMushroomI've used it, and I don't like it
17:09:11SolumnMushroomOr at least the new stuff
17:09:14Fordcars has joined
17:09:31Fordcarshi
17:11:12FordcarsYou can send files with IRC?!??
17:11:20SolumnMushroomUbuntu 13.04 is called "Raring Ringtail"
17:11:23raptorFordcars: yep, although I cannot receive
17:11:29Fordcarsoh :P
17:12:17raptorkaen: are you experimenting with that debugger?
17:12:24kaenyes
17:12:32kaentrying to figure out how to call it up from gdb
17:12:46kaenjust missing a C function to run a string of lua code
17:12:51kaenany tips?
17:13:04raptornot quite there yet :-/
17:13:06kaenok
17:13:10kaenI found it before
17:13:14kaenI know there's one around
17:13:32raptorlua_pcall?
17:13:40raptorno that's something different..
17:14:04kaenlual_loadstring
17:14:08kaenluaL_loadstring
17:14:45raptorwe have that stack_trace_plus.lua loaded from our scripts/ dir
17:14:51raptordoes that interfere?
17:15:28kaenit might be
17:15:43kaenI'm executing the string, it's just immediately executing
17:15:48kaenexiting
17:16:00kaen**returning
17:16:05kaenrather than dropping to the prompt
17:16:44kaenoh derp
17:16:47raptorwhoa, this is the guy that does chipmunk physics
17:16:58kaenAlso as lua_load, this function only loads the chunk; it does not run it.
17:17:10kaen^ from the docs
17:17:26kaenah!
17:17:30kaenluaL_dostring
17:17:44raptortada!
17:18:29kaenoh cool
17:18:31kaenit's a macro
17:18:36kaenso I can't use it from gdb :<
17:18:54kaenand so it becomes luaL_loadstring(L, str) || lua_pcall(L, 0, LUA_MULTRET, 0)
17:20:06raptorgoing through the tutorial...
17:22:56raptori'm not sure this meets our needs...
17:23:54kaenbecause there's no watch points?
17:24:03raptorbecause it doesn't go into C functions
17:24:31kaenI see.
17:24:44kaenhmmm that makes sense.
17:24:57raptorbut i may be wrong
17:25:07raptori have the idea that our issue is withing c/c++...
17:25:15raptor*within
17:26:13kaenI agree but I think it is a mismanagement of lua data
17:26:53kaenand so __gc and __set metamethods provide us with the hooks and a lua debugger is better than trying to watch lua values in gdb
17:27:21kaenwait a second...
17:27:32kaenthere are functions in luaW that specifically don't tigger metamethods
17:27:39kaenso my premise is flawed
17:27:42kaenso yes, you are right.
17:28:04kaenin that we need something closer to the ground.
17:28:14raptori'm only wildly guessing at most of this stuff..
17:28:21kaenme too
17:28:32raptorwhoa! cmake can autodetect which cpp files need to be compiled with a header change??
17:28:48kaenyes, that's what I've been trying to tell you ^^
17:28:57raptorand i've not been listening...
17:29:02raptorwell cool!
17:29:17raptorthat's what vc++ and xcode try to do... but fail every once in a while..
17:29:29kaenI imagine cmake does too
17:29:39kaenalthough I've yet to have a problem fixed by a full rebuild
17:29:58kaenby a forced full rebuild anyway
17:30:07kaenbut at any rate, two wild guess are better than one
17:30:11raptorha
17:32:52kaenokay, #lua just gave me some tips:
17:33:04kaen1. we can the address for a table by printing it (duh)
17:33:09kaen2. lua_topointer
17:33:36kaenwhich gives a void pointer to the appropriate real thing in memory
17:34:05kaenthat's it. anyway I'm going to hack up some helper functions
17:35:24raptorok hypothetical situation
17:35:34raptori have my IDE stopped at when a bot crashes
17:35:37raptori have the L
17:35:44raptorwhere do i go?
17:36:04kaento do what?
17:36:16kaento examine the lua state?
17:36:25raptorspecifically, that assert is triggered: expected table, got userdata
17:36:43kaenyou can open a debugger by executing "debug.debug()" in lua
17:37:05kaenluaL_loadstring(L, "debug.debug()") || lua_pcall(L, 0, 0, 0)
17:37:36kaenbut I don't know how eclipse's gdb wrapper will handle the i/o
17:38:38kaenyou can't close that debug prompt without crashing the program though :/
17:40:00kaen(I meant that you should run that from inside gdb at the stopped state)
17:41:39Darrel has joined
17:42:54raptorok, i'm there!
17:43:02raptornow where is the doc on debug.debug() ?
17:44:00kaenhttp://pgl.yoyo.org/luai/i/debug.debug
17:44:18kaengotta use logprintf every line :<
17:45:02kaenuggggh
17:45:09kaenNote that commands for debug.debug are not lexically nested within any function, and so have no direct access to local variables.
17:45:20raptorthis is horrid
17:45:24kaenTHATS NOT EVEN A DEBUGGER
17:45:39kaenoh my.
17:46:00raptoryeah, this... this is
17:46:08raptora forsaken path
17:46:14kaenye.s
17:46:21kaenbetter to retreat and regroup
17:46:21raptorit's like they had great plans for it
17:46:47kaengah
17:46:49kaenback soon
17:48:58raptortime to debug outside of the header...
17:59:38koda Quit (Quit: koda)
18:01:57raptorok, i'm to the corrupted stack
18:11:59kaen:o
18:12:13kaenoh
18:12:15kaenlua stack
18:12:28raptori missed a few virtual destructors...
18:12:34raptoradding those back...
18:12:43kaenthat's good news though!
18:13:14raptoryes... and i missed one around Turret/FF
18:13:28raptorwhich their getHealth() method is one that crashes a lot...
18:13:45raptorquestion
18:14:02raptorin LuaWrapper.h, I find taht ~LuaProxy() isn't virtual either
18:14:26raptorwould that need to be? (it doesn't look like it has any virtual methods...)
18:15:00kaenI don't think so
18:15:20kaenunless those functions are being redeclared in the subclasses
18:15:20raptoryeah me neither... but anything that requires the use of a luaproxy should be virtual, correct?
18:15:24bobdaduck has joined
18:15:30kaenin which case they've never been called.
18:16:45kaen"requires the use of a luaproxy"
18:16:51kaenI'm not sure what you mean
18:16:52bobdaduckHai guise
18:17:01raptorhi bobdaduck
18:17:23raptorsorry kaen, i mean any c++ class that has the LUAW initializations
18:17:23kaenanything that gets put into lua as userdata managed in a luaW_UserData needs the virtual destructor
18:17:27kaenyes
18:17:31raptoryes
18:17:42kaenthat's a more exact definition, the LUAW ctor/dtor
18:17:42bobdaduckOh man I miss edshin
18:17:46raptorok, because there are still quite a few missing (regex fail last time)
18:17:47bobdaduckI miss his accent
18:17:57kaenguise
18:18:08kaenthere are 10 people in this channel
18:18:11bobdaduckHe talked liek this all teh time
18:18:18kaen10 PEOPLE BOB
18:18:27bobdaduckI know rite
18:18:35bobdaduckTeh IRC is more popular then teh game
18:18:35raptoryeah, i feel like we've passed some sort of threshold
18:18:44kaenand we're missing a couple heads even
18:18:56kaenanyway
18:19:04bobdaducklol
18:19:15raptordon't worry - summer will come, people will go away, then start school, promise themselves to be serious about life, then come back next January when they're fed up again
18:19:31raptor:)
18:20:13kaen squirms
18:20:36bobdaduckrofl
18:21:01raptorno no, i didn't mean that as a guilt trip - i was trying to accurately describe human behavior in a detached sense...
18:21:14kaenI know :)
18:21:27raptorand this is why i can't interface with people in the real world...
18:21:38kaenlol I was just making a joke
18:21:49kaenso I tried watching the lua userdata
18:21:49raptor:)
18:21:58kaenI was able to get addresses off of the lua stack
18:22:02raptorwas it a good show?
18:22:14kaenI needed a good pun just now lol
18:22:26kaenso anyway gdb won't watch void*
18:22:48kaenI'm able to get the size of the lua udata by lua_objlen
18:23:04kaenbut I don't know how to cast it in such a way that gdb will accept the pointer deref
18:23:10kaen(which is needed to watch it)
18:23:30kaenexample, I know robot udata in lua is 8 bytes
18:23:34kaenaccording to lua
18:25:48kaenGAH
18:25:48raptorhmmm
18:25:55kaenit's flippin' luaW_userdata
18:26:14kaenwhich contains a pointer to the real object and the cast
18:26:14raptorthat's your cast?
18:26:18raptorahhh
18:26:38kaenapparently I want the address of the lua *reference* to the userdata
18:26:45kaenwhich is what I'm really interested in watching
18:27:01raptorheader changes coming...
18:27:04kaenwhich is stored in an internal lua field somewhere I'm sure...
18:27:11BFLogBot Commit: c50cf86c4d79 | Author: buckyballreaction | Message: Missed some virtual destructors
18:28:15kaenwhich means I'll be debugging not lua code, nor the lua wrappers per se, but lua-vec itself
18:28:17kaenI believe.
18:28:47kaenmy plan being to see exactly at what point the reference luaW pushes becomes invalid
18:28:59kaento examine the state of the program in that condition
18:29:06kaenand hopefully gain insight as to its cause.
18:30:13kaenoops, the reference lua-vec dereferences*
18:44:29raptorhttp://pastie.org/6111264
18:44:39raptorhttp://pastie.org/6111265
18:45:01raptorwhen a bot crashes I get two tables on the stack, the 2nd table (index -2) is that first pastie
18:45:10raptorthe first table (at index -1) is all corrupted
18:45:24raptorand that's the one that *should* be the userdata
18:45:45raptorit's like the userdata has disappeared completely and it's just random memory garbage
18:46:10raptorwhich you've probably already figured out... but i'm trying to catch up :)
18:47:53kaenyes, but now we have confirmed it :)
18:48:04kaenor at least are both identically incorrect
18:49:12kaenokay
18:49:38kaenso only some of that first "table" is garbage
18:49:43kaenthat's kind of weird
18:50:00raptorwell... it's like it took a huge chunk of memory
18:50:09raptorand then interpreted each segment the best it could
18:50:42kaenyes, 1185 elements is rather large.
18:50:49kaenbut
18:51:33kaenif it determines the type of each element numerically, the odds of that much of it falling onto interpretable values seem small
18:51:57kaenparticularly around index 1000
18:52:32raptorso
18:52:40raptorthat first table (which should be userdata)
18:52:51raptormaybe it's just cast badly as a table? (I know... simplistic)
18:53:18kaenvery possible
18:53:44kaenso, corrupted udata most likely
18:53:51kaenbut how is it cast as a table I wonder...
18:57:42raptorok, my particular instance is being called from a FlagItem->push
18:57:42kaenwhat function are you using to dump those tables raptor ?
18:57:48kaenokay
18:58:01raptorLuaBase::dumpTable
18:58:59raptorthat comes from this: LUAW_DECLARE_CLASS_CUSTOM_CONSTRUCTOR(FlagItem);
19:00:36raptorthat expands to this: http://pastie.org/6111338
19:00:44kaenright
19:00:50kaenso the luaw_push call
19:00:52kaenstill...
19:00:54raptorso.. yes
19:00:57raptorthe 'this'
19:01:00raptorwhat is that...
19:01:25kaenthat's a reference to the object
19:01:30kaenthe real object in c++ world
19:01:38raptormakes sense
19:01:47raptorbut... why is it showing up as a table?
19:01:49kaenluaw_push makes lua udata from that and wraps it ina luaw_userdata
19:01:53kaenhold on
19:02:22kaenso the luaw_userdata has the udata and a cast
19:02:52raptorthat push is being called from robot.cpp:1279
19:02:54raptorstatic_cast<BfObject *>(fillVector[i])->push(L);
19:03:02kaenwhoa
19:03:10kaenoh okay I see
19:03:27raptori don't know where i'm going with this...
19:03:32raptorjust bouncing off what i see
19:07:01raptorit's pulling from fillVector
19:07:05raptorcould
19:07:12raptorthat's a global reusable container
19:08:20kaenugh
19:08:30kaenthat could definitely be it
19:09:07raptorlooking at that at that time shows 2 FlagItem*
19:09:13raptorso it looks clean...
19:09:27kaenin fact if any other fillVector manipulation happens between the top of that function and that line, it could cause errors
19:11:09raptorwell its looking clean... let me see if i can get you a screen shot...
19:13:38raptorargh... debugger is running slow... have to restart..
19:13:49kodapad has joined
19:13:55kaenugh
19:17:56Fordcarsno body can join my server >:)
19:18:47raptorok kaen: http://sam6.25u.com/upload/2snapshot24.png
19:18:56raptorman, that was finicky
19:19:10raptorso it is crashing when calling the ->push from Turret
19:19:21raptoryou can see the internal proxy points to itself correctly
19:19:50Fordcarshaha bobdaduck >:)
19:19:57bobdaducklol
19:24:12kodapad Quit (Quit: K Thx Bai)
19:37:42Fordcars Quit (Ping timeout: 255 seconds)
19:37:58Fordcars has joined
19:40:10Fordcarsbut guys, what is that famous website that says how to port forward?
19:41:00kaenhttp://portforward.com/routers.htm
19:41:06kaenI imagine is what you mean.
19:42:06Fordcarsah yes thanks :P
19:42:40raptoris it safe to say that each method that is being called which crashes the bot is an inherited method of the object being returned?
19:43:17kaenI have noticed that
19:43:28raptorso like if the userdata is supposed to be Turret, the bot is crashing on an inherited method in Turret, not on one of the explicitly declared ones for the class (maybe?)
19:43:38kaenoh
19:43:51kaenI can neither confirm nor disprove
19:43:55raptoranyways, changing that static cast to dynamic and putting in a null check did nothing
19:44:12raptorso i don't think it is the fillVector OR the static_cast..
19:44:28raptorit's like there's a memory alignment error somewhere...
19:44:50kaenheh
19:48:17Fordcarslol
19:48:33bobdaduck Quit (Quit: Page closed)
19:49:44raptorthis is vaguely reminding me of this bug i fixed: 4a21ea1851dd
19:51:08Quartz has joined
19:51:10raptortwo string stuck together were nulling out the rest of the aligned object
19:51:16Quartzyo ratpor
19:51:20raptorhi Quartz
19:51:21QuartzRATPORE.
19:51:33Quartzbob says I need {} in my if statement
19:51:36QuartzI don't even know what he means so
19:51:42QuartzWhat's wrong with
19:51:43Quartzlocal BlockOne = math.random(4) if(BlockOne == 4) then levelgen:addLevelLine("
19:51:51raptoris that Lua?
19:51:56Quartzyea
19:52:00raptoryou don't need {} with Lua
19:52:06Quartzthen he's on crack
19:52:06raptorbut you need to have an 'end'
19:52:18raptorif ... then.... end
19:52:18QuartzThe whole thing is ... and sorry about how big this is ...
19:52:19Quartzlocal BlockOne = math.random(4) if(BlockOne == 4) then levelgen:addLevelLine("BarrierMaker 51 -2 -2.7 -2 -2.3 LineItem 1 1 -1.9 -2.7 -1.9 -2.3 LineItem 1 1 -2.1 -2.3 -2.1 -2.7 LineItem 0 1 -1.9 -2.7 -1.9 -2.3 LineItem 0 1 -2.1 -2.3 -2.1 -2.7") else levelgen:addLevelLine("") else levelgen:addLevelLine("") else levelgen:addLevelLine("") end
19:52:40QuartzSo there's supposed to be a 1/4 chance this barriermaker and its line items appear basically
19:52:41kaenpastie.org
19:53:23kaenway too many elses
19:53:26raptoryou have three: else levelgen:addLevelLine("")
19:53:33kaenyou can only have one else
19:53:47Quartzderp
19:53:48raptorshould be 'else if(BlockOne == 3) then'
19:53:51kaenyou need 'else if (condition)'
19:53:57kaenyes.
19:54:22raptorbut actually
19:54:27raptorsince you're using random
19:54:41raptoryou only need:
19:54:42raptorif(BlockOne == 4) then
19:54:44raptor levelgen:addLevelLine("BarrierMaker 51 -2 -2.7 -2 -2.3 LineItem 1 1 -1.9 -2.7 -1.9 -2.3 LineItem 1 1 -2.1 -2.3 -2.1 -2.7 LineItem 0 1 -1.9 -2.7 -1.9 -2.3 LineItem 0 1 -2.1 -2.3 -2.1 -2.7")
19:54:45raptorend
19:54:47raptorthat's it
19:54:58Quartzoh sweet
19:55:11raptorexcept
19:55:20raptorthat's not a valid level line
19:55:34raptorLineItem.... LineItem.... all on the same row?
19:55:42QuartzNah that's just how it's pasting
19:55:51raptorah ok
19:55:54Quartzhttp://pastie.org/6111675
19:56:02QuartzCorrect?
19:56:06raptorbetter, yes
19:56:27raptorif it crashes on multi-lines like that, you can wrap each one in another levelgen:addLevelLine()
19:56:36raptor(i don't remember correct syntax)
19:56:50QuartzOh I get you.
19:56:51QuartzGotcha
19:58:01QuartzIt either isn't working or I'm insanely unlucky xD
19:58:03QuartzNo crashes though
19:58:17raptoralso remeber that random is.... random...
19:58:24raptorsometimes more random than other times
19:58:25QuartzThat's what I'm saying :P
19:58:34raptor:)
19:58:37QuartzAfter ~25 restarts hahaha
19:58:42QuartzStill nothin
19:58:51kaendid you put it the main () function ?
19:58:56kaenput it in*
19:59:02raptor^^ that
19:59:14kaenfunction main()
19:59:18kaen ....
19:59:19kaenend
19:59:21raptoralso, just to check... your random function *might return a value between 0 and 3...
19:59:22kaenI think?
19:59:29kaenoh yeah
19:59:29raptorkaen: correct
19:59:32QuartzNah it's supposed to be 1-4
19:59:41Quartzthat's what the guide said on the wiki
19:59:43Quartz*shrugs*
19:59:44kaenokay
19:59:47kaenthat makes sense
19:59:55QuartzSo I need function main() at the start
19:59:55raptorjust to be sure do a print(BlockOne)
20:00:07raptoryeah the main will probably fix it..
20:00:37kaenthe "end" is important too
20:00:50QuartzSo now there are 4 noobs in my test server.
20:00:52Quartz>_>
20:01:02QuartzFirst World Problems
20:01:09kaenlua is friendly to new programmers and confusing to anyone who knows any other programming language...
20:01:33Quartzyeah well. I'm just using this as an ends. I'm not big on programming anymore
20:01:40QuartzThis would've excited me when I was a Sophomore/Junior
20:01:42Quartzlol
20:02:39Fordcarshey, I'm a noob :P
20:02:40Quartzprint(BlockOne) what is that
20:02:53Quartzdon't worry I use noob as a mostly affectionate term
20:02:57Fordcarshehe
20:03:07kaenit should put the value of BlockOne into the log
20:03:11kaenprint it to the console
20:03:13raptorQuartz: that'll print your random number to the console
20:03:25kaenit might need to be logprintf though(?)
20:03:28raptorto see if you ever get 4...
20:03:32Quartzthe consoleeee?
20:03:35raptoroh, logprint
20:03:43raptorlogpring(BlockOne)
20:03:47raptorlogprint
20:03:50kaenI've never gotten it to work with normal print()
20:04:07raptorQuartz: the console is pulled up by pressing CTRL + / in-game
20:04:09raptorslash
20:04:59QuartzYup it's Error loading script
20:05:00Quartzfun stuff
20:05:27QuartzThis is what I have ATM:
20:05:27Quartzhttp://pastie.org/6111758
20:05:41raptoradd another 'end'
20:05:43raptorfor main()
20:05:55raptorone end for the 'if' one for the 'function'
20:05:56Quartzk
20:06:29QuartzThe error says unfinished string near 'barriermaker blah blah'
20:06:40QuartzSo I need to separate those 5 items
20:06:41Quartzamiright?
20:06:43raptoryeah, so wrap each
20:06:45raptory
20:08:59Quartzalright I nub'd it up again
20:09:05Quartz"unexpected symbol near 'then' "
20:09:06Quartzhttp://pastie.org/6111780
20:09:24raptoronly 1 'then' per 'if'
20:09:44raptorso remove all those 'then's between levelgen:addLevelLine...
20:10:05Quartzhah k
20:10:55Quartzit worked
20:10:56Quartzholy craaaap
20:11:02raptoryay
20:13:49Quartzalright now I know what I'm doing
20:14:03QuartzThis is gonna take a while lol I should do homework and eat and stuff and get back to this inbetween said items
20:14:08QuartzThanks for the help raptor, kaen
20:14:26raptorsure
20:14:27Quartzhopefully this map will suck a little less by the end of this
20:14:31raptorheh
20:14:35Quartzit looks cool as hell but plays terrible hahah!
20:15:08QuartzIt's my attempt at PWNing every grid-like Zone Control that's been done :P
20:15:17raptorha
20:15:24Quartzyou've seen it I think
20:15:25Quartzso yeah
20:15:26raptoris it a take on that grid wars one?
20:15:31Quartzgrid wars?
20:15:33Quartzidk probably?
20:15:34raptorerr
20:15:44raptorit had Clu and Users
20:15:49raptor(can't remember the name)
20:16:01QuartzProbably yes
20:16:06Quartzeither that or you're thinking of mine
20:16:08Quartzlol
20:16:10Quartzdoesn't matter
20:16:14Quartzyou'll see it eventually
20:16:16Quartzpeace
20:16:18Quartz Quit (Quit: Page closed)
20:21:45raptorkaen: i'm losing endurance with this Lua bug...
20:21:52kaenI understand
20:22:48kaenI feel like I have a better grasp on the problem
20:22:55kaenand yet still like I don't have a single clue.
20:34:13raptorok, i'm not finding the problem in our code anywhere...
20:34:18raptorthat means Lua...
20:34:23raptorso
20:34:32raptorwe push the user data on the stack with: lua_gettable(L, -2);
20:36:01kaenwhere?
20:36:04raptorthat grabs a value from the top of the stack
20:36:11kaen(we do that a lot)
20:36:27raptorand looks it up in table at -2
20:36:37kaenyep
20:36:48raptorthen pops the value and pushes the table value
20:36:52raptorin luaW_push
20:38:09raptorwait... i'm looking at the cache-version of LuaW
20:38:14raptor(because it crashes faster)
20:39:04kaenooooh
20:43:02koda has joined
20:45:41kaenso anyway
20:46:08kaenthe questions are: is that data only put into the table by luaw_push
20:46:22kaenand when (if ever) is it modified
20:47:25raptorwe need a highly specific test case where there is only like 1 or objects being pushed all the time...
20:47:50kaenI have actually been working on that
20:47:55kaenprogress is slow...
20:48:00kaenbut progressive
20:58:03kaenany clue how luaw_is works?
20:58:26kaenholy crap!
20:58:37raptoroh yuk
20:58:39raptorno
20:58:46kaenwell I made a testable lua environment in my unit test clone
20:58:55kaenlet's see if I can trigger the bug in it
20:59:12kaenI added the robot successfully
20:59:22kaenlua_is says for robot and no for flag
20:59:29kaensays "yes"
20:59:34kaenso it seems legit
21:20:58raptor Quit (Ping timeout: 256 seconds)
21:27:28Fordcarslater guys
21:27:30Fordcars Quit (Quit: Leaving)
21:27:44kaenbb
21:28:28raptor has joined
21:28:29ChanServ sets mode +o raptor
21:28:59raptorflaky router
21:29:44raptorok ok
21:30:07raptori'm going to revert to the currently working bot code and look at the level code..
22:03:54raptoryay cmake dependency scanning
22:16:34Darrel Quit (Read error: Connection reset by peer)
22:31:35LordDVG Quit (Remote host closed the connection)
22:49:13Nothing_Much Quit (Ping timeout: 264 seconds)
23:08:14Nothing_Much has joined
23:38:00BFLogBot Commit: d21bafa6ec4d | Author: buckyballreaction | Message: Update lua-vec to use Lua 5.1.5
23:38:59koda Quit (Quit: koda)
23:50:23bobdaduck has joined
23:50:38bobdaduckHai guise
23:52:52raptorhi

Index Search ←Prev date Next date→

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