Timestamps are in GMT/BST.
| 00:06:18 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 01:07:08 | | koda has joined |
| 01:15:03 | | Flynnn has joined |
| 01:43:07 | | watusimoto has joined |
| 01:43:07 | | ChanServ sets mode +o |
| 02:49:06 | | LordDVG has joined |
| 03:07:15 | | Flynnn Quit (Quit: Leaving) |
| 03:24:24 | | Flynnn has joined |
| 03:42:23 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 04:35:35 | | LordDVG Quit (Ping timeout: 276 seconds) |
| 04:36:27 | | LordDVG has joined |
| 05:04:09 | | LordDVG Quit (Ping timeout: 240 seconds) |
| 08:55:40 | | bobdaduck has joined |
| 09:36:09 | bobdaduck | NOOOOOOOOOOO |
| 09:36:50 | bobdaduck | LINE ITEMS AREN'T VISIBLE TO ALLLLL |
| 09:38:45 | watusimoto | I think they are in 019 |
| 09:38:50 | watusimoto | *think* |
| 09:40:07 | bobdaduck | They are |
| 09:40:10 | bobdaduck | but like |
| 09:40:18 | bobdaduck | I CAN'T WAIT THAT LONG TO SHOW STUFF OFF. |
| 09:41:12 | bobdaduck | also |
| 09:41:31 | bobdaduck | what's the maximum objects that can be held visibly? |
| 09:42:54 | kaen | 2048 is the scope limit |
| 09:43:03 | bobdaduck | Okay |
| 09:43:10 | bobdaduck | I'm hitting that in ~20 seconds |
| 09:43:12 | kaen | tnl will drop objects if it's using too much bandwidth on though |
| 09:43:19 | bobdaduck | Can we increase that? |
| 09:43:26 | kaen | we did 019 |
| 09:43:42 | bobdaduck | k |
| 09:43:43 | kaen | I even made a cool little scoping test |
| 09:43:55 | bobdaduck | how do I grab the latest 019? |
| 09:44:03 | bobdaduck | BFBuildBot: build something! |
| 09:44:03 | BFBuildBot | What you say! |
| 09:44:20 | bobdaduck | That's probably the second best generic response ever |
| 09:44:26 | bobdaduck | the first best being the calvin and hobbes quotes |
| 09:44:44 | kaen | I'm going to rewrite buildbot |
| 09:44:56 | kaen | I'm just using the stock irc bot, but it annoys me... |
| 09:45:07 | kaen | http://buildbot.bitfighter.org:8010/latest/ |
| 09:45:09 | kaen | bookmark that |
| 09:45:13 | kaen | it's always up to date |
| 09:45:48 | | raptor has joined |
| 09:45:48 | | ChanServ sets mode +o |
| 09:45:55 | bobdaduck | goodmorning raptor |
| 09:46:02 | bobdaduck | I got the paint script working |
| 09:46:04 | raptor | good morning |
| 09:47:25 | kaen | good morning |
| 09:47:28 | raptor | paint script? |
| 09:47:35 | kaen | can we change readFromFile to readFile ? |
| 09:47:53 | raptor | uh, sure |
| 09:47:55 | bobdaduck | http://pastie.org/8197058 |
| 09:48:00 | raptor | i don't remember why I made it that way.. |
| 09:48:09 | raptor | because writeToFile needed to match? |
| 09:48:10 | bobdaduck | plug that in to any level |
| 09:48:15 | bobdaduck | or make it a gloabal script |
| 09:48:16 | bobdaduck | yeahhhh! |
| 09:49:01 | kaen | and then I was thinking we should make a util object |
| 09:49:07 | kaen | for stuff like getRandomNumber |
| 09:49:28 | kaen | because putting that function on the same class as addItem() feels wrong ... |
| 09:49:32 | bobdaduck | if I call ship:isModActive() |
| 09:49:32 | raptor | well |
| 09:49:34 | raptor | it's not |
| 09:49:41 | bobdaduck | will that return true if there is a mod active? |
| 09:49:49 | raptor | they are static methods that are accessible outside of the 'bf:' object |
| 09:50:31 | kaen | oh I see |
| 09:50:32 | raptor | you have to use bf:addItem, but it's just writeToFile() |
| 09:50:32 | kaen | ok then |
| 09:50:48 | raptor | because I thought those util methods that are outside of game stuff should be separate |
| 09:50:57 | kaen | yep I agree |
| 09:51:17 | kaen | can we put them into a util namespace? |
| 09:51:34 | kaen | that way it's clear when reading scripts what is and isn't builtin |
| 09:51:56 | kaen | if all builtin functions are namespaced or class methods |
| 09:52:21 | raptor | sooo.... this was a problem I ran into |
| 09:52:38 | raptor | because in order for them to be in a namespace, they need a separate object |
| 09:52:47 | raptor | and... |
| 09:52:57 | raptor | becasue of LuaW |
| 09:53:08 | raptor | actually maybe not |
| 09:53:19 | kaen | yeah, I'm thinking of util.readFile() |
| 09:53:25 | kaen | rather than util:readFile() |
| 09:53:36 | kaen | so like just hang them all on a table and call it util |
| 09:54:40 | raptor | ahh... that's a better idea |
| 09:55:38 | raptor | what do you think watusimoto? |
| 09:55:47 | watusimoto | uh what? sorry... reading |
| 09:55:50 | raptor | is 'util' too generic? |
| 09:55:58 | raptor | bfutil.getMachineTime() |
| 09:56:36 | kaen | I don't think so. you're writing a script for bitfighter |
| 09:56:41 | kaen | the bf is kind of implicit |
| 09:57:00 | raptor | bobdaduck: you didn't... |
| 09:57:02 | kaen | I don't know actually... now I'm wavering |
| 09:57:07 | watusimoto | util.readFile() ? |
| 09:57:17 | watusimoto | persoanlly... I dislike it |
| 09:57:18 | watusimoto | however |
| 09:57:23 | watusimoto | it is the lua way |
| 09:57:34 | watusimoto | stuff like math.sin() |
| 09:57:37 | raptor | everything global! |
| 09:57:40 | watusimoto | and table.whatever |
| 09:58:05 | watusimoto | I like general keywords, not namepsace partitioned stuff |
| 09:58:21 | watusimoto | however... I can always do whatever = table.whatever |
| 09:58:27 | raptor | i found something neat the other day, if you do sin = math.sin at the top of your script, it is more performant to use that 'sin' than call math.sin |
| 09:58:32 | watusimoto | to create my own little cozy environment |
| 09:58:40 | kaen | I'd never thought of that |
| 09:58:44 | watusimoto | yes -- locals are cheaper than globals |
| 09:58:44 | kaen | okay, while we're all here |
| 09:58:51 | kaen | how does script inclusion go? |
| 09:58:51 | watusimoto | in a tight loop it can make a difference |
| 09:59:10 | watusimoto | I will accept bfutil or util or whatever, but over mild protest |
| 09:59:16 | kaen | (we can still include scripts, right?) |
| 09:59:56 | raptor | i think so? |
| 10:00:05 | raptor | what does the sandbox allow? |
| 10:00:25 | kaen | if not it'd be nice to expose it |
| 10:00:33 | raptor | hmmm.... |
| 10:00:44 | watusimoto | include scripts ==> import ? |
| 10:00:49 | kaen | yeah |
| 10:00:55 | raptor | looks like |
| 10:00:55 | watusimoto | we definitely want that |
| 10:00:59 | kaen | ok good |
| 10:01:03 | raptor | sandbox kills it |
| 10:01:05 | raptor | BUT |
| 10:01:18 | raptor | we set up an 'include' method in lua_helper_functions.lua beforehand |
| 10:01:29 | kaen | so, how to specify the exports? |
| 10:01:35 | kaen | do we just merge the global tables? |
| 10:02:04 | kaen | another way to do it is to have an _export local variable, and have include() return the value of that |
| 10:02:10 | bobdaduck | I did! |
| 10:02:21 | kaen | so in your script you can do `local lib = include('library.lua')` |
| 10:02:23 | bobdaduck | I hit the object limit in less than 20 seconds with only one player! |
| 10:02:55 | kaen | which is pretty much ripping off node.js ... |
| 10:03:28 | kaen | but it allows you to not care about polluting client code's globals |
| 10:03:34 | watusimoto | bobdaduck: the reason we have object limits is that it really kills network performance |
| 10:03:46 | raptor | bobdaduck: did thread help you? |
| 10:03:50 | bobdaduck | No |
| 10:03:53 | bobdaduck | I just barely did that |
| 10:03:56 | raptor | are you protecting him? |
| 10:04:03 | kaen | lol |
| 10:04:06 | bobdaduck | rofl |
| 10:04:20 | bobdaduck | I asked thread for help but got impatient this morning |
| 10:04:23 | watusimoto | I've always thought that in small projects, there is rarely a real danger in polluting the global environment |
| 10:04:51 | bobdaduck | pshhh network performance |
| 10:04:52 | kaen | correct, but it gets sticky once we have uses writing libraries |
| 10:04:57 | kaen | users* |
| 10:05:00 | bobdaduck | I'll just make the level only like a minute long and we'll be fine |
| 10:05:25 | watusimoto | true -- but those libraries would have a lib. type prefix, no? |
| 10:05:35 | kaen | for every global they expose? |
| 10:05:45 | kaen | not expose -- declare |
| 10:05:48 | kaen | for private use |
| 10:06:07 | kaen | if we merge the globals indiscriminately then all of my private lib functions get mixed in with bobs |
| 10:06:21 | kaen | unless I start doing IIFEs and returning exposed object literals |
| 10:06:43 | watusimoto | ok, I think I'm thinking of a different topic :-) |
| 10:06:49 | kaen | oh ok |
| 10:07:05 | kaen | I'm still on the mechanics of include() |
| 10:07:54 | kaen | locally you can call the library whatever is convenient |
| 10:08:05 | kaen | since you're just storing the return value of include() in a local variable |
| 10:09:34 | bobdaduck | I added a check for if the ship isn't moving and increased the scripts lifetime to 45 seconds! |
| 10:10:36 | raptor | bobdaduck: maybe you could add a distance check to make line segments no shorter than some amount |
| 10:11:14 | bobdaduck | Well actually it would probably make things wayyy better if I made it so it added segments up to 32 segments, instead of making a whole new line Item each tick |
| 10:11:29 | bobdaduck | but then I would have to like, do actual work |
| 10:14:09 | bobdaduck | Okay so now testing in 019... |
| 10:14:20 | bobdaduck | I'm not seeing a level clock |
| 10:14:32 | bobdaduck | I like the scrolling level list in the editor |
| 10:14:37 | raptor | line items are invisible in 018 when you add the team? |
| 10:14:45 | bobdaduck | everything works great |
| 10:14:50 | bobdaduck | yeah |
| 10:15:20 | bobdaduck | asteroid spawns are cool |
| 10:16:14 | bobdaduck | Even DnD is running in latest 019 without having to make any levelgen script changes... |
| 10:16:26 | raptor | :) |
| 10:16:33 | raptor | thanks to my deprecation work! |
| 10:16:40 | raptor | you should be getting warnings though... |
| 10:16:44 | bobdaduck | yeah |
| 10:16:45 | bobdaduck | tons of them |
| 10:16:46 | bobdaduck | xD |
| 10:16:49 | raptor | oh good |
| 10:16:54 | raptor | may they inspire you |
| 10:17:06 | bobdaduck | like I'm pretty sure if I printed them out I would have about 30 sheets of paper worth of deprication warnings |
| 10:17:13 | bobdaduck | also there is a number underneath my ship |
| 10:17:23 | bobdaduck | that changes colors randomly |
| 10:17:35 | | Skybax has joined |
| 10:17:42 | bobdaduck | also 019 is way more performant |
| 10:17:42 | raptor | just pretend that doesn't exist for now... watusimoto has big plans for it |
| 10:18:20 | bobdaduck | Even levelgen carnival works fine |
| 10:18:22 | watusimoto | that number is the number of kills you have, lifetime total\ |
| 10:18:30 | raptor | i thought it was games played |
| 10:18:37 | watusimoto | will be converted into some sort of icon to show your awesomness |
| 10:18:43 | watusimoto | ah, yes, in fact it is! |
| 10:18:45 | watusimoto | just testing you! |
| 10:18:50 | watusimoto | you passed! |
| 10:18:56 | bobdaduck | rofl |
| 10:19:03 | raptor | A+! |
| 10:19:27 | bobdaduck | holy crap |
| 10:19:32 | bobdaduck | I forgot 019 was so awesome |
| 10:19:34 | Skybax | xD |
| 10:19:36 | bobdaduck | when are we releasing again? |
| 10:20:16 | raptor | uhh |
| 10:20:18 | raptor | yes |
| 10:20:19 | kaen | good question :) |
| 10:20:38 | kaen | thoughts, wat? |
| 10:21:23 | watusimoto | we really |
| 10:21:31 | watusimoto | need to triage the 019 todo list |
| 10:21:40 | kaen | yes |
| 10:21:41 | watusimoto | the inline help is mostly there |
| 10:21:56 | watusimoto | I want to do a little more cleanup of fonts and making things pretty |
| 10:22:01 | raptor | I *almost* done with my Lua clean-up,e tc... |
| 10:22:03 | kaen | I think leveldb is solid now |
| 10:22:05 | watusimoto | those have been my two big pushes for 019 |
| 10:22:15 | watusimoto | we really need to add more achievements |
| 10:22:19 | kaen | agreed |
| 10:22:20 | watusimoto | we skimped on this in 018a |
| 10:22:23 | kaen | yeah |
| 10:22:36 | watusimoto | aand now there is more room in the help to show them :-) |
| 10:22:42 | kaen | hehe |
| 10:23:18 | watusimoto | I think we should definitely add a killstreak badge to go along with our new killstreak tracking |
| 10:23:23 | kaen | definitely |
| 10:23:24 | kaen | ok |
| 10:23:26 | kaen | how about this |
| 10:23:27 | watusimoto | maybe 3 tiers at 5, 10, and 20 ? |
| 10:23:36 | kaen | can we call a feature freeze? |
| 10:23:44 | watusimoto | we... can |
| 10:24:07 | watusimoto | we should go through the items in the bug list and those that we want to defer should be tagged with 020 |
| 10:24:12 | kaen | agreed |
| 10:24:24 | watusimoto | we have tons tagged with 019 |
| 10:24:27 | kaen | yes |
| 10:24:49 | watusimoto | so once we have a more focused 019 list, we should be able to figure out when we can do a release |
| 10:24:52 | kaen | how about, let's mass-tag them 020, and pull back any that we *really* want in 019 |
| 10:24:54 | watusimoto | at least in theory :-) |
| 10:25:13 | watusimoto | that might be a good approach |
| 10:25:16 | kaen | ok |
| 10:25:17 | kaen | I'll do that |
| 10:25:32 | kaen | then the three of us can pick any that look important and discuss as needed |
| 10:25:33 | watusimoto | also, can I ask you to port over any remaining issues in the informal bug tracker to the formal one? |
| 10:25:37 | kaen | yep |
| 10:25:41 | watusimoto | (since you pushed us to start using that) |
| 10:25:43 | kaen | I'd be glad to :) |
| 10:25:49 | watusimoto | then you can have the pleasure of deleting the old one! |
| 10:25:52 | kaen | \o/ |
| 10:26:48 | raptor | and i'll just keep working on Lua API stuff.. |
| 10:27:17 | raptor | should I rename hasLosPt to something else? |
| 10:27:22 | raptor | like 'canSeePoint' |
| 10:27:27 | raptor | bot:canSeePoint |
| 10:27:28 | kaen | canSeePoint |
| 10:27:31 | watusimoto | sure |
| 10:27:31 | kaen | yes |
| 10:27:36 | watusimoto | btw, which do you prefer: |
| 10:27:37 | raptor | yay |
| 10:27:37 | watusimoto | string strVal = settings.getSetting("strName")->getValue<string>(); |
| 10:27:38 | watusimoto | S32 S32Val = settings.getSetting("S32Name")->getValue<S32>(); |
| 10:27:38 | watusimoto | == or == |
| 10:27:38 | watusimoto | string strVal = settings.getSetting("strName")->getValue(); |
| 10:27:38 | watusimoto | S32 S32Val = settings.getSetting("S32Name")->getValueI(); |
| 10:27:55 | raptor | uhh |
| 10:28:07 | watusimoto | two possibilities for accessing a setting by a name |
| 10:28:07 | raptor | I see templating in that |
| 10:28:14 | watusimoto | (here strName and S32Name) |
| 10:28:39 | raptor | I think both look ugly and i never want to look at c++ again |
| 10:28:39 | watusimoto | I added a settng recently and was dismayed at all the places I had to change code |
| 10:28:40 | kaen | wait |
| 10:28:44 | bobdaduck | I need you guys to release 019 in exactly a week from now, kay? |
| 10:28:46 | kaen | isn't the themplate parameter implicit |
| 10:28:50 | kaen | ? |
| 10:28:55 | watusimoto | I don't think so |
| 10:28:56 | kaen | since you have the assignment |
| 10:29:07 | watusimoto | but since I can't get the top one to work (yet) I can't say for sure |
| 10:29:09 | kaen | ok I must be crazy |
| 10:29:21 | bobdaduck | Because like, you should coincide the release of 019 with my 019th birthday |
| 10:29:21 | watusimoto | If it was, then the answer would be clear |
| 10:29:40 | watusimoto | (and it may be, just can't tell yet) |
| 10:31:05 | watusimoto | related SO question |
| 10:31:06 | watusimoto | http://stackoverflow.com/questions/17994833/templates-inheritance-and-virtual-methods-c |
| 10:31:19 | watusimoto | for those of you who do want to see C++ again |
| 10:31:46 | raptor | back in a bit (starting a marathon of meetings...) |
| 10:31:58 | raptor | oh look, that post looks exactly.. like.. hmmm.... |
| 10:32:00 | bobdaduck | Have fun |
| 10:34:41 | kaen | ugh |
| 10:34:59 | kaen | output arguments ... |
| 10:53:31 | kaen | http://stackoverflow.com/a/8165847/1255585 |
| 10:53:48 | kaen | so, c++ doesn't deduce by assignment :< |
| 10:53:57 | kaen | that was just wishful thinking |
| 10:54:21 | kaen | but there's a solution with that syntax the overloads the cast operator |
| 10:56:27 | watusimoto | so yes, the <bkah> is required |
| 10:56:52 | watusimoto | so my question still stands... getValue<S32>() or getValueI() |
| 10:57:07 | kaen | wait, there might be something to this cast overload |
| 10:57:08 | watusimoto | I think getValueI reads a bit better... |
| 10:57:21 | watusimoto | oh sorry, didn't see your link |
| 10:57:32 | kaen | if you return an AbstractSetting from getValue, then you can "cast" it to int, string, etc |
| 10:57:43 | kaen | throught Setting<T> |
| 10:58:21 | watusimoto | that *might* be better |
| 10:58:29 | watusimoto | or might not |
| 10:58:55 | watusimoto | in any event, I've got to roll... I'll read that link tonight and see what I can do |
| 10:58:56 | kaen | well, the operator overload code should be like four lines for each type |
| 10:58:58 | kaen | later |
| 10:59:21 | watusimoto | My main concern is readability and anti-yuck factor... 4 lines is nothing!~ |
| 11:04:56 | | watusimoto Quit (Ping timeout: 276 seconds) |
| 11:12:08 | | bobdaduck Quit (Read error: Connection reset by peer) |
| 11:13:17 | | bobdaduck has joined |
| 11:15:44 | | koda Quit (Ping timeout: 264 seconds) |
| 12:09:40 | Skybax | I just noticed all the Google Code thingys are labeled 020 now lol |
| 12:16:03 | kaen | I just did that |
| 12:16:15 | kaen | we're triaging to see what needs to be in 019, and what can wait |
| 12:20:46 | bobdaduck | Release! |
| 12:25:35 | raptor | I don't think we want to release right now... |
| 12:25:41 | raptor | we need to do balance testing.. |
| 12:26:24 | bobdaduck | Okay |
| 12:26:26 | bobdaduck | You have 7 days |
| 12:26:51 | bobdaduck | What do we need to balance? I thought we already tested that like months ago |
| 12:27:12 | raptor | people said some stuff, raptor tweaked some stuff... that was all |
| 12:27:29 | kaen | more generally, we just need play testing |
| 12:27:31 | bobdaduck | Its not like we made any drastic changes |
| 12:27:37 | bobdaduck | I mean, suns still aren't there |
| 12:27:45 | raptor | i'd watch out for bouncers... |
| 12:28:04 | kaen | didn't we actually rebalance most of the weapons? |
| 12:28:05 | bobdaduck | All you did was increase their life? |
| 12:28:18 | kaen | or did that stuff never make it in? |
| 12:28:24 | raptor | yeah, i rebalanced most of them a bit |
| 12:28:28 | bobdaduck | I think most of the weapons are rebalnced |
| 12:28:29 | kaen | ok |
| 12:28:30 | raptor | no it's in |
| 12:28:34 | bobdaduck | Triple is actually useful now... |
| 12:28:36 | raptor | it just neesd playtesting |
| 12:28:42 | kaen | yes |
| 12:28:51 | kaen | we need like though, semi-systematic playtesting |
| 12:28:57 | kaen | thorough* |
| 12:29:04 | raptor | sam686 and I used to do that |
| 12:29:08 | kaen | :/ |
| 12:29:14 | kaen | unit tests are supposed to do that |
| 12:29:19 | raptor | we'd play for like 2 hours, going through crazy levels |
| 12:29:19 | bobdaduck | Though personally I'd prefer seekers take less energy over seekers doing more damage |
| 12:29:26 | bobdaduck | I have those! |
| 12:29:27 | raptor | for several nights in a row... |
| 12:30:04 | kaen | maybe we can organize the elders to playtest after we've done the freeze and cleared the tracker |
| 12:30:17 | kaen | since nobody has to compile anything |
| 12:30:33 | raptor | haha, 'the elders' |
| 12:30:43 | raptor | but yeah, that's a good idea |
| 12:31:46 | kaen | also, I've already made my pass over the tracker |
| 12:32:20 | Skybax | You should release it to be playtested and then release a 019a or whatever if you need to tweak it more x) |
| 12:32:39 | kaen | :P |
| 12:32:51 | raptor | bad idea |
| 12:32:57 | raptor | i mean BAD |
| 12:32:59 | raptor | like |
| 12:33:01 | Skybax | Hahaha |
| 12:33:16 | raptor | so much has changed that I cannot guarantee any sort of stability |
| 12:33:35 | kaen | conversely, I guarantee brokenness |
| 12:36:18 | Skybax | I edited some of my contest levels |
| 12:36:29 | bobdaduck | Can I get a warranty on that kaen? |
| 12:36:38 | bobdaduck | Like if it stops being broken can I get like a refund or something? |
| 12:36:44 | kaen | you bet |
| 12:36:48 | bobdaduck | Kay good |
| 12:36:54 | kaen | in fact, I'll give you back double what you paid |
| 12:36:54 | bobdaduck | 'cause that's like my staple |
| 12:37:08 | bobdaduck | Excellent! Now this is a dev team I'll stand by! |
| 12:41:04 | | Little_Apple has joined |
| 12:51:38 | | LordDVG has joined |
| 13:03:28 | raptor | Skybax: you can post them on that same thread, or put put them in the relevant forum |
| 13:05:48 | Skybax | Otay |
| 13:07:34 | | Flynnn has joined |
| 13:09:41 | | bobdaduck Quit (Ping timeout: 264 seconds) |
| 13:31:23 | | bobdaduck has joined |
| 13:34:39 | kaen | lua syntax highlighting on pleiades! |
| 13:39:19 | raptor | looks good |
| 13:39:38 | | Little_Apple Quit (Ping timeout: 250 seconds) |
| 13:40:11 | bobdaduck | oooh |
| 13:40:13 | bobdaduck | fancy |
| 13:40:25 | bobdaduck | but wait |
| 13:40:29 | bobdaduck | look at the paint level |
| 13:40:35 | bobdaduck | and look at the first line of the levelgen |
| 13:41:35 | kaen | looks fine to me |
| 13:41:40 | kaen | did you deep refresh? |
| 13:42:08 | bobdaduck | nope |
| 13:42:12 | bobdaduck | that fixed it xD |
| 13:42:19 | bobdaduck | I was seeing javascript/html stuff |
| 13:49:48 | kaen | (playerArray[name]["position"].y ~= playerArray[name]["lastPosition"].y or playerArray[name]["position"].x ~= playerArray[name]["lastPosition"].x) |
| 13:50:12 | bobdaduck | Don't ask |
| 13:50:15 | bobdaduck | It had to be done |
| 13:50:29 | kaen | would be better written as |
| 13:50:30 | kaen | point.distanceTo(playerArray[name]["position"], playerArray[name]["lastPosition"]) < THRESHOLD |
| 13:50:48 | bobdaduck | Well |
| 13:50:51 | kaen | comparing floating point numbers for equality is bad |
| 13:51:07 | bobdaduck | I was trying to just make it not make lines if you're not moving |
| 13:51:47 | bobdaduck | but there was a lot of weird things with that. Like if the x vel was nonzero and the y vel was 0, it would still count that as stationary |
| 13:51:56 | bobdaduck | And then I tried a bunch of things |
| 13:52:11 | bobdaduck | and decided that if your position is the same as where you were a tick ago, you're not moving. |
| 13:52:15 | bobdaduck | And that method worked. SO. |
| 13:53:18 | kaen | BFBuildBot lua print(1.500000000000000001 == 1.5) |
| 13:53:22 | kaen | BFBuildBot, lua print(1.500000000000000001 == 1.5) |
| 13:53:23 | BFBuildBot | kaen, true |
| 13:53:29 | raptor | hahahaha |
| 13:53:55 | kaen | floating point \o/ |
| 13:54:01 | bobdaduck | BFBuildBot, lua print("yes sir") |
| 13:54:01 | BFBuildBot | bobdaduck, yes sir |
| 13:55:53 | bobdaduck | buildbot doesn't respond to private queries |
| 13:56:34 | kaen | it does indeed |
| 13:56:38 | kaen | I was just doing it :P |
| 13:56:51 | kaen | you have to type "lua" before each message though :< |
| 13:56:51 | bobdaduck | Oh |
| 13:56:55 | bobdaduck | So he's prejudice |
| 13:57:25 | kaen | and you have to drop the BFBuildBot, part |
| 13:57:43 | bobdaduck | oh okay. |
| 13:57:43 | kaen | yeah... he's getting rewritten today |
| 13:57:47 | bobdaduck | xD |
| 13:57:56 | kaen | functionally, he's nice, but syntactically he's a nightmare |
| 13:57:58 | bobdaduck | That's okay, I was never really close friends with him |
| 13:58:15 | bobdaduck | Logbot and I are pretty close though |
| 13:58:17 | bobdaduck | !bot |
| 13:58:17 | BFLogBot | I'm a real boy! |
| 13:59:17 | raptor | BFBuildBot: lua fn = loadstring('\27\76\117\97\81\0\1\4\8\4\8\0\47\0\0\0\0\0\0\0\114\101\116\117\114\110\32\102\117\110\99\116\105\111\110\40\41\32\10\112\114\105\110\116\40\34\72\101\108\108\111\32\87\111\114\108\100\33\34\41\10\10\32\101\110\100\0\1\0\0\0\4\0\0\0\0\0\0\2\4\0\0\0\5\0\0\0\65\64\0\0\28\64\0\1\30\0\128\0\2\0\0\0\4\6\0\0\0\0\0\0\0\112\114\105\110\116\0\4\13\0\0\0\0\0\0\0\72\101\108\108\111\32\87\111\114\108\100\33\0\0\0\0\0\4\0\ |
| 13:59:17 | BFBuildBot | raptor, lua: (command line):1: unfinished string |
| 13:59:18 | raptor | 0\0\2\0\0\0\2\0\0\0\2\0\0\0\4\0\0\0\0\0\0\0\0\0\0\0') fn() |
| 13:59:21 | raptor | rats |
| 13:59:27 | kaen | ooh that looks scary |
| 13:59:58 | bobdaduck | xD |
| 14:01:57 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 14:04:08 | kaen | uh oh ... |
| 14:04:18 | kaen | BFBuildBot, lua os.execute('date') |
| 14:04:19 | BFBuildBot | kaen, Fri Aug 2 00:05:17 MSK 2013 |
| 14:04:27 | raptor | ha! |
| 14:04:37 | kaen | ummm ... |
| 14:04:38 | kaen | yeah. |
| 14:04:40 | raptor | ooooo |
| 14:04:44 | raptor | non-sandboxxed! |
| 14:04:44 | bobdaduck | what? |
| 14:04:55 | raptor | time to overwrite arbitrary files |
| 14:05:00 | bobdaduck | lol |
| 14:06:19 | raptor | BFBuildBot: lua f = io.open("nomnom.txt", "a+") f:write("I eat your files for breakfast") f:close() |
| 14:06:19 | BFBuildBot | raptor, |
| 14:06:31 | raptor | did it do it? |
| 14:06:45 | kaen | checking |
| 14:06:56 | | Flynnn has joined |
| 14:07:17 | kaen | bitfighter@pyrop:~/master$ cat nomnom.txt |
| 14:07:17 | kaen | I eat your files for breakfastbitfighter |
| 14:07:38 | raptor | ha haha |
| 14:07:50 | kaen | at least you were courteous enough to close the file descriptor :P |
| 14:07:55 | bobdaduck | xD |
| 14:07:59 | raptor | hehe |
| 14:08:28 | Skybax | So much codeyness |
| 14:08:57 | Skybax | I got a free 4.5 GB USB wristband from the interwebs |
| 14:09:03 | Skybax | Finally using it |
| 14:09:29 | raptor | i would be interested in looking at the energy to matter converter that would be required to get one like that.. |
| 14:10:09 | bobdaduck | Where'd you get it? |
| 14:10:26 | Skybax | Me? |
| 14:10:29 | bobdaduck | yah |
| 14:10:34 | Skybax | wish.com |
| 14:11:25 | Skybax | They gave me a free giftcard for select items and the wristband was one of them... but the price of the wristband was less than the amount the giftcard was, so I essentially got it for "free".. there was still like $2 shipping |
| 14:12:17 | Flynnn | So how did they make money giving you a free giftcard? |
| 14:12:27 | Skybax | They didn't. At all |
| 14:12:43 | bobdaduck | they're hoping he is pleased with the service and comes back |
| 14:12:49 | Skybax | It's rare that a giftcard is worth more than an item, tho |
| 14:12:49 | Flynnn | fair enough |
| 14:13:04 | kaen | four-letter domain name like that, they probably have good VC backing |
| 14:13:09 | Flynnn | they seem to have succeeded |
| 14:13:11 | Skybax | I have boughten multiple things from them, so I guess it worked out in the end |
| 14:13:31 | Skybax | I got a gaming mouse for free too lol |
| 14:13:46 | kaen | he got a free wristband, they got cheap advertising and now everyone in this conversation has heard of them :P |
| 14:13:55 | Skybax | They should hire me |
| 14:14:05 | kaen | or give you more free things at least :P |
| 14:14:06 | Flynnn | lol |
| 14:14:10 | Skybax | Yes xD |
| 14:14:40 | bobdaduck | I'm out of ideas for levelgens... |
| 14:14:50 | bobdaduck | sort of. |
| 14:14:55 | Skybax | Does this link work? http://instagram.com/p/Z9IJq3oYO9/ |
| 14:15:01 | bobdaduck | I have my todo list but none of them sound fun... |
| 14:15:28 | Flynnn | lol it says "gaming mouse" on it, quite literally |
| 14:15:45 | Skybax | Yes it does xD |
| 14:15:55 | bobdaduck | link is blank for me |
| 14:16:00 | Skybax | Huh |
| 14:16:03 | Flynnn | well, congrats on the good deal :) |
| 14:16:09 | Skybax | Thanks! |
| 14:16:25 | Flynnn | be careful, they have your facebook now |
| 14:16:44 | Skybax | Who does? |
| 14:16:48 | Flynnn | wish.com |
| 14:16:53 | Skybax | Ah. Yes they do |
| 14:16:59 | Flynnn | and your mailing address too |
| 14:17:02 | Skybax | You can only use wish if you have a Facebook |
| 14:17:09 | Flynnn | hmmm now that right there |
| 14:17:13 | kaen | ahh |
| 14:17:14 | kaen | $$$ |
| 14:17:21 | Flynnn | I wonder if *that* might be a source of revenue |
| 14:17:25 | Skybax | Possibly |
| 14:17:33 | Flynnn | did you check their privacy policy |
| 14:17:33 | Flynnn | ? |
| 14:17:51 | Skybax | I didn't. But there's nothing on my Facebook that I'm worried about hiding, anyways |
| 14:17:54 | | koda has joined |
| 14:18:08 | kaen | that's a good way to look at it. |
| 14:18:13 | Flynnn | oh dang |
| 14:18:19 | Flynnn | oh, that's good |
| 14:18:21 | Flynnn | but look at this: |
| 14:18:26 | Flynnn | "The Information We Collect, How We Collect It, And How We Use It." |
| 14:18:38 | Flynnn | they say, one of the information they collect is |
| 14:18:43 | Flynnn | Contact Information that allows us to communicate with you -- including your name, address, and e-mail address; |
| 14:18:49 | Flynnn | We collect information in two primary ways: |
| 14:18:56 | Flynnn | You give it to us when you login with your Facebook credential; |
| 14:18:57 | Flynnn | We collect it automatically when you visit our websites or use our products and services. |
| 14:19:04 | Flynnn | and now, here is where it gets sketchy |
| 14:19:08 | Flynnn | We may use the information we collect in a variety of ways, including: |
| 14:19:18 | Flynnn | Communicating with you regarding service updates, offers, and promotions; |
| 14:19:23 | Flynnn | Delivering customized content that may be of interest to you; |
| 14:19:30 | Flynnn | IE |
| 14:19:36 | Flynnn | we may send you promotions that have nothing to do with us |
| 14:19:43 | Skybax | That's why I have a Gmail |
| 14:19:49 | Skybax | I never get spam |
| 14:19:53 | Flynnn | lol nice |
| 14:19:59 | kaen | that's actually a pretty nice policy |
| 14:20:11 | kaen | it doesn't mention "sharing" the data with "third parties" ? |
| 14:20:22 | Flynnn | With ContextLogic Products: Subject to applicable legal restrictions, ContextLogic products may share your Personal Information with each other to make sure your experience: |
| 14:20:23 | Skybax | Wish does send me emails, but they're mostly to do with sales, giftcards, and items they have that they think I might like |
| 14:20:41 | kaen | progressively dicier ... |
| 14:20:56 | Skybax | Diciness is the spice of life x) |
| 14:21:02 | Flynnn | Is as seamless as possible;, Benefits fully from what ContextLogic has to offer. |
| 14:21:12 | Flynnn | "what contextLogic has to offer" |
| 14:21:13 | Flynnn | hmm |
| 14:21:17 | Flynnn | like promotions? |
| 14:21:24 | Flynnn | In Other Circumstances: We may provide Personal Information to non-ContextLogic companies or other third parties for purposes such as: |
| 14:21:25 | Skybax | Possibly |
| 14:21:32 | kaen | oh here it is |
| 14:21:35 | Flynnn | "To assist with identity verification, and to prevent fraud and identity theft;" |
| 14:21:42 | Flynnn | "Enforcing our agreements and property rights." |
| 14:21:51 | Skybax | Sounds like "third parties" means "FBI" lol |
| 14:21:54 | Flynnn | what are their "agreements" |
| 14:22:26 | kaen | I imagine they mean service contracts and stuff |
| 14:22:30 | Flynnn | and, you can construe almost any information sharing as being soemthign to prevent fraud |
| 14:22:56 | Flynnn | nothing here says that they won't enter into a service contract that says "we will give you free stuff if you give us people's email accounts" |
| 14:23:50 | Flynnn | oh, hmm |
| 14:23:53 | Flynnn | well it seems less dicey |
| 14:23:57 | Flynnn | "Safeguarding Your Information: Our Policy on Data Protection and Security" |
| 14:24:02 | Flynnn | "We do not sell your Personal Information to anyone for any purpose. Period." |
| 14:24:07 | kaen | well there you go |
| 14:24:08 | Flynnn | "We require non-ContextLogic companies acting on our behalf to protect any Personal Information they may receive in a manner consistent with this Policy. We do not allow them to use such information for any other purpose." |
| 14:24:15 | Flynnn | so unless there's a loophole in that |
| 14:24:21 | kaen | sounds solid enough |
| 14:24:37 | kaen | they probably just want your facebook to tap its API about you |
| 14:24:55 | Skybax | Probably |
| 14:25:07 | Flynnn | alright, fair enough |
| 14:25:26 | Flynnn | however |
| 14:25:42 | Flynnn | I am pretty sure that the " Safeguarding Your Information: " is the first, and *only* place they say *Personal* information |
| 14:26:18 | Skybax | Well "Public" information doesn't really matter in terms of who it's shared with, right? |
| 14:26:32 | Flynnn | but that depends on what their definition of "public" and "personal" is |
| 14:26:50 | Flynnn | they never directly define personal info |
| 14:26:55 | raptor | if you put it on the web, it's public |
| 14:27:08 | Flynnn | so would that mean your facebook is technically public? |
| 14:27:15 | Flynnn | and that anything you give them is public? |
| 14:27:16 | Skybax | Not if it's private |
| 14:27:25 | raptor | yep |
| 14:27:34 | Flynnn | yeah, they aren't very specific |
| 14:27:43 | raptor | it's just a good rule to follow |
| 14:27:49 | Flynnn | oh |
| 14:27:54 | raptor | if you post it *anywhere*, it is public |
| 14:27:54 | Flynnn | well still, they don't specify |
| 14:28:06 | raptor | unless you take specific steps to encrypt it, etc.. |
| 14:28:11 | kaen | I'm sure that "personal information" has a definition in case law by now |
| 14:28:17 | Skybax | Probably |
| 14:28:22 | Flynnn | hmm, alright |
| 14:28:33 | Flynnn | but is that law up to date enough to include facebook? |
| 14:29:06 | Skybax | I'm pretty sure most of the laws were redefined in the invention of Facebook lol |
| 14:29:13 | kaen | it's as up-to-date as the last court ruling that was made on the topic |
| 14:29:21 | Skybax | There was like a billion cases about "Privacy" and stuff |
| 14:29:25 | Flynnn | lol |
| 14:29:40 | Flynnn | Yeah... between wish, and facebook, Facebook is probably the bigger evil |
| 14:29:49 | bobdaduck | lol |
| 14:29:56 | Skybax | Facebook doesn't send me free goodies |
| 14:30:02 | Flynnn | lol |
| 14:30:09 | Skybax | And they force me to spam all my friends with game invites |
| 14:30:15 | bobdaduck | I especially like when people post things complaining about facebooks "new" privacy policies |
| 14:30:25 | kaen | wish is like the little evil sucker fish on the belly of the black pointy-toothed shark |
| 14:30:33 | Skybax | Hahaha |
| 14:30:41 | Flynnn | haha |
| 14:30:41 | bobdaduck | I swear its like they didn't realize they were selling their souls when they signed up for the thing |
| 14:30:56 | Flynnn | right... |
| 14:31:19 | Flynnn | though I will admit, so far facebook hasn't caused me to receive any kind of spam |
| 14:31:22 | Skybax | Yeah you can't sign up for something and then complain about the policies >.> you kind of signed up for it and stuff |
| 14:31:27 | Flynnn | so if they are selling my info, god knows to who |
| 14:31:55 | bobdaduck | Big brother |
| 14:31:55 | kaen | whatever keeps the servers running |
| 14:31:55 | bobdaduck | duh |
| 14:31:59 | Flynnn | lol |
| 14:32:09 | kaen | hehe |
| 14:32:10 | Flynnn | tbh, I am okay with a lack of privacy in society |
| 14:32:16 | kaen | > implying the NSA has to pay for your data |
| 14:32:27 | Flynnn | I don't really care. it's more that I just don't want spam |
| 14:32:29 | | Watusimoto has joined |
| 14:32:32 | Skybax | Yeah same here |
| 14:32:36 | Skybax | Just get a Gmail |
| 14:32:36 | Skybax | xD |
| 14:32:37 | Flynnn | and also, there is the major problem of, |
| 14:32:55 | Flynnn | if they can listen to me, how do we prevent them from misconstruing what I say as acts of terrorism if they don't like me |
| 14:32:56 | bobdaduck | I'm not sure Gmail is a much better alternative... |
| 14:33:11 | Skybax | Gmail is beautiful |
| 14:33:27 | kaen | host your own IMAP/POP3 server |
| 14:33:30 | bobdaduck | Yes, and it also belongs to googl |
| 14:33:46 | bobdaduck | Like I'm pretty sure google knows way more about you than facebook, if they cared |
| 14:33:51 | Skybax | Google is beautiful in everything except YouTube copyrights and every mobile device they've ever made |
| 14:34:07 | Flynnn | ewww android |
| 14:34:10 | bobdaduck | If we're concerned about privacy, google is certainly not an ally |
| 14:34:25 | Flynnn | though I hate ipad |
| 14:34:31 | Flynnn | it's just an ipod touch with a big screen |
| 14:34:41 | Skybax | Flynnn is just anti-handheld |
| 14:34:55 | Flynnn | I never said I disliked ipods |
| 14:35:00 | Skybax | I want to get an iPad Mini. It's bigger than an iPod, but it still fits in my pocket |
| 14:35:03 | bobdaduck | Flay me alive, I'm content with my windows mobile |
| 14:35:04 | Flynnn | I wanted a touch screen computer, not a jumbo sized ipod touch |
| 14:35:27 | Skybax | My dad has a wireless keyboard for his iPad |
| 14:35:38 | Flynnn | that still doesn't make it a computer |
| 14:35:46 | Flynnn | damn thing doesn't even have a folder system |
| 14:35:54 | Skybax | It does if you jailbreak it |
| 14:35:56 | Flynnn | and good luck developing software for it without a 100$ check |
| 14:36:04 | bobdaduck | lol |
| 14:36:05 | Flynnn | and blech, jailbreaking opens up all kinds of security holes |
| 14:36:16 | kaen | nah there's a free SDK and simulator |
| 14:36:32 | Flynnn | lol that just defeats the purpose of even having one xD |
| 14:36:37 | kaen | $100 at release is nothing if you really care about whatever you're writing |
| 14:36:54 | Flynnn | 100$ a year |
| 14:37:01 | bobdaduck | dude Flynn |
| 14:37:14 | bobdaduck | I make $100 every day |
| 14:37:19 | Skybax | If I could spend all the time to actually learn how to code mobile apps, $100 would be nothing |
| 14:37:20 | Flynnn | lol |
| 14:37:28 | bobdaduck | (well, almost 100) |
| 14:37:43 | Flynnn | but on a laptop, you don't have to spend money to develop code |
| 14:37:44 | Skybax | I made like $125 last week in one day |
| 14:37:45 | Flynnn | you just develop code |
| 14:37:47 | Flynnn | and you're done |
| 14:38:00 | Flynnn | you don't even get to run your code on your own ipad without the 100$ fee |
| 14:38:26 | bobdaduck | hah, just yesterday a coworker was looking for a silent ringtone |
| 14:38:33 | Skybax | It's a good deterrent for crap apps tho |
| 14:38:36 | bobdaduck | No sounds at all, just silence. She couldn't find one that cost less than two dollars |
| 14:38:40 | Flynnn | Skybax: no no no |
| 14:39:04 | Flynnn | Skybax: I'm not talking about *selling* your apps. I'm talking about even having them, just for you |
| 14:39:24 | Skybax | But if there was no fee, imagine the amount of crap that would be on the app store |
| 14:39:29 | Flynnn | Skybax |
| 14:39:31 | bobdaduck | rofl |
| 14:39:34 | Flynnn | I'm not talking about the app store |
| 14:39:40 | Skybax | No seriously, true there are still crap apps, but have you been to the Internet lately? |
| 14:39:45 | bobdaduck | rofl |
| 14:39:49 | kaen | you can jailbreak and run unsigned code on a personal device |
| 14:39:55 | Skybax | 80% crap |
| 14:40:00 | Flynnn | I mean you literally aren't allowed to put apps on your ipad that YOU create |
| 14:40:05 | Flynnn | without paying 100$ fee |
| 14:40:15 | Flynnn | regardless of app store |
| 14:40:27 | Flynnn | and jailbreaking opens security holes D: |
| 14:40:36 | bobdaduck | As in like you can't even seriously test an app you develop without paying money |
| 14:40:45 | Flynnn | yes, what bobdaduck said |
| 14:40:49 | Flynnn | unless you run it on a simulator |
| 14:40:55 | Flynnn | which defeats the purpose |
| 14:41:05 | Flynnn | because I would very much like to use my ipod as a robotics sensor |
| 14:41:12 | Skybax | I think the app creation thing that Apple gives out has a built in simulator |
| 14:41:16 | Flynnn | but nooo they restrict the bluetooth so it can't connect to any devide that isn't apple provisioned |
| 14:41:24 | Flynnn | the bestp art is, apple never provisioned their own laptops |
| 14:41:34 | Flynnn | so I can't even connect my laptop to my ipod touch |
| 14:41:40 | Flynnn | via bluetooth |
| 14:41:44 | Flynnn | it's pathetic |
| 14:42:04 | Flynnn | Skybax: the simulator defeats the purpose |
| 14:42:14 | Flynnn | Skybax: I want to be able to create my own apps. For me. |
| 14:42:46 | bobdaduck | Skybax: Like he doesn't even want to sell them |
| 14:42:53 | Skybax | Yeah I realize that |
| 14:42:54 | bobdaduck | Skybax: Like he just wants to use them |
| 14:42:58 | bobdaduck | lol |
| 14:43:05 | bobdaduck | This is fun! |
| 14:43:21 | Flynnn | I used the word "like" once |
| 14:43:23 | Flynnn | well twice |
| 14:43:41 | bobdaduck | Well I was more referring to the mentioning someone before saying anything to them |
| 14:43:41 | Skybax | Well you just used it again |
| 14:44:06 | Flynnn | and we all used Well xD |
| 14:44:14 | Flynnn | and I don't understand, bob |
| 14:44:15 | Skybax | Well is the new Like |
| 14:44:16 | kaen | see? common ground |
| 14:44:19 | bobdaduck | Well I like, use it all the time |
| 14:44:23 | Flynnn | lol |
| 14:44:30 | kaen | that's, like, all very well |
| 14:44:57 | Flynnn | bobdaduck: You mean like this? |
| 14:45:02 | bobdaduck | I like to use like and well together. It makes me well liked. |
| 14:45:09 | bobdaduck | Flynnn: Yes exactly |
| 14:45:15 | bobdaduck | Flynnn: like, it was funny |
| 14:45:17 | Flynnn | Bobdaduck: I thought that was irc protocol xD |
| 14:45:21 | kaen | This convo is deep |
| 14:45:23 | kaen | like wells |
| 14:45:28 | Flynnn | ha |
| 14:45:28 | bobdaduck | xDD |
| 14:45:32 | Skybax | xD |
| 14:46:32 | Flynnn | generally, I just want a touch screen OSX computer. I am seriously considering hackintosh, but I'd prefer it if it were from the source |
| 14:47:05 | Skybax | Aren't there touch screen monitors you can get? |
| 14:47:14 | Flynnn | for a laptop? |
| 14:47:19 | Skybax | Ah |
| 14:47:20 | Flynnn | oh I didn't say laptop |
| 14:47:22 | Flynnn | I said computer |
| 14:47:22 | kaen | yeah |
| 14:47:23 | Flynnn | my bad |
| 14:47:32 | kaen | you can get touch-screen laptops |
| 14:47:33 | Flynnn | lol when most people say computer, I think of a laptop |
| 14:47:48 | Flynnn | not with OSX unless I use hackintosh |
| 14:47:51 | kaen | they even have ones where the screen can be turned to let you draw on it when the lid is closed |
| 14:47:57 | Flynnn | and that's a nightmare if you have the wrong hardware |
| 14:47:59 | kaen | or a VM :P |
| 14:48:05 | Flynnn | eeww |
| 14:48:07 | Flynnn | I hate VM |
| 14:48:09 | kaen | mine works great |
| 14:48:25 | Flynnn | I dunno, seems sketchy |
| 14:48:32 | kaen | I run the ios sim inside xcode inside my vm inside Debian |
| 14:48:36 | kaen | works like a charm. |
| 14:48:38 | Skybax | Write a strongly worded letter to Apple telling them to make a touch-screen laptop |
| 14:48:49 | Flynnn | what is the GHz on your processor? |
| 14:48:55 | kaen | 2.8 dual core |
| 14:48:57 | bobdaduck | xD |
| 14:48:59 | kaen | it's a dinky old toshiba |
| 14:49:02 | Flynnn | and furthermore, have you tried doing any 3D gaming with that? |
| 14:49:17 | bobdaduck | Bitfighter is 2D |
| 14:49:20 | bobdaduck | your argument is invalid |
| 14:49:25 | kaen | well, the apps I was playing with use GL contexts |
| 14:49:27 | Flynnn | I am a 3d developer xD |
| 14:49:28 | kaen | just like a 3d app |
| 14:49:36 | Skybax | I have a 2 GHz Intel Core Duo... |
| 14:49:39 | Flynnn | so if I can't do GPU intensive stuff |
| 14:49:40 | Watusimoto | kaen: I'm trying to understand that code sample you gave me before I left the office -- overriding ( )s is blowing my mind |
| 14:49:54 | kaen | oh no, it's not overriding the parens |
| 14:49:59 | kaen | it's overriding the cast operation |
| 14:50:26 | Watusimoto | operator T(){ <<== |
| 14:50:29 | kaen | yes |
| 14:50:33 | Watusimoto | oh, I see |
| 14:50:36 | kaen | that's the cast-to-T operator |
| 14:50:50 | Watusimoto | it's overriding int(x) and string(x) and... |
| 14:51:06 | Watusimoto | I never knew there was such an operator |
| 14:51:12 | kaen | so if you can implement something like "return Setting<T>(this).get()" |
| 14:51:14 | bobdaduck | What you're talking about: Can I use this to do something crazy in levelgens? |
| 14:51:29 | kaen | it's actually just a one-line override that allows a templateless syntax |
| 14:51:49 | Watusimoto | ok, well, I'm still mind blown |
| 14:52:06 | Watusimoto | trying to work out what it means to override a cast |
| 14:52:27 | Skybax | How do I make Bitfighter run from my USB? |
| 14:52:33 | Watusimoto | could I make int(123) return a string if I were evil? |
| 14:52:42 | bobdaduck | Skybax: make a file called bitfighter.ini |
| 14:52:44 | Watusimoto | or return 124? |
| 14:52:46 | bobdaduck | and put it in the bitfighter folder |
| 14:52:52 | kaen | 124, yes |
| 14:52:54 | bobdaduck | It'll run independently that way. Super easy |
| 14:52:57 | kaen | string, I don't think so |
| 14:53:15 | Skybax | A Bitfighter folder inside the USB? |
| 14:53:17 | Flynnn | oh wow, so if I do that, it'll stop using the system folders? |
| 14:53:54 | kaen | because c++ will deduce which cast to call based on context (e.g. the type of the variable being assigned to), so it already has an expectation for the type to return |
| 14:53:54 | bobdaduck | You just install bitfighter to your thumb drive or whatever' |
| 14:53:59 | bobdaduck | and make a bitfighter.ini file. |
| 14:54:06 | kaen | which is sort of how this little hack works |
| 14:54:07 | Skybax | Ahkay |
| 14:54:10 | bobdaduck | And then bitfighter will automatically run standalone |
| 14:54:20 | Skybax | Sounds nifty |
| 14:54:36 | kaen | I still don't see why c++ doesn't just use return values in the template deduction ... |
| 14:54:40 | Watusimoto | well, if I can make it work, neat! |
| 14:54:45 | Watusimoto | me neither |
| 14:54:58 | kaen | maybe it's specifically because of cast operator overloading |
| 14:55:07 | kaen | those two ideas seem to conflict |
| 14:55:27 | Skybax | lol I have a shortcut to the Bitfighter folder inside of the Bitfighter folder |
| 14:55:30 | Flynnn | I wonder if it's possible to run an openGL context without displaying it to a screen, and use the context for advanced GPU algorithms by taking pixel samples at various locations |
| 14:55:42 | Flynnn | does anyone know anything about doing that kind of stuff? |
| 14:55:53 | kaen | that's an emerging field, Flynnn |
| 14:55:54 | Skybax | I can literally open folders forever |
| 14:56:01 | Flynnn | kaen: oh cool |
| 14:56:37 | Flynnn | it would make debugging interesting |
| 14:56:54 | Watusimoto | kaen: so you're thinking something like this? |
| 14:56:56 | kaen | I know nvidia's CUDA is along that line |
| 14:56:56 | Watusimoto | template<typename T> |
| 14:56:56 | Watusimoto | operator T() |
| 14:56:56 | Watusimoto | { |
| 14:56:56 | Watusimoto | return t; |
| 14:56:58 | Watusimoto | } |
| 14:57:10 | kaen | I think so |
| 14:57:20 | kaen | assuming t is the private member with the actual data |
| 14:57:32 | Watusimoto | it compiled in the easiest case... |
| 14:57:39 | Watusimoto | oh right you are! |
| 14:57:45 | kaen | woohoo! |
| 14:58:00 | kaen | Flynnn, yeah, GPU debugging is a nightmare |
| 14:58:01 | Flynnn | kaen: oh that's cool, but I'm thinking more in terms of just doing actual rendering, and using hte output pixel values as data |
| 14:58:19 | Flynnn | kaen: but without actually displaying to the screen |
| 14:58:50 | kaen | headless gl contexts is something I'm researching for use in bitfighter's unit tests |
| 14:58:58 | kaen | so I'm probably as clueless as you |
| 14:59:04 | raptor | it's available in OpenGL 3.0 i think |
| 14:59:08 | Flynnn | kaen: interesting |
| 14:59:27 | kaen | but I know that what you're describing is the general architecture of GPU-calculation |
| 14:59:33 | raptor | http://stackoverflow.com/questions/7062804/minimal-windowless-opengl-context-initialization |
| 14:59:50 | kaen | it's used for algorithms well-suited to the SIMD architecture |
| 15:00:03 | kaen | e.g. finding the plaintext of an md5 hash |
| 15:00:48 | Flynnn | huh. interesting |
| 15:01:48 | kaen | check out the NVIDIA Tesla boards |
| 15:01:57 | kaen | CUDA cores: 3072 (1536 per GPU) |
| 15:02:01 | Skybax | If I put the Bitfighter.exe in the same folder as the Bitfighter.app, will they share the .ini and everything else or will they generate completely new stuff? |
| 15:02:22 | Watusimoto | well I got this to compile: |
| 15:02:23 | Watusimoto | S32 S32Val = S32(settings.getSetting("S32Name")); |
| 15:02:35 | kaen | cool! |
| 15:02:36 | Watusimoto | but what I really want is this |
| 15:02:36 | Watusimoto | S32 S32Val = settings.getSetting("S32Name")->getValueX(); |
| 15:02:44 | kaen | whoa |
| 15:03:08 | Watusimoto | I did this: |
| 15:03:09 | Watusimoto | template<typename T> |
| 15:03:09 | Watusimoto | operator T() |
| 15:03:09 | Watusimoto | { |
| 15:03:09 | Watusimoto | return getValueX(); |
| 15:03:09 | Watusimoto | } |
| 15:03:24 | Watusimoto | not really what we want, but proof that you can do weird stuff |
| 15:03:35 | Skybax | Or can I even get the Bitfighter.exe on a Mac xD cause I can't install it |
| 15:03:56 | Flynnn | Macs handle exe files just fine, they just won't run them |
| 15:04:22 | kaen | Skybax, they should share it |
| 15:04:32 | Skybax | Yes, but when I download Bitfighter from the website, it gives me Bitfighter Installer 018a.exe |
| 15:04:41 | Flynnn | oh |
| 15:04:41 | Skybax | Not the actual app |
| 15:04:52 | Flynnn | change hte install location to your usb |
| 15:04:52 | kaen | there should be a standalone zip there too |
| 15:04:54 | bobdaduck | help |
| 15:04:57 | Flynnn | or do the standalone zip |
| 15:05:00 | bobdaduck | how do I use quotes in a string |
| 15:05:02 | Flynnn | that sounds safer xD |
| 15:05:07 | Flynnn | bobdaduck: |
| 15:05:09 | kaen | "say \"hi\"" |
| 15:05:15 | Flynnn | "hello, im a \"robot\"" |
| 15:05:28 | kaen | it's called "escaping" the quotes |
| 15:05:28 | Skybax | The source archive? |
| 15:05:34 | kaen | no |
| 15:05:41 | Skybax | There's only one button for windows |
| 15:05:44 | Skybax | And it's the installer |
| 15:05:51 | Flynnn | "hello, there, it's time to \"die\"" |
| 15:06:03 | bobdaduck | Yeah yeah I know what it is I just didn't know the syntax |
| 15:06:15 | kaen | Skybax, https://code.google.com/p/bitfighter/downloads/detail?name=Bitfighter-018a-portable.zip&can=2&q= |
| 15:06:27 | Skybax | Thanks |
| 15:06:47 | Flynnn | "it's time to \"eat\" your flesh!" |
| 15:07:12 | kaen | 'I prefer just using "single" quotes around the string' |
| 15:07:22 | Skybax | Oooog.... this has a lot more in it than my Bitfighter folder |
| 15:07:28 | Skybax | Does the .exe need all this stuff? |
| 15:07:34 | kaen | yep |
| 15:07:57 | Skybax | Hmm.. |
| 15:08:10 | bobdaduck | Nifty |
| 15:08:16 | Skybax | I'll just use two separate folders and overwrite the .ini |
| 15:08:35 | bobdaduck | Now in DnD you can deploy multiple items at the same time from your inventory |
| 15:09:42 | bobdaduck | "deployAsteroid 5" |
| 15:10:26 | Skybax | Hmm... the PC folder didn't have a .ini in it.. does it normally generate one itself? |
| 15:10:32 | kaen | yes |
| 15:10:35 | Skybax | Got it |
| 15:10:50 | Skybax | Well I hope it works lol I have no way to test it xD |
| 15:27:33 | | Flynnn Quit (Quit: Leaving) |
| 15:28:17 | Watusimoto | kaen: I think this trick isn;t going to work |
| 15:28:41 | Watusimoto | in the example given, they're casting the FromString object to an int or a bool |
| 15:29:15 | Watusimoto | in my example, I'm trying to cast the results of the getValueX() function, which will be either a string or an int |
| 15:29:53 | Watusimoto | S32 S32Val = settings.getSetting("S32Name")->getValueX(); |
| 15:29:57 | kaen | ok, I can see the problem |
| 15:30:09 | Watusimoto | though maybe the solution is to get rid fo the getValueX |
| 15:30:15 | Watusimoto | and do S32 S32Val = settings.getSetting("S32Name"); |
| 15:30:16 | kaen | that was my suggestion |
| 15:30:26 | kaen | I think it's okay to implicitly convert Settings<T> into T |
| 15:30:41 | Watusimoto | hmmm |
| 15:30:47 | kaen | and if really need the Settings<T> then just don't cast it :P |
| 15:30:58 | kaen | I mean Setting<T> |
| 15:31:02 | Watusimoto | let me see if I can make that work |
| 15:31:13 | Watusimoto | that would be rather interesting... |
| 15:31:24 | Watusimoto | though not entirely intuitive |
| 15:33:10 | kaen | S32 val = settings.getSetting("name") <-- this seems pretty intuitive from the client code's perspective |
| 15:33:19 | kaen | it makes sense as long as you don't think about it too much :P |
| 15:37:03 | Watusimoto | well this compiles |
| 15:37:05 | Watusimoto | S32 S32Val = S32(settings.getSetting("S32Name")); |
| 15:37:08 | Watusimoto | but this does not |
| 15:37:14 | Watusimoto | S32 S32Val = settings.getSetting("S32Name"); |
| 15:37:32 | Watusimoto | my template is this: |
| 15:37:33 | Watusimoto | template<typename T> |
| 15:37:33 | Watusimoto | operator T*() |
| 15:37:33 | Watusimoto | { |
| 15:37:33 | Watusimoto | return 4; |
| 15:37:33 | Watusimoto | } |
| 15:37:43 | Watusimoto | rather useless at the moment |
| 15:37:48 | Watusimoto | unless your setting is 4 |
| 15:38:08 | Watusimoto | in which case it would be great! |
| 15:38:34 | Watusimoto | the MS VC++ documentation suggests that both should work |
| 15:39:02 | Watusimoto | it states: Any unary expression is considered a cast expression. |
| 15:39:19 | Watusimoto | (any, that is, except mine ) |
| 15:39:24 | kaen | that's nutty |
| 15:40:12 | Watusimoto | that's a good word for it! |
| 15:41:27 | Watusimoto | the thing is, it knows it wants to convert |
| 15:41:32 | Watusimoto | the error is error C2440: 'initializing' : cannot convert from 'Zap::AbstractSetting *' to 'TNL::S32' |
| 15:41:42 | Watusimoto | it's just itching to cast |
| 15:41:48 | Watusimoto | and yet it can't quite make the leap |
| 15:42:05 | kaen | ok, try overloading AbstractSetting's cast operator |
| 15:42:15 | Watusimoto | that's what I did |
| 15:42:16 | kaen | no, wait ... |
| 15:42:35 | kaen | I thought you overloaded Setting<T> 's cast operator? |
| 15:43:09 | Watusimoto | No -- I only have an AbstractSetting * |
| 15:43:47 | Watusimoto | if I override Setting's, it won't get activated because there's no virtual version in AbstractSetting |
| 15:44:14 | kaen | oh wait |
| 15:44:27 | kaen | I think you need to deref the pointer? |
| 15:44:39 | kaen | still ugly though |
| 15:45:57 | Watusimoto | kaen: you mean try casting an AbstractSetting instead of AbstractSetting*? |
| 15:46:04 | kaen | I think so |
| 15:46:40 | kaen | getsetting should probably return a const ref anyway |
| 15:47:13 | Watusimoto | I'll try it, but I think it isn;t necessary; also, that was my original thought, but you may well want to update teh setting |
| 15:47:49 | kaen | for that I would propose setSetting(name, val) |
| 15:48:09 | kaen | but I'm not looking at the code so I don't know how trivial Setting<T> is |
| 15:49:18 | kaen | a non-const ref should be okay too, I think |
| 15:49:26 | kaen | if you're returning a non-const pointer |
| 15:50:01 | Watusimoto | well... the dereferencing worked |
| 15:50:06 | Watusimoto | or at least compiled |
| 15:50:28 | kaen | I'm actually really glad it won't implicitly convert a pointer to an int |
| 15:50:37 | kaen | that would have been a confusing bug if it had worked :P |
| 15:50:40 | Watusimoto | I was explicitly cast it |
| 15:50:43 | Watusimoto | casting |
| 15:51:11 | Watusimoto | well, my template was casting an AbstractSetting * |
| 15:51:18 | Watusimoto | not an AbstractSetting |
| 15:51:23 | Skybax | Do the forums have [spoiler] tags? |
| 15:51:36 | kaen | nope |
| 15:51:40 | Skybax | Darn |
| 15:51:42 | Watusimoto | now I need to put it all together and see if it is anything better than heinous |
| 15:51:51 | Watusimoto | I thought they did |
| 15:51:51 | kaen | :) |
| 15:51:52 | Skybax | That would save on page space soo much |
| 15:52:06 | Watusimoto | someone posted something a while back with the summary hidden somehow, as I recall |
| 15:52:21 | Watusimoto | sorry, the posted a summary with a longer version hidden |
| 15:52:30 | Watusimoto | or maybe it was levelcode |
| 15:52:37 | Watusimoto | or whatever, but I thought there was a way |
| 15:52:49 | Watusimoto | but if it's not obvious, I don;t know how to do it |
| 15:53:07 | Skybax | Well it's not [spoiler][/spoiler] and it's not in the BBCode list |
| 16:04:49 | Watusimoto | so this fails: |
| 16:04:50 | Watusimoto | AbstractSetting s = *settings.getSetting("S32Name"); |
| 16:04:50 | Watusimoto | S32 S32Val = s; |
| 16:04:59 | | bobdaduck Quit (Remote host closed the connection) |
| 16:05:07 | Watusimoto | (as in returns a bit of uninitialzed memory) |
| 16:05:11 | Watusimoto | but this works |
| 16:05:12 | Watusimoto | S32 S32Val = *settings.getSetting("S32Name"); |
| 16:05:25 | Watusimoto | weird |
| 16:07:35 | Watusimoto | ok, so now we have 3 possible syntaxes: |
| 16:07:36 | Watusimoto | S32 S32Val = *settings.getSetting("S32Name"); |
| 16:07:36 | Watusimoto | S32 S32Val = settings.getSetting("S32Name").getValue<int>(); |
| 16:07:36 | Watusimoto | S32 S32Val = settings.getSetting("S32Name").getValueI(); |
| 16:07:49 | | Little_Apple has joined |
| 16:09:00 | Little_Apple | hello |
| 16:09:32 | Watusimoto | or, to be fair, we could also do this: |
| 16:09:49 | Watusimoto | settings.getSetting("S32Name").getValue(&S32val); |
| 16:11:21 | | LordDVG Quit (Remote host closed the connection) |
| 16:23:37 | | Flynnn has joined |
| 16:25:17 | | BFBuildBot Quit (Remote host closed the connection) |
| 16:25:29 | | BFBuildBot has joined |
| 16:25:32 | | BFBuildBot Quit (Remote host closed the connection) |
| 16:28:58 | | BFBuildBot has joined |
| 16:30:50 | | BFBuildBot Quit (Remote host closed the connection) |
| 16:30:57 | | BFBuildBot has joined |
| 16:32:04 | | BFBuildBot Quit (Remote host closed the connection) |
| 16:42:00 | Watusimoto | or we could have this: |
| 16:42:01 | Watusimoto | S32 S32Val = settings.getValue<S32>("S32Name"); |
| 16:45:57 | Watusimoto | or this... perhaps the best yet: |
| 16:45:59 | Watusimoto | S32 S32Val = settings.getValue("S32Name"); |
| 16:46:05 | kaen | yes I like that |
| 16:46:25 | kaen | why not just get() ? |
| 16:46:30 | Watusimoto | I'm doing a full compile to see if it builds |
| 16:46:38 | Watusimoto | rather see if it links |
| 16:46:42 | kaen | then we'd be on our way to a nice interface :) |
| 16:46:55 | Watusimoto | not get because you are not getting a setting |
| 16:47:18 | kaen | well, you're getting a conceptual setting, you're just not getting a Setting |
| 16:47:21 | Watusimoto | you aer getting a setting's value |
| 16:47:27 | Watusimoto | perhaps |
| 16:47:32 | kaen | which is what getSetting does |
| 16:47:48 | kaen | getValue isn't too objectionable :) |
| 16:47:48 | Watusimoto | if we go this route, I'll probably move other setting methods up to the settings object |
| 16:48:07 | Watusimoto | so you won't actually deal with individual settings objects at all |
| 16:48:23 | Watusimoto | and then we can see what the naming looks like in the context of all the rest of the methods |
| 16:48:26 | Watusimoto | it may be clearer |
| 16:48:26 | kaen | now *that* is a nice improvement |
| 16:48:52 | kaen | cutting out a class from the mental model is always a win in my book |
| 16:48:59 | Watusimoto | it's only an improvement if we can concentrate all our settings code in one place, rather than having it spread out all over the place |
| 16:49:10 | Watusimoto | yes, that's true |
| 16:49:15 | Watusimoto | (usually) |
| 16:49:20 | kaen | what you say is true, too |
| 16:49:47 | Watusimoto | it links!! |
| 16:49:52 | kaen | nice! |
| 16:50:02 | Watusimoto | now does it pass the test? |
| 16:50:17 | Watusimoto | I have to say the testing stuff has been really great for this little project |
| 16:50:35 | Watusimoto | it's textbook: write the class along with the tests |
| 16:50:46 | Watusimoto | and use the tests to make sure the class does what you want |
| 16:50:53 | kaen | exactly! |
| 16:50:55 | Watusimoto | hmmm... tests failed |
| 16:51:02 | kaen | hmm |
| 16:51:42 | Watusimoto | getting the same weird unitiailzed memory junk rather than my value |
| 16:52:09 | kaen | maybe the memory really is uninitialized? |
| 16:52:26 | Watusimoto | well it shouldn't be |
| 16:52:44 | kaen | if other tests you've written have passed then that seems unlikely |
| 16:55:49 | Watusimoto | I encountered this earlier |
| 16:55:58 | Watusimoto | in a different but similar context |
| 16:57:23 | Watusimoto | I think it has to do with the dereferencing operation |
| 16:57:43 | Watusimoto | maybe the pointer somehow loses context or something |
| 16:58:37 | kaen | can you paste the implementation? |
| 16:59:02 | Watusimoto | sure... let's see if this attempt works, then I'll send you a pasteie |
| 16:59:11 | kaen | ok |
| 17:00:31 | Watusimoto | well, here's the implemenation |
| 17:00:31 | Watusimoto | http://pastebin.com/HfTSr6tZ |
| 17:00:44 | Watusimoto | some of the code is in the .cpp file, but that is mostly obvious stuff |
| 17:00:54 | Watusimoto | the interesting stuff is in the .h, which I pasted |
| 17:01:59 | Watusimoto | this shows the tests |
| 17:01:59 | Watusimoto | http://pastebin.com/TPU4pGL5 |
| 17:02:14 | Watusimoto | this one works: |
| 17:02:15 | Watusimoto | string strVal = *settings.getSetting("strName"); |
| 17:02:20 | Watusimoto | this one returns junk |
| 17:02:22 | raptor | gotta go! later! |
| 17:02:27 | Watusimoto | S32 S32Val = settings.getValue("S32Name"); |
| 17:02:28 | Watusimoto | bye! |
| 17:02:30 | | raptor Quit () |
| 17:05:00 | kaen | does getValueX work? |
| 17:06:11 | Watusimoto | in which class? |
| 17:06:21 | kaen | S32 |
| 17:06:28 | kaen | oh, abstractsetting |
| 17:06:53 | Watusimoto | I think it does |
| 17:07:00 | Watusimoto | well, yes, it has to |
| 17:07:15 | Watusimoto | for this test to work: string strVal = *settings.getSetting("strName"); |
| 17:07:47 | Watusimoto | that calls the overridden cast operator in AbstractSetting, which uses getValueX |
| 17:08:21 | kaen | ok |
| 17:10:17 | kaen | hmm I'm not getting any traction here |
| 17:10:47 | Watusimoto | yeah me neither |
| 17:11:00 | Watusimoto | no worries... I think I'll sleep on it |
| 17:11:05 | kaen | ok |
| 17:11:12 | kaen | rest easy |
| 17:11:15 | Watusimoto | this is all very complicated |
| 17:11:28 | kaen | it's like all the weird parts of c++ coming together |
| 17:11:28 | Watusimoto | for 1:15AM |
| 17:11:35 | Watusimoto | that's exactly it |
| 17:11:53 | kaen | statically casting templatized class through overloaded cast operators |
| 17:11:59 | kaen | yup that's pretty much all of them. |
| 17:13:35 | Watusimoto | with inheritance! |
| 17:14:25 | kaen | WhyNotToWriteCpp.cpp |
| 17:21:19 | Watusimoto | good night! |
| 17:21:27 | | Watusimoto Quit (Remote host closed the connection) |
| 17:40:22 | | koda Quit (Quit: koda) |
| 17:44:41 | | Little_Apple Quit (Quit: Page closed) |
| 18:08:25 | | BFLogBot Commit: 718712ae42f3 | Author: buckyballreaction | Message: Fix s_bot after recent Lua API changes |
| 18:08:27 | | BFLogBot Commit: 4e94a4e7fe1c | Author: buckyballreaction | Message: Rename bot:hasLosPt to bot:canSeePoint |
| 19:02:40 | | Skybax Quit (Quit: Skybax) |
| 19:12:46 | | Skybax has joined |
| 19:17:49 | | Little_Apple has joined |
| 19:19:54 | | Skybax Quit (Quit: Skybax) |
| 20:12:40 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 20:16:08 | Little_Apple | SO QUIET |
| 20:16:51 | Little_Apple | kaen: just you, me and BFLogBot..... |
| 20:16:52 | BFLogBot | My family is dysfunctional and my parents won't empower me. Consequently I'm not self actualized. -- Calvin |
| 20:18:02 | Little_Apple | wanna steal some nukes? |
| 20:23:23 | | Flynnn has joined |
| 20:49:15 | | bobdaduck has joined |
| 21:05:43 | kaen | bobdaduck, I made conway's game of life for bitfighter |
| 21:05:44 | kaen | http://bitfighter.org/pleiades/levels/view/23 |
| 21:05:54 | bobdaduck | rofl |
| 21:05:54 | kaen | the levelgen only works in 018a right now though |
| 21:05:57 | bobdaduck | that is amazing |
| 21:06:02 | bobdaduck | I'll check it out in a second |
| 21:06:08 | kaen | ok |
| 21:06:08 | bobdaduck | right now I have a server full of people to attend to |
| 21:06:19 | kaen | oh my |
| 21:39:17 | | Little_Apple Quit (Quit: Page closed) |
| 21:56:44 | | raptor has joined |
| 21:56:44 | | ChanServ sets mode +o |
| 22:01:00 | kaen | raptor, http://bitfighter.org/pleiades/levels/view/23 |
| 22:01:08 | kaen | it only works in 018a though |
| 22:01:28 | raptor | a glider! |
| 22:01:46 | raptor | ha! this is great! |
| 22:01:49 | kaen | the top one shoots gliders |
| 22:01:53 | kaen | the bottom resets it |
| 22:02:40 | raptor | man, i forget all the names of the shapes... |
| 22:02:57 | kaen | me too |
| 22:03:10 | kaen | I wonder if it's big enough to make a glider gun ... |
| 22:03:25 | raptor | have you ever seen the race track? |
| 22:03:34 | kaen | no |
| 22:03:47 | Flynnn | what is a glider? |
| 22:04:26 | Flynnn | actually ,what is a glider gun? |
| 22:04:47 | kaen | it's a shape in conway's game of life |
| 22:04:55 | Flynnn | oh! |
| 22:04:56 | raptor | i think this was the one: https://upload.wikimedia.org/wikipedia/en/f/f2/Colour_coded_racetrack.gif |
| 22:04:58 | Flynnn | this is game of life! |
| 22:05:01 | kaen | the hacker symbol is a glider |
| 22:05:06 | raptor | but it looks a bit different from what i remember |
| 22:05:26 | Flynnn | have you seen the game of life factory? |
| 22:05:36 | Flynnn | http://www.youtube.com/watch?v=7bVFO1uXxCg |
| 22:05:38 | kaen | http://upload.wikimedia.org/wikipedia/en/3/31/Stable_puffer_animation.gif |
| 22:05:57 | Flynnn | video I sent was bad |
| 22:06:00 | Flynnn | let me find a better one |
| 22:06:09 | Flynnn | wow, at that puffer |
| 22:06:09 | kaen | yeah I've seen that one |
| 22:06:20 | kaen | it's crazy that it's stable ... |
| 22:06:53 | raptor | wow that's crazy.. |
| 22:07:43 | Flynnn | http://www.youtube.com/watch?v=XcuBvj0pw-E starts out pretty lame but has some interesitng examples |
| 22:08:25 | kaen | hah! I was just watching that one |
| 22:08:29 | Flynnn | haha |
| 22:13:51 | bobdaduck | DnD! |
| 22:24:11 | raptor | kaen: you said no fillTable needed for findAllObjectsInArea() |
| 22:24:15 | raptor | ? |
| 22:24:29 | raptor | do you think it would be a method to be used every tick? |
| 22:31:44 | kaen | probably |
| 22:31:49 | kaen | maybe even a couple times |
| 22:31:56 | raptor | bah |
| 22:34:14 | raptor | i thiink i'm stupid - how do you get the element at the bottom of the Lua stack? |
| 22:34:26 | raptor | lua_tointeger(L, 1) ? |
| 22:34:41 | kaen | yep |
| 22:34:47 | raptor | and lua_tointeger(L, 2) is second from bottom? |
| 22:34:57 | kaen | yes |
| 22:35:03 | raptor | ok, not too stupid yet... |
| 22:35:16 | kaen | why are you pulling from the bottom though? |
| 22:35:38 | raptor | because findAllObjectsInArea looks like this: (point, point, int, int,....) |
| 22:35:45 | raptor | so the 2 points are at the bottom |
| 22:36:36 | raptor | maybe I should pop off as many ints as I can first... |
| 22:39:46 | kaen | whoa cool |
| 22:39:58 | kaen | I didn't know lua cleared the stack after a C function returns |
| 22:40:12 | kaen | I thought it had one big, dumb stack |
| 23:23:26 | raptor | oh actually... |
| 23:23:30 | raptor | it might be dumb |
| 23:23:35 | raptor | and my assumption is wrong.. |
| 23:35:27 | kaen | can I use c++11 stuff? |
| 23:36:54 | kaen | I'd really like to delegate this constructor ... |
| 23:41:27 | raptor | uhh |
| 23:41:46 | raptor | not if we want to support OSX 10.5 (6?) and earlier... sadly |
| 23:42:01 | kaen | bummer :< |
| 23:42:04 | raptor | because I myself would love to rip out boost::shared_ptr |
| 23:49:35 | raptor | ok, i'm out for the night |
| 23:49:37 | raptor | night! |
| 23:50:00 | kaen | night! |
| 23:50:13 | | raptor Quit () |
| 23:56:31 | | bobdaduck Quit (Remote host closed the connection) |