#bitfighter IRC Log

Index Search ←Prev date Next date→

IRC Log for 2013-05-15

Timestamps are in GMT/BST.

00:33:12watusimoto1 has joined
00:33:13watusimoto Quit (Read error: Connection reset by peer)
00:41:10bobdaduck_ Quit (Remote host closed the connection)
01:47:00BFLogBot Commit: e6fc27030773 | Author: kaen | Message: add /rate command (type "/rate up" or "/rate down" while playing a map)
01:50:07Platskies has joined
01:53:23BFLogBot Commit: 36014a148435 | Author: kaen | Message: clear LevelDatabaseId when loading a level
01:54:48Platskies Quit (Ping timeout: 256 seconds)
01:56:32Platskies has joined
02:15:59koda has joined
03:33:53watusimoto1 Quit (Quit: Leaving.)
03:34:07watusimoto has joined
03:34:07ChanServ sets mode +o watusimoto
03:38:43kaenhello
04:08:10LordDVG has joined
04:44:41LordDVG Quit (Remote host closed the connection)
06:13:14BFLogBot Commit: 6b008c48e433 | Author: kaen | Message: add support for file uploads in HttpRequest
06:13:15BFLogBot Commit: 50abc83678b9 | Author: kaen | Message: fix file uploading
06:13:17BFLogBot Commit: 5160998ce06d | Author: kaen | Message: send screenshot when uploading to level database
06:35:53BFLogBot Commit: a64c7a0019e7 | Author: kaen | Message: send data in chunks to allow large files
06:35:55BFLogBot Commit: ae7b18cfa9fc | Author: kaen | Message: fix HttpRequestTest
06:37:20kaenwait until bobdaduck sees this...
08:22:48Platskies Quit (Remote host closed the connection)
08:37:47bobdaduck has joined
08:47:08watusimotohi
08:48:07bobdaduckSup
09:07:24kaenauto-screenshot works with pleiades in 019, bobdaduck
09:07:26kaenalso, sup
09:07:35bobdaducknicee
09:09:48raptor has joined
09:09:48ChanServ sets mode +o raptor
09:10:00raptorgood morning!
09:11:06bobdaduckmornin
09:14:10kaenoh, also /rate up and /rate down
09:14:13kaenmorning
09:14:36raptorneat changes kaen!
09:14:53kaenthanks
09:25:13bobdaduckcheck it out in a sec
09:25:26raptor?
09:30:50bobdaduckoh nevermind
09:30:50bobdaduckxD
09:30:58bobdaduckneat stuff
09:34:19bobdaduckarg I feel like pleiades should have a "view all maps" thing still
09:34:40raptoroh wow kaen, did you add screenshot support!?
09:34:45raptorand it works?
09:34:47kaenyep
09:34:49kaenand yep
09:34:58kaenand yep
09:35:10raptorheh
09:35:16raptorwell sheesh
09:35:21raptori need to try it out...
09:35:40kaenyeah you do!
09:37:47raptorwhoa!
09:37:56raptorhow did you get the screenshot to be... useful?
09:38:11kaen:)
09:38:29kaenI add a "saveNormalizedScreenshot" function to the editor
09:38:34kaenadded*
09:38:39raptorah ha! a mode in the editor...
09:38:41raptorawesome
09:38:44kaenwell
09:38:45kaenuh
09:39:02kaenactually it's a function that seizes control of gl for a moment
09:39:32kaenrather than a full-fledged mode you can enter
09:39:42bobdaduckI need a volunteer to fix my DnD code
09:39:44raptorwell yes
09:39:45raptorbut
09:39:47raptorthat's great!
09:39:51bobdaduck(just get the mimic guy working)
09:39:56raptoryou should get another badge: 'added feature to editor'
09:40:04bobdaducklol
09:40:56bobdaduckraptor could you take a shot at it?
09:41:06raptor?
09:41:14raptoroh
09:41:17raptornot at the moment, sorry
09:41:24bobdaduckokey
09:41:31bobdaduckproblem is I'm infinite looping somewhere
09:41:40raptorstackoverflow!
09:41:45bobdaduckNo
09:41:50bobdaducknot stack overflow
09:41:52raptoradd in some logprint statements
09:41:58bobdaduck"not enough memory"
09:42:04kaenso I'm going to add a message like "New rating of Level by Playa: 9001" after you rate a level. It was honestly the best thing I could think of to prevent abuse :P
09:42:05bobdaduckthe game freezes/hangs whatever.
09:42:12raptorbobdaduck: that's th definitintion of a stackoverflow
09:42:24raptoran infinite loop that eats up all the memory on the stack
09:42:47raptorhaha
09:43:21kaenbecause really, the only trusted entity is the web server
09:43:22bobdaduckokay then
09:43:29kaenand that response comes directly from there
09:43:41raptoryep
09:43:53kaenso at least you know the actual result of what you did, and some competent user could reasonably spot abuse
09:44:05raptorbobdaduck: add logprint statements around and the ones that are called thousands of times will show you where the problem is
09:44:15bobdaduckno it won't
09:44:18bobdaduckthe game freezes
09:44:24bobdaduckxD
09:44:36kaengive me teh codez
09:44:37raptorusually its like this: function a -> b -> a -> etc
09:44:38bobdaduckhold on I maybe found the problem
09:44:46bobdaducktest real quick...
09:45:54bobdaducknope not quite
09:46:27kaenalso the error message
09:46:41bobdaduckI got it to stop freezing
09:46:47bobdaduck(it was trying to mimic itself)
09:46:57bobdaduckbut the actual code isn't working xD
09:47:19raptorkaen: i tried to rate my map through the editor: http://pastie.org/7911940
09:47:23kaenoops, back in a sec
09:47:57raptor400or ratiing level:
09:48:02kaenlol
09:48:09kaenoh god that string formatting error
09:59:17kaenneither of the DB commands seem to work in a test game
10:11:04watusimotohey, I saw the discussion last night about increasing the object limit past 1024 items. For the record, I am opposed, unless there is a good reason
10:13:29kaengood reason? I don't have any... but I don't think it hurts because it's dynamically negotiated (according to sam)
10:14:54watusimotomaybe I missed that... it renegotiates in mid-game? If so, why not start the id at only 5 bits or something (which would work most of the time)
10:16:17watusimotojust saying it doesn't sound right
10:16:18kaen<sam686> tnl ghost writepacket actually sends 4 bit once which is number of bits to send for index, then the index size data might be 5 bit if 32 objects is active or 11 bits if 1025-2048 objects is active..
10:16:34watusimotohmmm... we need a test for that!!
10:16:40kaenyes
10:16:46watusimotono idea how to do that, though
10:16:53kaenI've tested TNL in another project -- it's surprisingly straight forward
10:17:09kaenthe only roadblock is I can't instantiate a ClientGame
10:17:10watusimotoit might help us answer questions like this
10:17:26watusimotohere is what I think needs to happen for clietngame
10:17:39watusimotowe need to make all the ui methods go through UIManager
10:17:48kaenmy thoughts exactly
10:17:56watusimotoand make all rendering happen in ui methods
10:18:01watusimoto(which may already be done)
10:18:08watusimotothen we can mock UI
10:18:17watusimotobecause mocking many objects is lame
10:18:24kaenyesss
10:18:42kaenraptor solved a major problem I was facing in writing tests, btw
10:19:01kaenthat is writing memory-safe classes with injectable members
10:19:19kaenhe showed me boost_ptr, which I suspect will be our friend in the long run
10:19:22kaener
10:19:26kaenboost::shared_ptr
10:19:47watusimotoyes
10:20:09watusimotowith that in mind, you will like my next checkin
10:20:22watusimoto(fell asleep before it was quite done last night)
10:20:44kaenand we'll likely have to start littering our tested classes with forward decs of their fixtures so that we can make them friend classes
10:21:18kaenin an effort to not liter the interface and code with test-only methods
10:31:35watusimotoI hope you are wrong, but you may well be right
10:32:03kaen shrugs
10:32:15kaenit's two lines per tested class
10:33:20bobdaduckkaen take a look at the DnD code now?
10:33:36watusimotobut... ugly!
10:34:15bobdaduckNot as ugly as levelgen carnival
10:34:19watusimotowell, I'll accept it if it's the best way
10:34:33watusimotobtw, also am on board with moving the (C) block
10:34:46kaenonly to the unenlightened. to those who know the way, they're a beauty mark
10:34:51kaenoh, good!
10:34:54watusimotocould move to external file, or to bottom like luaw
10:35:04watusimotoexternal file might be easier
10:35:15kaenI liked naev's example of a short reference to an external file
10:35:26kaenplus then we only need to keep one file up to date :)
10:36:19kaenbobdaduck how do I test this?
10:36:36bobdaduckMake a level and set script to DnD, kill yourself.
10:36:46bobdaduckthe loadout is sensor + armor
10:36:58bobdaduckand the relevant code is the function nearestShip()
10:37:17bobdaduckSomeone should just make that an actual lua function.
10:37:24bobdaducknearestObject
10:37:30watusimotowe need to teach bobdaduck to write tests for the bugs he finds!
10:38:21bobdaduckActually right now I'm trying to fix my own code. Haven't found any major flaws with the game recently
10:38:45kaenbut that's a good idea
10:39:00kaenI was think a lua test battery would ease the burden of testing the interface
10:39:01watusimotoand the features he requests
10:39:12kaenthinking*
10:39:18watusimotomight be good for setting up game scenarios
10:47:23bobdaducktests for the bugs I find?
10:48:51kaenfunctions that give an error when the bug exists, and run fine when the bug is fixed
10:49:23kaenthat would help us keep from re-introducing the bug later (since we'd automatically test for it before we commit)
10:49:23bobdaduckI think I've been doing that...
10:49:31kaenyes, but not formally
10:49:36koda Quit (Read error: Connection reset by peer)
10:49:48bobdaduckrunning list #8
10:49:51kaenthere'd have to be a slight amount of rigor in the way you write them
10:50:43bobdaduckLike...?
10:50:49kaenthat sort of illustrates my point, but to the matter at hand:
10:50:55kaenwtf is nearestship supposed to do/
10:50:56kaen?
10:51:07kaenand if I uncomment that line and fix nearestship, should the script work?
10:51:36bobdaduckRun through all players in the game, and check their positions, and see which one is closest to the ship that calls nearestShip
10:51:44bobdaduckscript should work fine as it is
10:51:52kaenmy guess is it's supposed to get the nearest ship that isn't a mimic though, right?
10:51:58bobdaduckYeah
10:52:01kaenokay
10:52:03bobdaduckbecause that would infinite loop
10:52:28bobdaduckScript should not crash no matter what you do, as is. Just its not working properly.
10:52:55bobdaduck...The script isn't crashing, is it?
10:53:07kaenindeed
10:53:10watusimotook, outta here; back later!
10:53:36watusimoto Quit (Quit: Leaving.)
10:54:11bobdaduckAnd then enabling nearestShip() causes everything to freeze when you take sensor armor
10:54:23bobdaduckWhich means infinite loop, as far as I understand. Dunno where though.
10:55:43kaenit's because you call nearestShip in classCheck and classCheck in nearestShip
10:55:49kaenand don't check for recursion
10:55:52kaenbut it's okay I fixed that
10:55:58kaenalmost done
10:56:24bobdaduckThis is for the loadout that makes it so your sword is the sword of whoever is closest to you, to be clear.
10:58:52bobdaduckI thought I did check for recursion though?
10:59:04bobdaduckif(isMimic == false)
10:59:54kaenisMimic is always true
10:59:58kaenbecause it's a function...
11:00:04kaenisMimic(ship) is much more useful
11:00:26bobdaduckoh oops
11:00:28bobdaduckxD
11:03:34kaenhttp://pastie.org/7912276
11:05:55bobdaduckscript crashed
11:06:07kaenI don't feel bad
11:06:10bobdaduckxD
11:06:18kaenit works fine for me though
11:06:29kaenand santiagozap...
11:06:40bobdaduckwhat did you do to test it?
11:06:47kaenhost
11:06:47bobdaduckI just killed myself and then changed to the loadout
11:06:48kaenjoin
11:06:51kaenyep
11:07:08kaenpost the errors?
11:07:26bobdaducklevels/DnD.levelgen:464: attempt to index local 'ship' (a nil value)
11:08:19bobdaduckwait
11:08:23bobdaduckstop maybe nonissue
11:08:52kaenI do believe
11:09:14kaenhehe
11:09:17kaeneven works with bots
11:10:14bobdaduckokay it works!
11:10:21bobdaduckwhooo
11:15:05bobdaduckwhat weapon works best thematically with boost + engineer?
11:16:09kaenrifle
11:16:49bobdaduckOkay, but should I actually DO that?
11:17:22bobdaduckI think Fordcars was considering an AK-47 for his custom weapon xD
11:30:06raptorok, finally caught up with reading..
11:30:17raptorhighlights? copyright notice killing
11:30:37raptorand... bad change for TNL ghost ID bitsize increase?
11:34:41bobdaduckThe other highlight is that after I make this Rambo class for DnD the only thing left will be whip
11:36:45bobdaduckreturn machineGunSwordGeom
11:42:45kaenso bummed that sdl 1.2 doesn't have a clipboard api :<
11:42:59kaenI really wanted to be able to copy the line from pleiades and paste into the client
11:45:43bobdaduck Quit (Remote host closed the connection)
11:55:00raptorI figure if SDL 2.0 releases this year, that means all linux distros will have it by then end of the year
11:55:20raptorso we'd need to support 1.2 for... 2 years after that maybe? (or indefinitely?)
12:21:42Wuzzy has joined
12:29:18bobdaduck has joined
13:05:14LordDVG has joined
13:10:15Watusimoto has joined
13:11:09kaenwow
13:11:29bobdaduckWOW.
13:11:35bobdaduckHave some enthusiasm man
13:11:39bobdaduckWe're working with BITFIGHTER.
13:11:41kaenI just got bitfighter to crash gnome-terminal and gdb by playing with X11 clipboard stuff.
13:12:18bobdaduckokay so what does "attempt to index field '?' (a nil value)" mean?
13:12:27bobdaduckthere is no question mark on that line.
13:13:24kaenit means you're indexing the value of some expression which is nil
13:13:42kaenthe question mark means it's temporary value, not a named variable
13:14:59bobdaduck playerStats[name]["levText"]:setText("level: "..playerStats[name]["level"])
13:15:20bobdaduckI'm merging the exp script and DnD now
13:15:53kaenplayerStats[name]["levText"]:setText
13:15:57kaenis probably the culprit
13:18:51bobdaduckI don't see how
13:19:04bobdaduckbecause everything is just directly imported across from the exp script where it works
13:19:20kaenwell, try logprint(playerStats[name]["levText"])
13:22:30bobdaduckOkay I got that working
13:23:07bobdaduckNext!
13:23:34bobdaduckand I got it to show the class
13:23:36bobdaduckproblem is
13:23:50bobdaduckclass is: "table: 09AFC928"
13:25:29kaenif you're doing something like logprint(basicSwordGeom), then yep
13:25:55bobdaduckYeah, that's pretty much what I'm doing.
13:25:56bobdaduckxD
13:26:02bobdaduckSo make it handle everything as strings?
13:26:07bobdaduckOr...
13:26:13bobdaduckHow would I print the name of a table?
13:26:32kaenI don't think lua is introspective enough for a variable to know its own name
13:26:58kaenso, you might do a table which maps class names to geometry
13:27:53bobdaduckI'm not good enough with tables do do that.
13:28:00bobdaduckI'll use a function with a tiered if statement instead
13:28:11kaen{ Warrior = basicSwordGeom, WhateverOtherClass = otherSwordGeom }
13:28:23bobdaduckyeah
13:29:17kaenand then just store the string on the player's info (or wherever) and when you need the geometry, do:
13:29:31kaengeom = GeometryMap[info.className]
13:29:48kaenand when you need to print it: logprint(info.className)
13:29:49kaeneasy.
13:29:54kaenand way less code
13:30:14bobdaduckI still don't understand tables dictionaries keys yet.
13:30:31bobdaduckI understand them *better* because I worked on the exp script a bit which uses a table of tables
13:30:38bobdaduckbut I'm not confident enough to use them
13:30:43kaenokay, you know what a real dictionary is?
13:30:49bobdaduckYeah
13:30:49kaenit's a book you look things up in
13:31:01kaenwords to definitions
13:31:03bobdaduckI understand how to read it, but not how to implement it
13:31:04kaenwords = keys
13:31:08kaendefinitions = values
13:31:20kaenso you make a dictionary in lua
13:32:10bobdaduckSee, I keep looking at the codes and it feels like people have an array of playerInfos, and then they randomly go "playerInfos["coolnessfactor"]" and it actually prints out something.
13:32:47kaenthen that person has mislabeled the code
13:33:00kaenbecause playerInfos implies a 2D table (a table of tables)
13:34:15kaenI think the dict["foo"] vs. dict[foo] vs. dict.foo is probably what's confusing you
13:35:07kaendict["foo"] and dict.foo are exactly equivalent
13:35:11bobdaduckYeah probably
13:35:16bobdaduckNever seen someone use dict.foo
13:35:30kaendict[foo] looks up the contents of foo in the dictionary
13:35:34kaenso if foo = "bar"
13:35:43kaenthen dict[foo] is actually dict["bar"]
13:35:58kaenthat's called "interpolation"
13:36:01bobdaduckI think I just need to meet raptor for lunch and have him explain it to me verbally
13:37:37bobdaduckI understand that if I have an array of say, colors {red blue yellow}
13:37:43bobdaduckcolors[1] will return red
13:37:58kaenyes.
13:38:32bobdaduckNow what happens if I go colors["IsPrimaryColor"]
13:38:53kaenyou get nil
13:38:57kaenbecause
13:39:20kaenlua looks for a key that exactly matches "IsPrimaryColor"
13:39:24kaenfinds that it doesn't exist
13:39:30kaenand returns what it finds: nothing
13:39:31kaennil
13:39:40bobdaduckso its looking for colors {red blue yellow IsPrimaryColor"} ?
13:39:46kaenno
13:40:12kaenit's looking for {red, blue, yellow, IsPrimaryColor = "some value"}
13:40:23kaenit's looks for an entry in the dictionary
13:40:30kaenwith a key equal to IsPrimaryColor
13:40:41kaenthe keys of the other entries in that table are 1, 2, and 3
13:40:55kaenif you don't assign a key name, you get a number
13:41:02bobdaduckI'm nearly grasping this. Very nearly.
13:41:12kaenpress ever forward...
13:41:28bobdaduckYeah I'm trying
13:41:40bobdaduckthis is like the fifth time I've asked #bitfighter to explain tables to me xD
13:41:42bobdaduckAppreciate it
13:42:19kaenno problem. it's a confluence of several intermediate-advanced programming concepts
13:42:23kaenso not for the faint of heart...
13:43:00bobdaduckSo is what people are doing usually a one dimensional array with... random parts to it that aren't actually part of the array?
13:43:16bobdaducklike colors[4] would not return "isPrimaryColor" would it?
13:43:42kaennope
13:44:28kaencolors[4] gets you nil
13:44:32bobdaduckcolors {red blue yellow IsPrimaryColor = "no" green}
13:44:38bobdaduckcolors[4] returns green?
13:44:42kaenI believe so
13:44:43kaenlet me check
13:44:58kaenyes
13:45:09kaenbtw, http://www.lua.org/cgi-bin/demo
13:45:15kaenis a good playground for syntax stuff
13:46:14bobdaduckOkay so the next disconnect is in the declaring IsPrimaryColor for each color
13:46:16bobdaduckhow does that work?
13:46:20kaenokay
13:46:27kaenso each color is going to be a table itself
13:46:31kaenand you want a big table of tables
13:46:48kaenthere's two ways to declare that syntactically:
13:47:08kaenhere's the complex one:
13:48:01kaencolors = { red = { IsPrimary = true }, green = { IsPrimary = false } }
13:48:25kaenwhere you had "no" for IsPrimaryColor in the last example, we're just using a table now
13:49:11bobdaduckyeah
13:49:14kaensome "clearer" syntax for the same thing would be:
13:49:15kaenred = { IsPrimary = true }
13:49:15kaengreen = { IsPrimary = false }
13:49:15kaencolors = { red = red, green = green }
13:49:23bobdaduckyeah
13:49:32kaenokay
13:49:48bobdaduckOkay the next disconnect is when people aren't declaring that when they initialize the table, they're declaring it on the go.
13:50:25kaenthat's perfectly legal
13:50:50kaenif you assign to a key in a table where that key doesn't exist, it gets created and set to your value
13:50:50bobdaduckYeah
13:50:53kaenokay
13:52:56bobdaduckcolors {"red", "blue", "green"}
13:53:06bobdaduckand then later someone is like
13:53:23bobdaduckuhh
13:53:31bobdaduckI dunno how do they do the isPrimary there.
13:53:59kaenwell, you couldn't really do it per color
13:54:06kaenbecause those are strings, not tables
13:54:49bobdaduckhm.
13:54:54kaenbut you could do a simply color -> primariness map
13:54:57kaenlike this:
13:55:18kaencolorPrimariness = { red = true, blue = true, green = false }
13:55:26kaenthen you could check like this:
13:55:33kaencolorPrimariness["red"]
13:55:45kaenand get either true or false
13:55:46kaenor nil
13:55:50kaenwhich is false-y
13:55:56bobdaduckyeah
13:56:36bobdaduck(also be thinking on this: I need DnD class names for the following: Trident, Halberd, Kris, Warhammer)
13:56:48kaenand that's what I was suggesting with classname -> swordGeom map
13:57:47bobdaduckYeah yeah but I need ideas for what the actual classes are called.
13:58:01kaenyeah yeah
13:58:16kaenbut I was giving you ideas for how to use a table to solve your earlier problem :)
13:58:19bobdaduckxD
13:58:26bobdaduckWell I've already coded it the long way xD
13:59:10bobdaduckSo I have a table of colors
13:59:27bobdaduckI could also do color[red][isPrimary] = true
13:59:28bobdaduckright?
13:59:36kaenyes
13:59:59kaenas long as you've defined a value for the key red
14:00:20bobdaduckerm
14:00:21bobdaduckxD
14:00:35kaencolor = { red = { ... } }
14:00:45kaenthis wouldn't work though :
14:00:51kaenred = { ... }
14:00:56kaencolor = { red }
14:01:10kaenbecause you'd actually be doing the same as color[1] = red
14:01:24kaenyou see how "red =" determines the key name?
14:02:14kaenand if it's not present, you get a number instead
14:02:44bobdaduckyeah sort of
14:03:11bobdaduckI'm never going to be defining things arbitrarily like that though. Its always an empty array like playersInGame = {} that I add to later
14:03:38kaenokay
14:03:51kaenwell I use the literal syntax for constant maps and stuff
14:04:04kaenbut you can also just set it piece by piece
14:05:06kaenokay, I give up on the clipboard stuff
14:05:50kaenmaybe I should fix those error messages now...
14:06:20bobdaduckOR you could tell me what classes use trident warhammer halberd kris
14:07:31bobdaduckbecause otherwise I'll be using "warhammer guy" and "dude with a trident"
14:08:57kaensounds good
14:09:45bobdaduckWow I think I like
14:09:49bobdaduckalmost actually understand arrays now
14:09:50bobdaduckxD
14:11:18kaengood, good
14:11:28kaennext: all the other data structures
14:11:47kaenmaps, lists, arrays, ring buffers, binary trees...
14:12:05kaenthe fun is just beginning \o/
14:12:20bobdaducklol
14:12:28bobdaduckAs long as we don't have to do sorts.
14:12:35bobdaduckI hated sorts.
14:12:58kaenoh, you'll LOVE red-black trees then...
14:13:30kaenmuahahaha. muaahhaHAHAHAHAHA
14:14:08kaenit's hard to cackle menacingly over IRC :/
14:15:41bobdaducklol
14:15:44bobdaduckNo I got it
14:15:48bobdaduckI was intimidated
14:16:05bobdaduckDo monks use Halberds?
14:16:15kaenprobably
14:16:29kaenyou should make a fist weapon
14:16:32kaenlike just a fist
14:16:35kaenthe pumps periodically
14:16:47bobdaduckrofl
14:17:05bobdaduckYeah ummm maybe.
14:17:07kaenI want to punch people with my ship
14:17:11bobdaduckxDD
14:17:12kaenpls
14:17:30bobdaduckK listen you make it I'll implement it
14:17:34bobdaduckxD
14:18:02bobdaduckMaybe a giant "#1 team" finger?
14:21:32kaenlol perfect
14:21:56bobdaduckI hope someone gets that as their custom weapon sometime xD
14:22:43bobdaduckarg trident is the only one left
14:24:12kaenRetiarius
14:24:22kaengladiators that use tridents
14:26:22bobdaduckI'm just going "dude with a trident" for now
14:26:33bobdaduck'cause I dunno what retiarius is
14:29:08bobdaduckOkay now for the really complicated part...
14:29:20bobdaduckOr maybe I'll just skip it. Hmm
14:29:21bobdaduckxD
14:30:00bobdaduckI feel like now the EXP system is implemented I should at least give people exp for things...
14:32:30BFLogBot Commit: c71656e0e21d | Author: watusimoto | Message: Get some UI code out of ClientGame
14:32:32BFLogBot Commit: ae156c2408df | Author: watusimoto | Message: Fix warnings
14:32:33BFLogBot Commit: 05c74cc82b3e | Author: watusimoto | Message: More work on getting SymbolStrings working for joystick buttons.
14:32:35BFLogBot Commit: 0b7f8cda3012 | Author: watusimoto | Message: Merge
14:43:04BFLogBot Commit: 507d462cb39a | Author: buckyballreaction | Message: Fix compiling
14:46:17Watusimotommmm this last merge not good for compiling
14:46:57Watusimototime to try total rebuild
14:47:43kaen:x
14:49:00raptorso was it bad I fixed compiling on Linux?
14:49:54Watusimotoof course not
14:56:46LordDVG Quit (Remote host closed the connection)
15:00:42BFLogBot Commit: c5d69790db2c | Author: watusimoto | Message: Fix warnings
15:00:44BFLogBot Commit: 0b99282801ba | Author: watusimoto | Message: Fix compile errors
15:03:45bobdaduckSo
15:03:55bobdaduckhow do you guys think karamavozapy would react to DnD
15:03:56bobdaduck?
15:12:33Watusimoto_ has joined
15:13:32koda has joined
15:14:55Watusimoto Quit (Ping timeout: 256 seconds)
15:20:27fordcars has joined
15:30:37bobdaduckOkay so
15:30:50bobdaduckShips change, right?
15:31:02bobdaduckso If I register a ship and then try to compare it later it won't work right?
15:33:02fordcarshow do you "register"? why don't you just use their names?
15:33:30fordcarsfindGlobalItems(items, ObjType.Ship, ObjType.Robots)
15:33:37fordcarsor something
15:34:34bobdaduckfindGlobalItems doesn't work in levelgen
15:34:36bobdaduckonly bots
15:35:03Watusimoto_oh goodie. I broke logging into a passworded server
15:35:06bobdaduckThough sam did a workaround where he had the levelgen add a bot and use the function and pass it to the levelgen but
15:36:17bobdaducksup ford
15:36:19bobdaduckhows that bot?
15:36:24fordcarshehe
15:36:56fordcarsI am converting my code like that it doesn't go to the loadout, I had a whole system of timers and stuff
15:37:02bobdaduckand any ideas for what you want for your custom weapon? Just get me a google picture of it or something
15:37:06bobdaduckxD
15:37:14fordcarswhile bot going to loadout, don't do this, this, this...
15:37:17fordcarshaha
15:49:20bobdaduckI think I've spent
15:49:33bobdaduckprobably over 72 hours working on DnD at this point
15:49:50bobdaduckYES I KNOW THAT'S NOTHING COMPARED TO ACTUAL PROGRAMMING but for a level? That's kinda big.
15:54:40fordcarsha you must have really allot of free time
15:55:01fordcarsthe level I most worked on was like 4hours on a really messed up dungeon
15:55:12fordcarsor maybe my super-awesome calculator
15:55:29fordcarsyay I am finished "converting" the bot
15:57:36bobdaduckI heard about your calculator
15:57:38bobdaduckI wanna see it
15:57:45fordcarsbob, what module has to change?
15:58:26fordcarsmy calculator isn't done, it can only calculate up to three for now haha, but it will be easy to copy-paste it to calculate higher numbers
15:58:42fordcarsthe """""""wiring"""""" is long
15:59:29bobdaduckboth modules
15:59:51fordcarsargh ok :P
15:59:58bobdaduckEvery module combination will be a different weapon, see
16:00:08fordcarsahhh ok
16:01:18BFLogBot Commit: 69fb56c9beb8 | Author: kaen | Message: print useful responses from server when rating maps
16:01:24bobdaduckis changing both modules hard? xD
16:01:46kaenbobdaduck, you should give 019 a spin when you get some time
16:01:51bobdaducklocal mod1 = math.random(7) local mod2 = math.random 7 loadoutset:mod1mod2
16:02:03fordcarslol well I have to make it== If that module is takien, don't take it again as 2nd module
16:02:06bobdaduckwhat's in 019?
16:02:18kaenmap rating and auto-screenshot stuff
16:02:23bobdaduckoh yeah
16:02:27kaennothing relevant to your conversation
16:02:29bobdaduckWasn't that throwing an error though?
16:02:32bobdaduckxD
16:02:41kaenwell, you can't rate your own map
16:02:59kaennow it just tells you that instead of print a cryptic error number
16:03:03kaenand the text is green
16:03:09kaenso biiiiiiig difference
16:03:23kaenoh what -- no the text is still red
16:03:31kaenbut it's not a number, so that's good
16:04:01bobdaduckxD
16:04:08bobdaduckrofl
16:06:15bobdaduckWhat sort of crap would go in the DnD shop...
16:06:19bobdaduckBecause players have gold now.
16:08:48bobdaduckFORD DO YOU HAVE IDEAS FOR YOUR CUSTOM WEAP?
16:09:23fordcarsnope
16:10:09kaenWELL YOU CAN'T HAVE A DISEMBODIED FIST
16:10:11fordcarsbobdaduck: bot slaves :D
16:10:30kaenbecause mine is totally a disembodied fist
16:10:45bobdaduckxD
16:10:50fordcarsyou can buy a bot like that it is your servant for one minute
16:10:54fordcarsha
16:10:58bobdaduckUhhhh
16:11:20fordcarsooororrrrrrrr buy another weapon
16:11:43bobdaduckI'm going to veto that one because A) I don't know bot scripting, B) levelgens can't add robots manually, and C) there isn't support for neutral/hostile bots yet.
16:11:53fordcarsawwww
16:12:23bobdaduckI'm sure thread could help me there though
16:12:39bobdaduckhe's good at making random new levelgen-made weapons
16:12:41fordcarswell the only thing you can put then is anther super-weapon
16:12:58fordcarsahhh yeah thread
16:13:03bobdaduckor powerups perhaps
16:13:15fordcarsor levelgen commands
16:13:40fordcarskill playerName
16:13:45bobdaducklol
16:13:47fordcarsbuy for 5 seconds of that command
16:13:49fordcarshaha
16:14:57fordcarshow can I get all teams except the one of the bot :( I might need a for loop
16:15:01fordcarsI hate those
16:15:18bobdaduckuh
16:15:25bobdaducklessee
16:15:46bobdaduckIn DnD there's just four teams arbitrary
16:16:07bobdaduckso you could get the bots team and then take that out of the possible teams to do stuff
16:16:08bobdaduck?
16:16:18bobdaduckDunno what you're trying to do though
16:16:18fordcarsmaybe
16:16:29fordcarsmy aiming logic thing
16:17:12fordcarsno my "priatorising dogfighting" logic thing
16:17:26bobdaduckif object:getTeam() ~= bot:getTeam()
16:17:36fordcarsFINE LOO¨P
16:17:49fordcarsno that doesn't work
16:18:02kaenit doesn't?
16:18:14fordcarsif there is a team player right before the enemy, the bot will just do nothing
16:18:30fordcarsit won't go to the enemy behind it
16:18:56bobdaduckfunction getNextFurthestTarget(TargetThatDidn'tWork)
16:19:16kaenmake a table
16:19:33fordcarsyeah, exactly what I feared
16:19:36kaenand only add teams if they aren't equal to the bots
16:19:39fordcarsmaking a table
16:19:47kaenI mean maybe you don't need a table
16:19:59fordcarsloop
16:20:02kaenmaybe you can iterate through the objects and do something if the teams are not equal
16:20:03fordcars?
16:20:07fordcarsok
16:20:16fordcarsyeah, for loop
16:20:26bobdaduckfor loops aren't too hard
16:20:27bobdaducktables are hard
16:20:28kaenfor loops are easy once you get used to them
16:20:36fordcarsI hate the syntax
16:20:38kaenfor loops for tables are easy too :)
16:20:46kaenyeah the syntax is... unusual
16:20:52fordcarsipairs????????? whats that, the new I pod?
16:20:57fordcars:Pà
16:20:59kaenfor k, v in ipairs(t) do
16:21:03kaenwell
16:21:20fordcarsI did check out ipairs
16:21:25bobdaduckrofl new ipod
16:21:27fordcarsbut mhahsg
16:21:35fordcarsk
16:21:40fordcarsfor it is
16:21:42bobdaduckI always just use pairs
16:21:56bobdaduckFrom what I read they're pretty much the same now anyway
16:23:03fordcarssooo, for firstTeam, lastTeam?
16:23:18bobdaduckno
16:23:21bobdaduckwhat are you trying to do?
16:23:42fordcarswait
16:23:55bobdaduckfor numberCellOnTable, actualcontentintable in pairs (tableofstuff) do
16:23:59kaenah, fordcars discovers iterators :)
16:24:22kaenin the syntax I posted, k is the index of entry and v is the value of that entry
16:24:25kaeneach loop
16:24:45kaenso given t = { "foo", "bar" }
16:24:56kaenthen on the first go-through k = 1 and v = "foo"
16:25:08kaenand on the second k = 2, v = "bar"
16:25:13kaenetc.
16:25:35fordcarsoooh so k, v are local variables that we don't declare beforew?
16:25:41kaencorrect
16:25:52fordcarsahhh thanks
16:25:53kaentheir scope is exactly the for loop
16:25:57kaenno problem
16:25:59bobdaduckyeah
16:29:40fordcarsis there a way to get all the teams index?
16:30:52fordcarses
16:31:34bobdaduckuh
16:31:41bobdaduckthere's only four teams so 1 2 3 4
16:31:53fordcarseuh right :3
16:32:34kaenbobdaduck wtf should I do for the no screenshot image?
16:32:51bobdaduckWant me to make something?
16:32:52fordcarsOMG you said the WORD
16:32:57bobdaduckxD
16:33:00fordcarsshould
16:33:06kaenheh
16:33:09fordcarsheh
16:33:22kaenbut yes, go ahead
16:33:23bobdaduckI'm basically thinking a greyed-out bitfighter ship on a background with "no screenshot" underneath it
16:33:29kaensounds good
16:33:39kaenI need an image for the 404 page
16:33:48kaenlike a ship crashing into an asteroid would be ideal
16:33:49bobdaduckI CAN DRAW SOMETHING
16:33:52kaenuh
16:33:54bobdaduckLIKE A REALLY SAD BITFIGHTER SHIP
16:33:54fordcarsuh
16:33:56bobdaduckWITH TEARS AND STUFF
16:34:02kaenno you should screenshot something...
16:34:02fordcarsdo the asteroid
16:34:06bobdaduckxD
16:34:11fordcarsxD
16:34:14kaenlol
16:34:30fordcarshmmm, Ship crashing in asteroid with error:404 under it?
16:34:38fordcarssounds nice
16:34:54kaenthose two feelings are equivalent
16:35:21kaen404'ing and asteroids I mean
16:35:48fordcarsyeah :P
16:35:51bobdaduckxD
16:36:02bobdaduckI will draw you a really sad bitfighter ship anyway
16:36:13raptorkaen: I have an idea for better feedback with uploading a level in the editor
16:36:31kaenme too, but go ahead :)
16:36:45raptoryou do a fancy box with the words 'Uploading level' and a bouncer underneath the words scrolling from left to right
16:37:00kaenawesome!
16:37:05kaenyour idea is waaay better
16:37:09bobdaduckxD
16:37:23raptoror something similar...
16:37:25kaenmine was "print full error messages"
16:37:27kaen...
16:37:27kaenso
16:37:32fordcarsha
16:37:41bobdaduckxD
16:37:57kaenbut I'm going to set it up like the rating so that the web app determines the message printed
16:37:59raptorthe bouncer would of course wrap around to trick people into just watching it for hours on end
16:38:34kaenit's spinning and moving rhythmically
16:38:40bobdaduckrofl
16:38:41kaenexcellent hypnosis device
16:39:12bobdaduck"you are getting sleepy. But not sleepy enough to stop playing, just sort of sleepy. And you want to play bitfighter."
16:39:52kaenso we distract them from the harsh realities of network conditions by brainwashing them...
16:39:54kaenbrilliant!
16:41:03fordcarshaha
16:48:22raptorheading out, laters!
16:48:25raptor Quit ()
16:48:56fordcarslaters!
16:48:59BFLogBot Commit: d148c6616c12 | Author: watusimoto | Message: Fix warnings
16:49:01BFLogBot Commit: 25c8a1dc34a4 | Author: watusimoto | Message: Dead code
16:49:03BFLogBot Commit: 0d50c0f06846 | Author: watusimoto | Message: Fix warnings
16:49:04BFLogBot Commit: c0e32358e3c3 | Author: watusimoto | Message: Fix warnings
16:49:06BFLogBot Commit: 07ed1edbc258 | Author: watusimoto | Message: Remove another UI dependency, fix logging into pw protected servers; try to make names more obvious; untangle some things
16:49:07BFLogBot Commit: 4376c303d1e4 | Author: watusimoto | Message: Rename class in a vain attempt to make it clearer, and more consistent with other vars/methods
16:49:09BFLogBot Commit: 11d8b2b4d3d0 | Author: watusimoto | Message: Partially successful attempt to clarify and streamline handling of server access passwords.
16:49:10BFLogBot Commit: 372adb1c55ca | Author: watusimoto | Message: Merge
16:54:35bobdaduckokay someone gimme an image showcase website
16:54:43bobdaduckfirst iteration of "no screenshot" is ready
16:57:07bobdaduckkaen: http://www.bitfighter.org/forums/download/file.php?id=326
16:58:00bobdaduckI can do better than that but not at the moment
16:59:49fordcarsdoes this thing still work:    findClosest((list of items, tableTeams
16:59:51fordcars)
17:00:05fordcarsno 2 (
17:00:31fordcarsfindClosest(list of items, tableTeams)
17:02:21bobdaduckIt doesn't work in levelgens
17:02:27bobdaduckI think S_Bot uses it though so maybe?
17:02:32kaenafaik it does
17:02:50fordcarswell the table of teams doesn't :(
17:03:31bobdaduckoh.
17:03:37bobdaduckyeah probably not...
17:03:49fordcarscan it only get one team?
17:06:16bobdaduckI dunno what it can get
17:06:17bobdaduckI don't use it
17:07:07bobdaduckkaen thoughts on the no screenshot?
17:07:46kaenthe ship looks aliased
17:07:50kaendid you enlarge it?
17:08:01bobdaduckno I was just sloppy
17:08:05kaenoh okay
17:08:07bobdaduckwhat does aliased mean?
17:08:13kaenpixelated
17:08:17bobdaduckah
17:08:27fordcarshense the term anti-aliased
17:08:42bobdaduckmakes sense
17:15:07bobdaduck Quit (Remote host closed the connection)
17:29:20fordcarswell, at least noq I can use for loop correctly
17:29:25fordcars*now
17:32:48Platskies has joined
17:34:25BFLogBot Commit: 3bf096b48965 | Author: watusimoto | Message: More disentangling
17:34:43sam686 has joined
17:34:43ChanServ sets mode +v sam686
17:43:54Wuzzy Quit (Quit: Wuzzy)
17:49:39Platskies Quit (Remote host closed the connection)
17:50:28Platskies has joined
17:50:47koda Quit (Quit: koda)
17:54:51Platskies Quit (Remote host closed the connection)
18:37:28Watusimoto_ Quit (Ping timeout: 252 seconds)
18:50:01fordcarsraptor, would it be possible for Bitfighter remember the last thing you said in chat in 019? It would be very helpful.
18:50:11fordcarsYou know, like linux, CommandPrmpt
18:50:18fordcarsup arrow key
18:50:24fordcarsin chat
18:52:38kaenhehe
18:52:50kaenI actually tried doing that before...
18:52:54kaenbut I tried the hard way
18:53:02kaenI'll try again the easy way for you fordcars :)
18:53:21fordcarsare you sure? I don't want to push anybody or whatever
18:53:29kaenhaha it's fine
18:53:37kaenit's a pretty small thing
18:53:42fordcarsgood
18:53:49fordcarsit would be soooo useful
19:39:30raptor has joined
19:39:31ChanServ sets mode +o raptor
19:43:21Platskies has joined
19:46:02raptoryeah so
19:46:15raptorin 015a bitfighter remembered the last thing you said when you left a game
19:46:20raptorand joined another
19:46:35raptorit was due to a static container
19:46:48raptorbut we 'fixed' it... either intentionally or not, I don't remember
19:47:14raptoroh wait
19:47:32raptoryou mean a bash-like history...
19:47:45Platskies Quit (Ping timeout: 245 seconds)
19:52:04raptorkaen: I'm gonna work on that feedback UI...
19:53:51raptor Quit ()
19:53:58raptor_ has joined
19:54:00raptor_ is now known as raptor
19:54:02raptor Quit (Changing host)
19:54:02raptor has joined
19:54:02ChanServ sets mode +o raptor
19:54:08kaenokay, cool
20:10:06raptorso I made a change in UI.h and gametype.cpp needed to recompile... this seems wrong
20:14:31raptorwhat do you think so far kaen?: http://sam6.25u.com/upload/9screenshot_1.png
20:14:41raptormaybe it needs some alpha..
20:40:28fordcarsargh forcefields keep moving and breaking my calculator :(
20:40:48fordcarsat my 4th adder
20:41:48fordcarslater guys, gtg
20:41:54fordcarsnight!
20:41:57fordcars Quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
21:29:36SolumnMushroom has joined
21:30:01SolumnMushroomHello all!
21:34:59BFLogBot Commit: c3b989bd8d81 | Author: buckyballreaction | Message: Add fancy box to editor save message
21:37:49SolumnMushroomA fancy box now?
21:38:10SolumnMushroomAs opposed to those unfancy boxes I suppose
21:51:00SolumnMushroom Quit (Read error: Connection reset by peer)
23:02:05raptorI'm still awakE I promise!
23:03:42BFLogBot Commit: 13b8a9350246 | Author: buckyballreaction | Message: More fancy!
23:03:51raptorok, now i'm not.. good night!
23:07:38raptor Quit ()

Index Search ←Prev date Next date→

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