#bitfighter IRC Log

Index Search ←Prev date Next date→

IRC Log for 2013-04-10

Timestamps are in GMT/BST.

00:00:34koda has joined
00:12:21koda Quit (Ping timeout: 256 seconds)
00:29:11Watusimoto_ Quit (Ping timeout: 264 seconds)
00:29:58raptor has joined
00:29:58ChanServ sets mode +o raptor
00:30:05raptorI must partake of the evil
00:30:32raptornot still up, rats
00:33:38Platskies has joined
00:34:45bobdaduckOh
00:34:48bobdaduckI was busy
00:35:20bobdaduckits up now raptor
00:35:31raptorok
00:38:04raptorha!
00:38:10Platskies Quit (Ping timeout: 255 seconds)
00:38:13bobdaduckone more
00:38:40raptoroh ok
00:46:02Platskies has joined
00:47:55raptorshould I put the owner password on the HOST GAME screen?
00:53:47fordcars Quit (Ping timeout: 245 seconds)
01:02:36raptormaybe our game isn't addicting enough
01:02:58raptorwe have to compete agains the billions of dollars filtered into an industry at creating drugs from games
01:10:36fordcars has joined
01:32:04bobdaducklol
01:32:06bobdaduckYeah
01:32:10bobdaduckI mean it wouldn't be hard
01:32:19bobdaduckjust add achievements and profile and stuff
01:32:24bobdaduckBoom! addicting
01:32:31bobdaduckIts a question of morals.
01:35:27fordcars Quit (Ping timeout: 245 seconds)
01:35:33raptori'll be back later!
01:35:45raptormorals... stinking morals...
01:35:51raptor Quit ()
01:36:48bobdaduck Quit (Ping timeout: 240 seconds)
02:00:52Platskies Quit (Remote host closed the connection)
03:31:49raptor has joined
03:31:49ChanServ sets mode +o raptor
03:36:19kaen Quit (Read error: Operation timed out)
03:46:59bobdaduck has joined
04:14:40raptorok, continuing my coding of the 'owner' status...
04:23:45bobdaduckALL ALONE WITH JUST LOGBOT FOR COMPANY
04:24:06raptorhmmm...
05:09:04bobdaduckSo neutral ship + slipzone crash.
05:09:18raptorfixed already (I think)
05:09:29raptorkaen did it a few days ago
05:44:21Flynnn has joined
05:46:06raptorhmm the owner permission level is a bit tricky in some places...
06:43:30raptorour permission system is crazy...
06:43:41raptorso many tentacles into many different areas
06:46:42Flynnn Quit (Ping timeout: 255 seconds)
06:48:17Flynnn has joined
06:53:26bobdaduck Quit (Remote host closed the connection)
07:03:34Flynnn Quit (Quit: Leaving)
07:26:53raptor Quit ()
07:46:36watusimoto has joined
07:46:36ChanServ sets mode +o watusimoto
08:58:12LordDVG has joined
09:01:46LordDVG Quit (Remote host closed the connection)
09:21:41Platskies has joined
09:26:19Platskies Quit (Ping timeout: 252 seconds)
10:03:45Platskies has joined
10:28:39Watusimoto_ has joined
11:48:35Watusimoto_ Quit (Ping timeout: 256 seconds)
13:20:56Wuzzy has joined
14:16:38Platskies Quit (Remote host closed the connection)
14:45:15kaen has joined
15:51:28bobdaduck has joined
16:40:40Watusimoto_ has joined
16:58:55watusimoto Quit (Read error: Operation timed out)
17:38:10Watusimoto_ Quit (Ping timeout: 276 seconds)
17:42:33bobdaduckWhat is our average rate of releases?
18:07:11bobdaduckOkay so on average it takes four months per release
18:07:18bobdaduckcounting outliers like 015a
18:07:41bobdaduckWith most releases only taking 2-3 months
18:08:30kaenthe best way to increase release frequency is to add developers
18:08:37kaenI know a certain duck with a working IDE...
18:08:57bobdaduckIDE?
18:09:11kaenvc++ is an integrated development environment
18:09:12kaenIDE
18:09:16bobdaduckoh.
18:09:40bobdaduckThat's cool that a duck has vc++
18:09:45bobdaduckI'd like to meet this guy
18:10:23kaen:|
18:11:07bobdaduckSomeone would have to push me. I don't have the ambition to (re) learn C++ on my own
18:23:12bobdaduckSo the projected next date of release is about a month from now.
18:23:30bobdaduckcool
18:27:17kaeneh, that's not a good projection
18:27:58kaenif you're estimating the time until the next release, you need to evaluate the time needed to complete the work that needs to be done before we're release ready
18:28:27kaenthen you need to calculate approximate time contribution of the time per some interval
18:28:51kaendistance / velocity = time
18:29:30kaencontribution of the team**
18:30:04kaenthe first is reasonable to assess (or would be if we had explicit release requirements)
18:30:16kaenthe second varies too much to be usefully estimated.
18:30:41kaensometimes I fix six bugs in a day. sometimes I fix one bug in a month.
18:31:14bobdaduckI'm going off of average times between releases. Of course that's not going to be exact.
18:31:30kaenI'm saying it won't even be close
18:31:37bobdaducklol
18:31:51kaenmaybe accurate +/- 2 months
18:31:52bobdaduckWATCH ME.
18:32:58bobdaduckOne month from now!
18:33:00bobdaduckIsh!
18:38:36raptor has joined
18:38:36ChanServ sets mode +o raptor
18:41:20raptormy coding velocity changes so rapidly that I don't think even an acceleration curve would find consistency (perhaps a 'jerk' curve?)
18:45:43kaenmy physics teacher used to make jokes about me being a third derivative of distance
18:45:44kaengood times.
18:45:52raptorhahaha
18:47:51BFLogBot Commit: a48f089468c4 | Author: kaen | Message: use the whole numstr array in makeUnique
18:48:03kaennot sure why I did ARRAYSIZE(numstr) - 1 in the first place...
18:48:23raptorbecasue of null terminator?
18:48:34kaendsprintf wraps snprintf
18:48:43kaenwhich takes the array size and accounts for the terminator
18:48:53Watusimoto has joined
18:48:57raptorah perfect, then
18:49:01raptoralso makes code simpler..
18:49:26kaenthank goodness for wat's eagle eyes
18:50:25kaenI'd hate for the server to crash when I finally get UINT_MAX / 2 players
18:50:34kaenall with the same name.
18:50:48raptorhaha
18:52:08kaenrelease estimates, physics jokes, and bugfixfixfixing. all before noon!
18:52:30raptor016 took like 10 months!
18:53:59raptoroh kaen, how did your interaction with the debian folks go?
18:57:06kaenit's still pending. I filed an "intent to package" (the first of many steps)
18:57:21kaenaverage length of the process is almost three weeks by my estimation.
18:58:34Watusimotowhoa
18:58:35Watusimotohttp://www.lowendbox.com/
18:58:42Watusimotocheck out the BitAccel deal
18:58:54Watusimotothat's less than I pay for bitfighter.org
19:03:56Watusimotoand good day to you all
19:04:04kaenhello, good day
19:04:12kaenlowendbox is where I found my vps too :)
19:04:25bobdaduck Quit (Ping timeout: 252 seconds)
19:06:02bobdaduck has joined
19:10:17WatusimotoI have an unused 128MB machine I pay $3 /mo for. I think I'm going to switch that one over to bitaccel. Might as well have something a bit bigger to not use.
19:10:31raptorha
19:20:29raptorok Watusimoto, I'm still debating on one of two solutions to the last two Lunar obejcts (WeaponInfo, ModuleInfo)
19:21:17raptorbuild up an array of complex objects like how we do our enums (I haven't gotten my head wrapped around this one)
19:22:25Watusimotoyes, that
19:22:37raptor2. create a parallel object (like to gModuleInfo) that has LuaW access and just directlly references the const arrays we have in place
19:22:48Watusimotodo the first
19:22:51Watusimotoit's easy
19:22:55raptoryeah, so the first -
19:23:08bobdaduckSwitching between the bitfighter irc and talking with footloose gives me mental whiplash
19:23:09Watusimotoyou'll create a table that has entries for whatever properties we want to expose
19:23:14raptorI keep attempting it late at night and am starting to get a bit discouraged
19:23:28Watusimotodon't!
19:23:35bobdaduckxD
19:23:41Watusimotohold on, I'll get some sample code
19:24:28raptorbecause if how I'm reading it correctly, our add_enum_to_lua() method in LuaScriptRunner, just creates a big string that is piped to Lua and parsed as a complex object?
19:24:37Watusimotoyes
19:24:41Watusimotothat is one way to do it
19:24:56Watusimotonot the most elegant, but it would certainly suffice
19:25:17Watusimotothis is highly performance unsensitive code -- gets run once, during start up
19:25:26Watusimotoand at that, it probably performs pretty well
19:25:31raptoryou have a better way? note that we have members that can be integers or strings or bools
19:25:56raptormaybe Lua doesn't care when it is built up like an input string like that?
19:26:16WatusimotoSo I see two approaches. 1) the string way (which is clunky, but really, not too bad)
19:26:27Watusimotoor 2) build the table programatically
19:26:36Watusimoto2a) create the table
19:26:41Watusimoto2b) add entries
19:26:58Watusimotohave you done much javascript/jquery work?
19:28:20raptori have done a lot of jquery work in the past, but the brain has this neat defense mechanism of forgetting what pain feels like
19:28:35WatusimotoI ask because that offers the perfect analogy
19:28:43Watusimotolets say you are creating a table in js using jq
19:28:48Watusimotoyou can create a table object
19:28:55Watusimotocreate a row object
19:28:59Watusimotocreate some cell objects
19:29:03Watusimotoadd contents to the cells
19:29:05Watusimotoadd cells to the row
19:29:08Watusimotoadd row to the table
19:29:22raptorok
19:29:26raptorsimple enough
19:29:36Watusimotonice, clean, programatic style. It takes like 30 lines of code, and is a little hard to follow, but seems somehow... right
19:29:36raptorin concept
19:30:32Watusimotoor you can create a jquery object that is just a stream of html with your table in there as $('.mytable').html('<table><tr><td>content</td></tr></table>')
19:30:49Watusimotoand poof... one line, readable, but somehow seems wrong
19:30:59Watusimotothat's the decision we have here
19:31:28WatusimotoI'll find some code for creating the table entry by entry
19:31:39WatusimotoI know I wrote some int he past, not sure if it still exists
19:32:11raptorha!
19:32:14raptorgood analogy
19:33:18Watusimotoso before I dig any further, any thoughts on the general approach?
19:33:48raptorI think I like the 'seems right' aproach
19:34:11Watusimotothe basic concept is illustrated here
19:34:12Watusimotohttp://stackoverflow.com/questions/453769/how-do-i-create-a-lua-table-in-c-and-pass-it-to-a-lua-function
19:34:16Watusimoto1st answer
19:34:31Watusimotocreate the table: lua_newtable(L);
19:34:47Watusimotothen the stuff in the loop to add entries to it
19:34:52raptorso in my case gModuleInfo is an array of ModuleInfo struct each with various-typed members
19:34:59raptorso i'd make a table of tables
19:35:22raptor?
19:35:23Watusimotopush the key; push the value; lua_settable
19:35:34Watusimotovaues can be int, string, whatever
19:35:43Watusimotowhy a table of tables?
19:36:11raptorbecause don't we want it like this?: ModuleInfo[Module.Shield].energyUsage
19:36:12Watusimotogive me an example of how you'd refer to a nested item
19:36:15Watusimotook
19:36:32raptorI'm open to it being different on the Lua side
19:36:33Watusimotoso we have a modinfo table with a table of info about shiedls, armor, etc.
19:36:36raptorwhat ever makes sense
19:36:44Watusimotono you're right
19:36:54Watusimotoso you create the table of armor data as described above
19:37:07Watusimotothen that is sitting on the stack
19:37:31Watusimotoand use it as a value to insert into the modinfo table
19:37:52Watusimotoexactly analgous to building a table of tables in html using jquery
19:37:59raptorok
19:38:11bobdaduckKaen
19:38:23Watusimotoor... one line of lua code!
19:38:36bobdaduckDid you put an ini option in for disabling level editor snapping for me?
19:38:56raptornow what about code reuse? could I make one method to rule them all? e.g. one method to take an array of any arbitrary struct with basic type members and convert it?
19:39:09Watusimotoactually, what would make the "proper" process worthwhile is if you can find reusable chunks to make a little mini table building lib we could use elsewhere
19:39:17raptorheh
19:39:25Watusimotowe have the basics in place now
19:39:35Watusimotowell, lua has them
19:39:43bobdaduckWhat does ## do in lua?
19:39:46Watusimotoor maybe luaw
19:39:51raptorhmm..
19:39:55raptorok
19:40:00Watusimotowe somewhere have I think some code for adding a key/val pair to a table
19:40:02bobdaduckNotepad ++ says its a comment but that doesn't seem right.
19:40:04Watusimotoif not, it would be easy to code
19:40:06raptorbecause, yes, that's what I'd like to do?
19:44:42Watusimotoso luaW (luaUtils, actually) has this:
19:44:42Watusimototemplate <typename U>
19:44:43Watusimotoinline void luaU_setfield(lua_State* L, int index, const char* field, U val)
19:44:43Watusimoto{
19:44:43Watusimoto luaU_push<U>(L, val);
19:44:43Watusimoto lua_setfield(L, luaW_correctindex(L, index, 1), field);
19:44:44Watusimoto}
19:44:54Watusimotosomething like that would greatly simplify the process
19:45:23Watusimotoit sounds like that's what you'd like to do
19:47:00Watusimotolook at LuaScriptRunner.cpp line 406
19:47:49WatusimotoI'm not above adding raw lua code myself
19:50:39Watusimotocan't find the table building tools I thought we had
19:51:47raptorheh
19:53:09raptormaybe one day we'll move towards something like naev - where they have most of their constants/missions/data in Lua code
19:54:11Watusimotowhat, defined in a lua script?
19:54:17raptoryep
19:54:27Watusimotoini file!
19:54:31raptoryep!
19:55:49Watusimotothere is something to be said for having some friction when mofifying basic constatns of the game
19:57:00Watusimotomaybe we could keep the script encrypted
19:58:01LordDVG has joined
20:01:37raptorI completely agree
20:05:15Watusimotoor embed the script in a c++ file
20:08:36bobdaduckSo what does ## do in lua?
20:08:54Watusimoto##?
20:09:00WatusimotoI don't think anything
20:10:13bobdaduckRaptor used it in the plugin snippet he gave me
20:11:00raptordid I?
20:11:11raptorwhere is that? (it may have been a typo)
20:11:19raptoror part of the pastie header?
20:13:26bobdaduckuh
20:13:33bobdaduckMight have been part of the pastie header xD
20:13:57bobdaduck## unsupported_items.lua [lua]
20:13:57bobdaduckfunction getArgsMenu()
20:14:14raptorpastie header!
20:15:05bobdaduckxD
20:15:07bobdaduckWell then!
20:19:59bobdaduckSo think we'll get 019 out in a monthish?
20:23:43LordDVG Quit (Remote host closed the connection)
20:25:09kaenyes.
20:25:14kaen+/- 2 months
20:27:11bobdaducklol
20:27:29bobdaduckOkay I'm gonna hold you to that though
20:27:42bobdaduckit'd be best if you get it done in -2 months
20:27:53raptori like the 1 month - 2 months option
20:27:55bobdaduckSo that 019 actually comes out a month ago. But still
20:28:29Watusimoto_ has joined
20:28:40kaenthat estimate gives us options. we can either stall for 3 months OR build a time machine
20:28:44kaenor something in between.
20:29:09bobdaduckBuilding a time machine would be ideal
20:29:16bobdaduckBecause that would get the word out about bitfighter out
20:30:28kaenokay so then you can get to work on the time machine
20:30:32kaenand I'll start on the stalling
20:31:01LordDVG has joined
20:31:07Watusimoto Quit (Ping timeout: 240 seconds)
20:34:14bobdaduckWhat method should I use for time travel? Try to break lightspeed? Wormhole? Have the government declare nationally that it is now march instead of april?
20:35:24kaenlol
20:35:31raptori like that last one
20:36:56kaenyes, it's certainly appealing. but it seems less feasible than breaking lightspeed or creating a controlled wormhole.
20:38:13bobdaduckxD
20:38:53bobdaduckAlright then
20:38:55bobdaduckTime machine.
20:39:02bobdaduckI'll have it done a month ago.
21:04:46Nothing_Much has joined
21:09:53fordcars has joined
21:20:51raptorbobdaduck: might I implore you not to distribute that editor plugin for unsupported items?
21:21:15bobdaduckYou might.
21:21:26bobdaduckI've considered giving it to Quartz but decided against it
21:21:40bobdaduckIts not like adding the items manually is all that hard
21:22:33raptorhave you been able to expand it?
21:25:00bobdaduckHaven't really tried
21:25:23bobdaduckI'd like to polish it sure, but.
21:25:46bobdaduckIts all very confusing.
21:28:06raptoryou do two things: build a menu, do somthing with the options
21:28:59bobdaduckRight
21:29:50bobdaduckHow it all interacts though
21:29:54bobdaduckis all like whaaa
21:30:17Little_Apple has joined
21:30:17bobdaduckHow do I make a menu item only show up if I have, say, "core" selected?
21:30:42raptorgood question - I have no idea
21:31:00raptori don't think plugins work like that, but may Watusimoto_ knows better
21:31:01bobdaduckIts in draw arcs I think
21:31:38Little_Applewhere is the levelgen script function in the ini?
21:32:28raptorLittle_Apple: called 'Global...something something'
21:32:32raptorhmm
21:32:35Little_Appleok
21:32:35bobdaduckits near the top
21:32:36raptorsearch for 'Global'
21:32:57Watusimoto_the plugin has a function called lua_getSelectedObjects
21:33:04Watusimoto_you can loop through those
21:33:08Watusimoto_and see if a core is in there
21:33:09Little_Appleah. found it. thanks!
21:33:40Watusimoto_there should be some docs in our lua script documentation about that
21:33:45Watusimoto_with a simple example
21:34:05Watusimoto_but I've never tried it in this context
21:34:45bobdaduck Quit (Read error: Connection reset by peer)
21:34:52bobdaduck has joined
21:41:39raptorbobdaduck: http://bitfighter.org/luadocs/class_editor_plugin.html
21:42:11raptorthose methods are used like so (I think): local object = plugin:getSelectedObjects()
21:42:27raptoroh, there's an example there just like that (nevermind)
21:45:23Little_Appledo i need to enable global levelgens before i can use them?
21:46:07raptorI have it like so: GlobalLevelScript=logger
21:46:18raptorand teh 'logger.lua' script needs to be in the scripts folder
21:46:25raptorand it just always run at the start of each level
21:46:42Little_Appleso you dont need the extension?
21:46:49raptorno
21:46:51Little_Appleoh ok
22:00:57fordcarslevel gens never worked for me
22:01:00fordcarsok, later gtg
22:05:27fordcars Quit (Ping timeout: 245 seconds)
22:14:26LordDVG Quit (Remote host closed the connection)
22:16:58raptorc++ question: is there a way to iterate through all members of an arbitrary struct?
22:17:54kaenI really don't think so
22:18:50raptorjava is spoiling me again with its reflection API..
22:18:52kaenunless you already know the types, and even then I think you're looking at a template function
22:18:55kaenheh
22:21:00raptorboost fusion
22:21:14raptor steers clear
22:28:33Wuzzy Quit (Quit: Wuzzy)
22:35:12kaenShipEnteredZone is fired when spawning in a zone
22:35:18kaenexcept when the game very first starts
22:35:52Little_Apple Quit (Ping timeout: 245 seconds)
22:35:53raptoryes, and i tracked that to a specific check somewhere that made it fail...
22:36:27raptorah yes, events were considered 'suppressed' for some reason
22:36:51kaenoh good
22:36:58kaentwo birds with one stone if I can solve it then
22:37:32raptoroh yeah... looks like same issue as the one on the RBL for onShipSpawned
22:37:56raptorwait
22:37:59raptorthat may be different
22:38:04raptor#11 vs #14
22:38:22kaenmy hunch is they're the same
22:38:33kaenbuilding a potential fix right now
22:38:52raptori don't know if bobdaduck's occured at the start of a level or not... but you're probably right
22:39:41kaenenteredzone works when spawning after the game starts
22:39:44kaenjust not on the first spawn
22:39:51kaenmy fix didn't work but I have some more ideas...
22:41:59bobdaduckuh
22:42:02bobdaduckI don't know.
22:42:04Watusimoto_how can a Vector<U8> have an element 1' ?
22:42:32kaenokay it looks like the event isn't subscribed on the first tick
22:42:42kaenwhich is tick -1 for some reason...
22:43:16Watusimoto_unless the debugger is represengint that as a char
22:43:21kaensounds likely
22:43:38kaenespecially if it's surrounded in single quotes in the output
22:43:49raptorU8 == char right?
22:44:12kaenactually I think char has the default machine word size
22:44:21kaenI know sizeof(int) == sizeof(char)
22:44:31kaenfor all architectures.
22:44:46raptorwhat?
22:44:49kaenyep
22:44:50raptorno.. can't be
22:45:05Watusimoto_u8 is char, yes
22:45:18raptorchar == int on ppc
22:45:28kaenhmm googling says I'm wrong
22:45:35raptorbut on x86 sizeof int is 4
22:45:35Watusimoto_it makes a difference to tnl, regardless
22:45:37kaenwhy am I so confident I'm right about that though
22:45:38raptorand char is 1
22:45:46Watusimoto_as it trasnsmits using full bits
22:46:04Watusimoto_so u8 takes 1/4 bandwidth of U32
22:46:19Watusimoto_even if you only represent a small range
22:46:28raptorinteresting... remember I made that TNL Vector fix for PPC that involved char?
22:46:53raptormaybe using 'char' for U8 is broken in some architectures
22:47:34kaenhmm better seppuku, having brought such dishonor to my clan.
22:48:28raptorwhat? no...
22:48:40raptorwe want you to stay around long enough to fix all the bugs :)
22:48:46kaen:)
22:51:43kaenokay it's the pendingsubscriptions mechanism in eventmanager
22:55:00raptoroooohhhhhh
22:55:12BFLogBot Commit: 952f26758a61 | Author: kaen | Message: update event manager after intial levelgen run
22:55:13kaenfix'd
22:55:16raptorthe issue I had on PPC was with the 'sizeof' operator
22:55:29raptorinteresting - so char is still 8 bits there
22:55:49raptorkaen: yay!
22:56:14raptorkaen: that seems way too easy
22:56:19kaenindeed it was
22:56:21raptorit fixes both problems?
22:56:23kaenyep
22:56:29raptorgreat! I love those fixes...
22:58:48kaen/addbots 6 is fixed now right?
22:58:56raptoryes
23:00:27kaenthis list just never seems to shrink...
23:01:28Watusimoto_especially ironic as 018a was essentially a bug fix release
23:01:41Watusimoto_with a LOT of fixes
23:04:09raptorwe're in full breakage mode now!
23:04:55bobdaduck Quit (Remote host closed the connection)
23:17:34raptor Quit ()
23:29:51Watusimoto_I really shouldn't have tugged on that thread...
23:30:01Watusimoto_things are cascading
23:45:27bobdaduck has joined
23:48:19BFLogBot Commit: 785a5d5b61f7 | Author: watusimoto | Message: Reduce code duplication by extracting out loadout management into a LoadoutTracker object. Also fixed a (minor) bug/inefficiency that will likely render this version incompatible with previous versions. Also, will need to add the LoadoutTracker object to linux compilation.
23:48:20BFLogBot Commit: 3ae61ef466c6 | Author: watusimoto | Message: Move constants closer to where they are used
23:48:22BFLogBot Commit: 7048049dc2fa | Author: watusimoto | Message: Merge
23:48:23BFLogBot Commit: 5723ead7b569 | Author: watusimoto | Message: Move some loadout related functions into LoadoutTracker... makes Ship a bit cleaner, don't need to include it in as many places
23:48:25BFLogBot Commit: 34c42595012b | Author: watusimoto | Message: Remove dead code
23:48:25Watusimoto_with that.... good night!
23:48:26BFLogBot Commit: 16bccb64af3c | Author: watusimoto | Message: More cleanup of loadout releated code. Stop pulling on the thread tonight... more to come
23:48:28BFLogBot Commit: 2d9116be0325 | Author: watusimoto | Message: Merge
23:49:54bobdaduckdang
23:49:55bobdaducknice
23:50:18bobdaducknight!
23:54:05Watusimoto_ Quit (Ping timeout: 264 seconds)

Index Search ←Prev date Next date→

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