Timestamps are in GMT/BST.
| 00:05:44 | raptor | ok, i got a debug SDL build.. |
| 00:19:02 | raptor | ok, sent an e-mail to the mailing list |
| 00:19:06 | raptor | i need to go to bed |
| 00:19:08 | raptor | good night! |
| 00:20:12 | | raptor Quit () |
| 00:56:20 | | koda has joined |
| 01:15:25 | | sam686 Quit (Ping timeout: 245 seconds) |
| 01:30:53 | | watusimoto has joined |
| 01:30:53 | | ChanServ sets mode +o watusimoto |
| 06:32:44 | | tttt7858 has joined |
| 06:33:48 | | tttt7858 Quit (Client Quit) |
| 07:28:16 | | BFBuildBot Quit (Quit: buildmaster reconfigured: bot disconnecting) |
| 07:28:23 | | BFBuildBot has joined |
| 07:35:49 | | BFBuildBot Quit (Quit: buildmaster reconfigured: bot disconnecting) |
| 07:35:55 | | BFBuildBot has joined |
| 07:54:51 | | raptor has joined |
| 07:54:51 | | ChanServ sets mode +o raptor |
| 07:55:11 | kaen | morning |
| 07:55:16 | raptor | morning |
| 07:55:23 | kaen | raptor, when I run latest in my XP VM it freezes on startup |
| 07:55:29 | raptor | you're up as early as I am! |
| 07:55:36 | raptor | oh yeah? |
| 07:55:42 | kaen | yep |
| 07:55:44 | kaen | on both counts |
| 07:55:53 | raptor | from the buildbot? |
| 07:56:05 | kaen | no, from a real vc++ build |
| 07:56:08 | raptor | I ran latest last night (from vc++_ |
| 07:56:10 | raptor | ) |
| 07:56:18 | kaen | but here's the kicker: when I X the terminal window that pops up, it says the process exited with status 0 |
| 07:56:32 | raptor | it didn't freeze unless I changed from fullscreen to window |
| 07:56:40 | raptor | huh |
| 07:56:48 | raptor | opengl issue? |
| 07:56:51 | kaen | hmm, I'm launching in windowed |
| 07:58:11 | kaen | whoa |
| 07:58:19 | kaen | switching it to launch in fullscreen fixes it |
| 07:58:26 | raptor | ?? |
| 07:58:32 | raptor | huh |
| 07:58:35 | | koda waves |
| 07:58:36 | kaen | but how am I supposed to use the debugger if it's in fullscreen? |
| 07:58:38 | kaen | ;_; |
| 07:58:39 | kaen | hi koda |
| 08:00:57 | kaen | in case you haven't had enough openGL craziness yet this morning, raptor: my XP VM does the alpha blending properly |
| 08:01:05 | raptor | ha! |
| 08:03:41 | | Nothing_Much Quit (Ping timeout: 248 seconds) |
| 08:13:48 | raptor | kaen: I posted this to the SDL mailing list last night: http://lists.libsdl.org/pipermail/sdl-libsdl.org/2013-June/088626.html |
| 08:14:10 | raptor | there is some weird thing going on in windowed mode.. |
| 08:17:28 | | Nothing_Much has joined |
| 08:23:39 | koda | are you trying out sdl 2 rc? |
| 08:27:37 | | bobdaduck has joined |
| 08:28:30 | raptor | koda: yes |
| 08:28:48 | raptor | we've migrated to sdl2 permanently for windows and osx |
| 08:30:16 | koda | neat |
| 08:30:23 | koda | i knew about osx |
| 08:31:54 | kaen | so our SDL build is RC1 ? |
| 08:32:14 | raptor | yes |
| 08:32:21 | raptor | or a revision right afterwards |
| 08:32:28 | kaen | ok |
| 08:32:35 | raptor | I tested last night with the latest release (per the e-mail) and same problme |
| 08:35:37 | kaen | well, time to drop windows support then! |
| 08:35:43 | raptor | hahaha |
| 08:44:22 | kaen | I can't seem to get vc++ to halt on this breakpoint I set... |
| 08:44:59 | raptor | you're asking the wrong person.. |
| 08:50:10 | kaen | omg I'm going nuts |
| 08:50:29 | kaen | I put an intentional segfault where I wanted to break, just to see if vc++ would open it in the debugger |
| 08:50:48 | kaen | first I had to kill the process because it's fullscreen-ness prevented me from getting to vc++ |
| 08:51:05 | kaen | then in vc++ there was one of those alert boxes which informed me of the access violation |
| 08:51:19 | kaen | after clicking "break" rather than "continue" it took me out of the debug view... |
| 08:51:40 | raptor | see what i mean about getting angry when debugging in vc++? |
| 08:51:59 | kaen | so the message I'm getting is that vc++ has a debug button just as a sort of in-joke for windows programmers |
| 08:52:21 | raptor | there is a 'pause' debugging button that you have to manually add to the menus.. |
| 08:52:26 | raptor | found that last night |
| 08:52:27 | kaen | "lol, those linux guys are totally gonna spend hours trying to use this thing" |
| 09:04:52 | raptor | yeah.. i'm going just twiddle my thumbs and wait on the mailing list.. |
| 09:05:08 | raptor | sam686 found another issue with multimonitor and SDL2 |
| 09:07:09 | raptor | that seems similar |
| 09:07:17 | raptor | have to go! back later |
| 09:07:19 | | raptor Quit () |
| 10:00:15 | bobdaduck | so this lua memory leak |
| 10:00:36 | bobdaduck | What about objects like bursts, which self detonate (delete?) after an amount of time? |
| 10:00:49 | kaen | hehe |
| 10:00:58 | kaen | that's an interesting one |
| 10:01:22 | kaen | the c++ object does get deleted for sure |
| 10:01:34 | kaen | the lua proxy in c++ world probably is deleted as well |
| 10:01:44 | kaen | but I would guess that the userdata in lua world is kept around |
| 10:01:45 | bobdaduck | I'm just wondering if I should change my burst-machine-gun turrets in DnD to have fire delays |
| 10:02:36 | kaen | now that I think about it, there's a good chance the bursts are, in fact, your problem |
| 10:03:45 | bobdaduck | I dunno I tried running a leak test |
| 10:03:56 | bobdaduck | where I had like twelve rapid-fire burst turrets going off constantly |
| 10:04:06 | bobdaduck | and I didn't notice any slowdown after 20 minutes |
| 10:04:36 | bobdaduck | I *think* the problem was the ranged classes like ranger making a new arrow every time it fires and then deleting it |
| 10:05:16 | bobdaduck | I've fixed it to reuse those so hopefully the code is more robust now |
| 10:06:44 | kaen | burst turrets would allocate/deallocate purely through c++ |
| 10:06:56 | kaen | try a leak test by just spawning tons of bursts in a levelgen |
| 10:07:46 | bobdaduck | Its not a burst turret |
| 10:07:52 | bobdaduck | its a goalzone that fires bursts nonstop |
| 10:08:04 | kaen | "twelve rapid-fire burst turrets" |
| 10:08:09 | kaen | was a little misleading |
| 10:08:19 | bobdaduck | okay sorry |
| 10:30:41 | bobdaduck | can I have like an "onCrash" event? |
| 10:49:46 | kaen | bobdaduck, try http://pgl.yoyo.org/luai/i/pcall |
| 10:50:52 | kaen | pass it a function to call and pcall() itself will return false if it raises an error (instead of crashing the lua state) |
| 10:53:49 | kaen | here's a slightly more informative overview: http://www.lua.org/pil/8.4.html |
| 10:55:14 | bobdaduck | hm |
| 10:57:26 | bobdaduck | well millions-of-bursts script has been running for almost 25 minutes now with no noticeable decrease in cpu or ram or whatever |
| 11:07:37 | | watusimoto Quit (Quit: Leaving.) |
| 11:11:49 | | koda Quit (Read error: Connection reset by peer) |
| 11:28:20 | | Watusimoto has joined |
| 11:34:59 | | raptor has joined |
| 11:34:59 | | ChanServ sets mode +o raptor |
| 11:36:20 | raptor | good day! |
| 11:37:28 | bobdaduck | g'day |
| 11:43:08 | bobdaduck | Okay raptor |
| 11:43:11 | bobdaduck | deltatime again. |
| 11:43:21 | Watusimoto | hello |
| 11:43:31 | bobdaduck | I need to get one second. |
| 11:43:39 | bobdaduck | is that just deltatime / 1000? |
| 11:44:01 | Watusimoto | hey raptor -- just for the record, the code that I wrote for kickbot was just a modification of your code; it only looks like I wrote the whole thing because of teh way I applied the changes |
| 11:44:03 | raptor | hello |
| 11:44:16 | raptor | heh, ok |
| 11:44:19 | Watusimoto | so the code is all yours, except for moving part out into another function |
| 11:44:24 | raptor | bobdaduck: one second is 1000 ms |
| 11:44:30 | Watusimoto | that's all |
| 11:44:54 | raptor | I feel very possessive of my code and take great offense that you dared have the gall to touch it |
| 11:45:01 | bobdaduck | lol |
| 11:45:39 | raptor | bobdaduck: if you want the fraction of a second that has passed, then yes, do deltaTime / 1000 |
| 11:46:04 | raptor | (I hope that last statement came through as a joke ok..) |
| 11:46:09 | raptor | :) |
| 11:47:01 | bobdaduck | I have an object array thingy |
| 11:47:16 | bobdaduck | with a... built in timer? I guess? That's what I'm trying anyway. |
| 11:47:42 | bobdaduck | timer = 0, and then ontick timer = timer - 1 |
| 11:47:52 | bobdaduck | and then when the event fires add 1000 to the timer. |
| 11:47:59 | bobdaduck | How do I do that properly though? |
| 11:48:12 | raptor | wait wait, back up |
| 11:48:18 | raptor | what do you want to do? |
| 11:48:23 | raptor | at a high level |
| 11:48:40 | Watusimoto | I detected the sarcasm, yes :-) |
| 11:49:25 | bobdaduck | Regulate an event firing? |
| 11:49:36 | raptor | regulate how? |
| 11:49:45 | bobdaduck | make it so it only goes off every second. |
| 11:49:55 | raptor | ok, schedule a repeating timer |
| 11:50:17 | bobdaduck | can't for various reasons |
| 11:50:28 | raptor | define 'various reasons' |
| 11:50:51 | bobdaduck | Well I've made a new object you can buy in DnD. I call it "sentinel" |
| 11:50:55 | bobdaduck | and it fires bursts. |
| 11:51:01 | bobdaduck | currently, it fires wayyy too many bursts. |
| 11:51:19 | Watusimoto | I feel like I've been rewworking these joystick buttons my whole life |
| 11:51:31 | raptor | :( |
| 11:51:35 | bobdaduck | Anyway you deploy it and it only fires when there's someone to shoot at (so I'd have to supress the timer or something?) |
| 11:52:03 | bobdaduck | And then I'm looping through all the sentinels in the game ontick |
| 11:52:12 | raptor | bobdaduck: so what is the exact behavior you want, lie still until someone approaches |
| 11:52:13 | bobdaduck | so the timers have to be different for each |
| 11:52:37 | bobdaduck | It already does that. Its just when it starts shooting bursts its shooting a burst every tick |
| 11:52:39 | raptor | when they approach fire, but don't fire unless a second has passed since last fire? |
| 11:53:02 | raptor | ok |
| 11:53:03 | raptor | yes |
| 11:53:18 | raptor | then you'll want a 'timer' associated with each sentinel |
| 11:53:34 | raptor | it'll just be an integer, you set it to 0 |
| 11:53:40 | raptor | when it fires, you set it to 1000 |
| 11:53:42 | bobdaduck | I just did sentinelArray["timer"] and am currently using that |
| 11:53:56 | raptor | each tick you subtract the deltaTime from it |
| 11:54:08 | raptor | if the timer is below 0, then it is allowed to fire again |
| 11:54:19 | raptor | and you reset it to 1000 |
| 11:54:45 | bobdaduck | ohey it worked. |
| 11:55:03 | bobdaduck | ...all I did was change firedelay - 1 to firedelay - timeDelta? |
| 11:55:24 | raptor | yes, otherwise you'd have to wait for 1000 ticks which is like 30 seconds |
| 11:55:42 | raptor | 33 seconds |
| 11:56:20 | bobdaduck | ahhh |
| 11:56:27 | bobdaduck | okay |
| 11:56:31 | raptor | did the lightbulb click on? |
| 11:56:34 | raptor | :) |
| 11:56:38 | bobdaduck | A little. |
| 11:57:34 | bobdaduck | timeDelta is a little ambiguous still. |
| 11:58:38 | bobdaduck | I get why -1 didn't work but not why timeDelta did work xD |
| 11:58:44 | raptor | it's the number of milliseconds since last tick |
| 11:59:07 | raptor | that's all it is |
| 11:59:25 | raptor | so if you have a timer set to 1000 milliseconds (1 second) |
| 11:59:31 | raptor | and you want it to count down |
| 11:59:40 | raptor | but it only counts down in each tick |
| 11:59:51 | raptor | then it needs to count down by how much the tick lasted |
| 12:01:44 | bobdaduck | ohh |
| 12:02:26 | | bobdaduck makes a little note on every function onTick() line in all his codes |
| 12:10:25 | bobdaduck | So... timeDelta will usually represent 33? |
| 12:10:57 | raptor | yes, unless the last tick took a lot longer to process (usually because doing loads of CPU logic) |
| 12:11:12 | raptor | in practice it'll be 33 - 42 or so |
| 12:11:39 | raptor | because the server onTick fires every 10(?) milliseconds |
| 12:12:24 | bobdaduck | cool I think I get it sorta |
| 12:14:20 | bobdaduck | Oh man |
| 12:14:27 | bobdaduck | I should implement trade posts. |
| 12:14:40 | raptor | feature creep! |
| 12:15:20 | bobdaduck | Of course! |
| 12:15:25 | bobdaduck | That's like, the whole point of the level. |
| 12:15:28 | bobdaduck | Next to levelgen carnival. |
| 12:31:11 | | Watusimoto_ has joined |
| 12:32:51 | | -mquin- [Global Notice] As you've probably noticed we're experiencing a bit of network disruption. Please bear with us while we check the tubes for kittens. |
| 12:33:51 | raptor | save teh kitties! |
| 12:37:11 | | koda has joined |
| 12:37:23 | | Watusimoto Quit (Write error: Broken pipe) |
| 12:44:12 | | Watusimoto_ Quit (Ping timeout: 256 seconds) |
| 12:51:20 | | LordDVG has joined |
| 13:22:45 | | bobdaduck Quit (Ping timeout: 264 seconds) |
| 13:23:03 | | Watusimoto has joined |
| 13:42:40 | | bobdaduck has joined |
| 13:45:07 | | koda Quit (Remote host closed the connection) |
| 13:45:23 | | koda has joined |
| 13:52:38 | raptor | Watusimoto: the hedgwars folks are trying to convince me to use http://gna.org/ for downloads |
| 13:52:53 | Watusimoto | what's that? I'll check it |
| 13:53:03 | raptor | no ads, etc. |
| 13:53:11 | Watusimoto | it has a yak on the front page |
| 13:53:12 | raptor | it's Gna! |
| 13:53:44 | bobdaduck | pros/cons? |
| 13:53:49 | Watusimoto | Gna! was down from Wednesday Feb. 8 circa 11pm until Tuesday Feb. 14 at 6:44 pm. |
| 13:53:58 | Watusimoto | unnecessarily precise times are annoying |
| 13:54:05 | raptor | we have to meet the requirements: http://about.gna.org/#art3 |
| 13:54:11 | raptor | which we do for 019 |
| 13:54:29 | Watusimoto | why not just distribute from bitfighter.org? |
| 13:54:38 | raptor | good question |
| 13:54:51 | Watusimoto | if we have to upload somewhere anyway... it's not like there's any danger of overflowing our bandwidth requirement |
| 13:54:55 | Watusimoto | allotment |
| 13:55:01 | Watusimoto | whatever the word should be |
| 13:55:32 | Watusimoto | I would be willing to host the binaries at gna if it were less work or somehow better than our alternatives |
| 13:57:10 | raptor | I count about 17GB in downloads since 018a was released |
| 13:57:25 | Watusimoto | I wonder why their home page has a "clean reload" button |
| 13:57:36 | raptor | because its stuck in the 90s? |
| 13:57:38 | Watusimoto | 17GB isn't much, sadly |
| 13:57:57 | Watusimoto | but that's probably quite a few downloads, even at 10MB |
| 14:01:30 | bobdaduck | So... Gna doesn't really bring us anything? |
| 14:01:50 | raptor | probably faster downloads than bitfighter.org |
| 14:01:55 | raptor | but we're small |
| 14:02:12 | bobdaduck | bitfighter currently takes me about five seconds to download, and say maybe ten to install |
| 14:03:45 | bobdaduck | wait, after a test |
| 14:03:53 | bobdaduck | it takes a full minute to download |
| 14:12:53 | | bobdaduck_ has joined |
| 14:15:34 | bobdaduck_ | There's no lua documentation for slipzones |
| 14:16:24 | raptor | hooray! |
| 14:17:49 | bobdaduck_ | fix pls |
| 14:18:10 | raptor | there's probably no lua interface for it either |
| 14:18:27 | bobdaduck_ | I haven't checked |
| 14:18:40 | | koda Quit (*.net *.split) |
| 14:18:40 | | bobdaduck Quit (*.net *.split) |
| 14:18:40 | | LordDVG Quit (*.net *.split) |
| 14:21:04 | | LordDVG has joined |
| 14:27:47 | raptor | yeah there's no lua_interface |
| 14:28:26 | | bobdaduck_ Quit (Read error: Connection reset by peer) |
| 14:28:32 | | koda has joined |
| 14:28:54 | | bobdaduck has joined |
| 14:51:56 | raptor | Watusimoto: FYI, for your window issue with SDL, I posted this: http://lists.libsdl.org/pipermail/sdl-libsdl.org/2013-June/088626.html |
| 14:52:15 | raptor | mostly because trying to duplicate it crashes the game (for me and kaen) |
| 14:52:36 | kaen | it's also preventing me from usefully debugging in windows :< |
| 14:52:58 | raptor | i thought vc++ was doing that.. :) |
| 14:53:02 | kaen | heh |
| 14:53:13 | kaen | funny thing: restarting vc++ made it trip breakpoints again |
| 14:53:25 | kaen | so maybe it's 70/30 |
| 14:53:32 | raptor | hahaha |
| 14:56:59 | Watusimoto | more sdl woes! fun! |
| 14:57:21 | | LordDVG Quit (Remote host closed the connection) |
| 14:57:22 | raptor | SDL2 is really taking off... most, if not all, Linux games in steam are using it |
| 14:57:39 | Watusimoto | it's pretty good, when it works |
| 15:01:28 | Watusimoto | what kind of color is this?!? no wonder my buttons disappeared! 0x003cedf4 {r=-1.0737418e+008 g=-1.0737418e+008 b=-1.0737418e+008 } |
| 15:01:51 | raptor | the color of RAM |
| 15:02:41 | Watusimoto | yes! |
| 15:02:44 | Watusimoto | that's it! |
| 15:03:08 | bobdaduck | rofl |
| 15:07:24 | bobdaduck | playerInfo:isTyping() |
| 15:10:00 | bobdaduck | or perhaps isBusy() |
| 15:10:19 | bobdaduck | anything that makes <<bobdaduck>> |
| 15:10:20 | Watusimoto | it really was the color of RAM |
| 15:13:30 | Watusimoto | an ugly, petty, spiteful color |
| 15:14:43 | bobdaduck | lol |
| 15:49:44 | bobdaduck | Watusiomoto |
| 15:49:48 | bobdaduck | In DnD |
| 15:50:07 | bobdaduck | Should I make a purchasable bodygaurd? |
| 15:50:26 | bobdaduck | I would only have a few days to make it. |
| 15:51:03 | Watusimoto | is that question for me? |
| 15:52:20 | | BFLogBot Commit: 239805e6d44a | Author: watusimoto | Message: Button colors working! Yay! |
| 15:52:22 | | BFLogBot Commit: 15150fd78792 | Author: watusimoto | Message: Auto-resize labels that are just too fat for a round button |
| 15:52:23 | | BFLogBot Commit: 1f9c84e2b15f | Author: watusimoto | Message: Merge |
| 15:59:04 | bobdaduck | yeah |
| 15:59:22 | bobdaduck | People being able to buy robot bodyguards yes no? |
| 15:59:38 | bobdaduck | no wait |
| 15:59:51 | bobdaduck | they won't be robots because I can't initiate robots or ships via levelgen. |
| 16:00:00 | bobdaduck | They will be like resource items that fire bursts or something. |
| 16:00:06 | bobdaduck | Maybe a circle. |
| 16:00:06 | bobdaduck | xD |
| 16:01:09 | raptor | NO CIRCLES |
| 16:01:29 | bobdaduck | lol |
| 16:01:38 | bobdaduck | Well you can already buy circles they just cost like 30,000 gold |
| 16:01:58 | bobdaduck | But I mean if it was a circle it would save me having to code the "stay near your ship" part. |
| 16:02:26 | Watusimoto | if that was a question for me, I have no idea what you are talking about! |
| 16:02:58 | raptor | Watusimoto: bobdaduck has created his own gametype with our Lua API and is going to unveil it friday |
| 16:03:13 | bobdaduck | Is it a new gametype? |
| 16:03:16 | bobdaduck | More like a new game. |
| 16:03:19 | Watusimoto | I gathered something like that was afoot |
| 16:03:44 | bobdaduck | I mean maybe its a new gametype. The "Explore" gametype. Loosely correlated with dungeons except no actual challenges. |
| 16:03:58 | Watusimoto | but mostly I just don't want to know :-) |
| 16:04:08 | kaen | if only I could unsee it... |
| 16:04:24 | bobdaduck | xD |
| 16:04:47 | | fordcars has joined |
| 16:05:00 | bobdaduck | ForDCARS. |
| 16:05:02 | kaen | maybe it's time for you to give this some serious thought, bobdaduck: https://love2d.org/ |
| 16:05:04 | bobdaduck | You have a bot for me? |
| 16:05:18 | fordcars | nearly :D |
| 16:05:24 | kaen | since you're hitting odd limitations in our poor-man's "game engine" |
| 16:05:30 | bobdaduck | xD |
| 16:05:46 | bobdaduck | the limitations are part of the fun |
| 16:06:03 | fordcars | what tyhe |
| 16:06:08 | bobdaduck | also zone swords |
| 16:06:30 | fordcars | K FINE ILL WORK ON YOYUR FERAIING BOT |
| 16:06:41 | fordcars | for once ;) |
| 16:06:56 | bobdaduck | lol its okay |
| 16:06:59 | kaen | well, I tried |
| 16:07:02 | bobdaduck | I was just earlier today thinking |
| 16:07:28 | bobdaduck | "hey if I had fordcars bot I could use it to stress-test the memory usage that 12 players is likely to evoke!" |
| 16:07:46 | fordcars | hahahahahahahaha |
| 16:08:22 | bobdaduck | Because as of now DnD.levelgen |
| 16:08:34 | bobdaduck | is 3260 lines of code long |
| 16:08:38 | fordcars | :P |
| 16:08:55 | fordcars | you really had some free time heh? |
| 16:10:05 | bobdaduck | lol |
| 16:10:09 | bobdaduck | IT HAS ALL BEEN WORTH IT |
| 16:10:59 | bobdaduck | the time, the pain, the begging the devs to make a goalzone whip, the shop system, everything. |
| 16:11:02 | bobdaduck | I REGRET NOTHING. |
| 16:11:52 | bobdaduck | And Friday we shall melt my cpu and fry my internet in a haze of GLORIOUS SPACE-MEDIEVAL FIREWORKS |
| 16:11:59 | | bobdaduck Quit (Remote host closed the connection) |
| 16:17:15 | fordcars | kaen, do you know what this returns? curLoad:getModule(1) |
| 16:20:49 | fordcars | it doesn't return Module.Shield anyway |
| 16:20:55 | kaen | odd... |
| 16:21:08 | kaen | what happens when you logprint it? |
| 16:22:40 | fordcars | oh wait |
| 16:24:04 | fordcars | hahahahahahahahahaha |
| 16:24:12 | fordcars | sorry that is module 2!!!! |
| 16:24:42 | raptor | back later! |
| 16:24:47 | | raptor Quit () |
| 16:26:46 | fordcars | yay it works |
| 16:26:56 | fordcars | back later too! |
| 16:31:24 | | fordcars Quit (Ping timeout: 250 seconds) |
| 17:46:34 | | Watusimoto Quit (Ping timeout: 264 seconds) |
| 18:17:21 | | fordcars has joined |
| 19:14:23 | | koda Quit (Quit: koda) |
| 20:08:18 | | Nothing_Much Quit (Read error: Operation timed out) |
| 20:10:55 | | Nothing_Much has joined |
| 20:11:36 | fordcars | later guys, gtg |
| 20:15:52 | | fordcars Quit (Ping timeout: 250 seconds) |
| 20:20:04 | | Nothing_Much Quit (Ping timeout: 245 seconds) |
| 20:33:24 | | Nothing_Much has joined |
| 21:17:24 | | raptor has joined |
| 21:17:25 | | ChanServ sets mode +o raptor |
| 22:07:02 | | BFLogBot Commit: 62250d9bce65 | Author: buckyballreaction | Message: Fix Level Info screen rendering below many UIGame items |
| 22:08:03 | | Nothing_Much Quit (Ping timeout: 260 seconds) |
| 22:09:03 | | Nothing_Much has joined |
| 22:10:09 | | Nothing_Much Quit (Max SendQ exceeded) |
| 22:10:43 | | Nothing_Much has joined |
| 22:14:24 | | Nothing_Much Quit (Read error: Connection reset by peer) |
| 22:58:39 | raptor | bugs bugs |
| 22:58:50 | | BFLogBot Commit: b665000b9419 | Author: buckyballreaction | Message: Fix loadout icon rendering as a symbol shape |
| 23:12:17 | raptor | kaen: you around? |
| 23:16:12 | kaen | raptor, yep |
| 23:16:16 | raptor | hi |
| 23:16:19 | kaen | hello |
| 23:16:29 | raptor | oh |
| 23:16:31 | raptor | yes |
| 23:16:37 | raptor | I'm looking at the Lua sandboxing |
| 23:16:57 | raptor | do you remember if watusimoto said that our Lua environment *used to be* sandboxed? |
| 23:17:21 | raptor | because I'm not sure what to look for in the code history... |
| 23:17:52 | kaen | I do not |
| 23:18:06 | raptor | hmmm |
| 23:18:15 | kaen | what do you mean by sandboxed? |
| 23:18:25 | kaen | with the dangerous stuff removed? |
| 23:18:28 | raptor | yes |
| 23:18:39 | raptor | and maaaybe io access to only a specific directory |
| 23:20:08 | kaen | around LuaScriptRunner.cpp:400 is where the script execution environment is set up |
| 23:20:33 | kaen | there it's traversing all of _G and putting it all into the environment right now |
| 23:21:00 | kaen | probably the safest way to sandbox is just to explicitly specify the members to put into the env |
| 23:22:57 | raptor | so whitelist |
| 23:23:01 | kaen | right |
| 23:23:41 | kaen | alternatively, you could set up a blacklist table of keys to skip |
| 23:31:50 | raptor | I think I do not have the mental power to start a Lua project.. |
| 23:32:25 | kaen | heh |
| 23:38:39 | raptor | huh |
| 23:41:21 | raptor | ok, I think I've got a Lua script that will sandbox; from here: http://stackoverflow.com/questions/1224708/how-can-i-create-a-secure-lua-sandbox |
| 23:41:33 | raptor | how to hook it in.. |
| 23:42:50 | kaen | around line 476? |
| 23:43:25 | kaen | eh, scratch that |
| 23:43:35 | raptor | no? |
| 23:43:41 | kaen | the code in that link is basically setting _G["foo"] to nil |
| 23:43:52 | kaen | you could just do that in the lua code on 399 |
| 23:44:30 | kaen | hm, double scratch that. I just realized that 399 is defining a property on the "table" table |
| 23:44:51 | kaen | so actually, you should just do it around 476 :) |
| 23:45:24 | raptor | yes... |
| 23:45:46 | raptor | i'm thinking... that giant sandbox_env sample in one of the answers |
| 23:47:51 | kaen | oh whoa |
| 23:48:01 | kaen | I was looking at the first answer :x |
| 23:50:10 | kaen | I don't really like that one. |
| 23:50:39 | kaen | except that it has a nicely nuanced whitelist for us :) |
| 23:51:30 | raptor | yes, i was thinking of just using the whitelist |
| 23:52:03 | kaen | okay, on 478 |
| 23:52:06 | kaen | 476* |
| 23:52:31 | kaen | if you change "table.copy(_G)" to that massive table literal |
| 23:52:36 | kaen | should work like a charm |
| 23:52:44 | raptor | already on it! |
| 23:52:51 | raptor | just have to add lots of quotation marks.. |
| 23:53:19 | kaen | the run_sandbox bit is just a bad reimplementation of pcall() as far as I can tell |
| 23:54:14 | kaen | oh, I see. it's pcall inside of a setfenv |
| 23:59:31 | raptor | do i need to do the the table.copy? |