Timestamps are in GMT/BST.
| 00:01:00 | sam686 | no, gridDatabase is to hold all those objects in a game |
| 00:01:48 | sam686 | MoveObject::move (loveObject.cpp line 267) is the moving object function that does some of physics calculation |
| 01:44:08 | | Opti_ has joined |
| 01:44:14 | Opti_ | hello |
| 01:44:18 | sam686 | hi |
| 01:44:33 | Heyub|2 | Hello |
| 01:45:11 | Opti_ | hmm |
| 01:45:22 | Opti_ | mollie_girl is supposed to be here |
| 01:45:55 | | Opti_ Quit (Client Quit) |
| 01:47:22 | | Opti_ has joined |
| 01:47:31 | | Opti_ Quit (Client Quit) |
| 01:48:33 | | Opti_ has joined |
| 01:48:51 | | Opti_ Quit (Client Quit) |
| 02:15:31 | | raptor has joined |
| 02:15:32 | | ChanServ sets mode +o raptor |
| 02:43:19 | IAmBeard | alright, i'm heading to bed |
| 02:44:09 | | IAmBeard Quit (Quit: Leaving) |
| 02:49:32 | Heyub|2 | The cake is a lie. |
| 02:56:36 | raptor | mmmm cake |
| 03:27:37 | | raptor Quit (Ping timeout: 265 seconds) |
| 03:33:25 | | raptor has joined |
| 03:33:25 | | ChanServ sets mode +o raptor |
| 04:08:39 | raptor | sam686: do you have any experience with openVPN? |
| 04:10:34 | sam686 | i have no idea what openVPN is (maybe a little) and never used it.. |
| 04:14:30 | | Heyub|2 Quit (Ping timeout: 246 seconds) |
| 04:28:35 | | raptor Quit (Ping timeout: 276 seconds) |
| 04:51:43 | | raptor has joined |
| 04:51:44 | | ChanServ sets mode +o raptor |
| 05:02:34 | raptor | ok, i should do something... |
| 05:02:48 | raptor | actually it's already 11.. |
| 05:02:55 | sam686 | you can do this: sleep |
| 05:03:00 | raptor | haha, ok |
| 05:03:03 | raptor | good night! |
| 05:03:06 | sam686 | night |
| 05:03:09 | | raptor Quit () |
| 05:07:42 | | sam686 Quit (Ping timeout: 246 seconds) |
| 06:58:20 | | kodaws has joined |
| 07:41:38 | | kodabbws has joined |
| 07:42:13 | | watusimoto has joined |
| 07:42:13 | | ChanServ sets mode +o watusimoto |
| 07:45:12 | | kodaws Quit (Ping timeout: 246 seconds) |
| 08:11:52 | | kodabbws Quit (Quit: i hate you *cries away*) |
| 08:12:22 | | kodaws has joined |
| 08:39:13 | | kodaws Quit (Read error: Connection reset by peer) |
| 08:42:30 | | kodaws has joined |
| 09:17:54 | | Watusimoto_ has joined |
| 10:13:15 | | Watusimoto_ Quit (Ping timeout: 246 seconds) |
| 12:10:51 | | kodaws Quit (Ping timeout: 246 seconds) |
| 13:07:25 | | Watusimoto_ has joined |
| 13:52:49 | | Watusimoto_ Quit (Ping timeout: 250 seconds) |
| 13:54:45 | | IAmBeard has joined |
| 14:06:33 | | Watusimoto_ has joined |
| 14:24:12 | | Watusimoto_ Quit (Ping timeout: 246 seconds) |
| 14:25:14 | | Heyub has joined |
| 14:29:31 | | kodaws has joined |
| 14:59:07 | | raptor has joined |
| 14:59:07 | | ChanServ sets mode +o raptor |
| 15:16:32 | raptor | good day! |
| 15:42:18 | IAmBeard | g'morning |
| 15:42:25 | IAmBeard | well, almost noon now I guess |
| 16:28:21 | IAmBeard | raptor / watusimoto http://bitfighter.org/forums/viewtopic.php?f=6&t=1469 |
| 16:31:47 | | kodaws Quit (Ping timeout: 252 seconds) |
| 16:38:24 | Heyub | Reminds me of maps on the Q3 engine. |
| 16:39:09 | raptor | IAmBeard: it isn't impossible to add anything we want to the level format |
| 16:39:40 | IAmBeard | but, scripting would be awkward, and adding image/sounds would be nearly impossible |
| 16:39:45 | IAmBeard | at least in plaintext |
| 16:39:53 | raptor | yes, media resources are impossible |
| 16:40:00 | raptor | but other settings - no problem |
| 16:40:50 | IAmBeard | other settings could definitely be added in, like defining textures, and possibly some sound effect stuff |
| 16:40:59 | raptor | we don't use textures |
| 16:41:04 | raptor | vector graphics! |
| 16:41:19 | raptor | sound stuff, though... |
| 16:41:27 | raptor | let me find the old thread that you should read... |
| 16:42:27 | | sam686 has joined |
| 16:42:27 | | ChanServ sets mode +v sam686 |
| 16:46:28 | raptor | argh i can't find the old threads that talked about level packs |
| 16:50:15 | Heyub | Whats the advantage of vector graphics? Less memory? Or is it jost a novelty thing :) |
| 16:50:34 | raptor | it's the chosen flavor |
| 16:50:38 | raptor | (novelty) |
| 16:50:56 | raptor | probably has memory advantages |
| 16:51:24 | Heyub | Yeah, some pictures I make can be up to 5mb |
| 16:52:23 | raptor | ok, i'm re-indexing the search... |
| 16:52:56 | raptor | because i hate the 'too common words' setting |
| 16:53:35 | | watusimoto Quit (Ping timeout: 260 seconds) |
| 16:54:35 | raptor | yay, better searching |
| 16:54:56 | raptor | IAmBeard: here is one of them: http://bitfighter.org/forums/viewtopic.php?f=4&t=369&p=2668 |
| 16:55:04 | raptor | wait |
| 16:55:08 | raptor | no it's not... |
| 16:55:20 | raptor | bah! |
| 16:56:48 | IAmBeard | http://bitfighter.org/forums/viewtopic.php?f=6&t=438&p=3191&hilit=pack#p3187 |
| 16:57:01 | raptor | i am so blind |
| 16:57:15 | raptor | yes, that's it |
| 16:57:54 | IAmBeard | :P |
| 16:59:05 | IAmBeard | the levelpack directive would be a super good idea |
| 17:07:31 | | Watusimoto has joined |
| 17:08:50 | raptor | i need a knew online pseudonym... |
| 17:08:59 | raptor | 'raptor' is already taken in most things |
| 17:09:09 | raptor | and on most websites |
| 17:10:21 | Watusimoto | hi |
| 17:10:41 | raptor | if we want level packs: we'd have to do client-side level caching as per wontfix issue: http://code.google.com/p/bitfighter/issues/detail?id=32 |
| 17:10:48 | raptor | hi Watusimoto |
| 17:10:52 | Watusimoto | tonight we will learn if luaWrapper inheritance works as desired |
| 17:11:14 | raptor | oh boy oh boy |
| 17:11:36 | Watusimoto | I'm pretty sure it does, which will make the code clearer and more maintainable |
| 17:11:55 | Watusimoto | why would ne need caching with level packs? |
| 17:12:30 | raptor | if level packs were to contain resources like music/soundeffects |
| 17:12:47 | raptor | we'd need a way for the server to transmit the resources and have the client cache them |
| 17:12:55 | Watusimoto | If we go that route, we lose the "modularity" of having one script usable in several levels |
| 17:13:01 | raptor | yep |
| 17:13:12 | IAmBeard | well, not necessarily |
| 17:13:22 | raptor | just continuing a topic that IAmBeard brought up |
| 17:13:32 | Watusimoto | yes |
| 17:13:38 | Watusimoto | it started lastnight at bedtime |
| 17:13:38 | IAmBeard | level packs could reference "default" scripts |
| 17:13:53 | IAmBeard | that thus wouldn't even have to be included in the pack |
| 17:13:58 | Watusimoto | or maybe scripts that aren't in the levelpack |
| 17:14:22 | raptor | sooo... is it sad that preprocessor macros work better than templates? |
| 17:14:24 | Watusimoto | I would like to find a way to combine levels and levelgen code into a single file |
| 17:14:27 | raptor | i think it's sad |
| 17:14:35 | Watusimoto | is it true? |
| 17:14:39 | IAmBeard | we could add a function like find_level_script( "scriptname.lua", "some author", "some.version" ) |
| 17:14:55 | IAmBeard | goes through default scripts, plus searches cached from the server |
| 17:15:07 | Watusimoto | we already have a find function that works off of filename only |
| 17:15:21 | Watusimoto | we'd need a way to tag resources |
| 17:15:27 | IAmBeard | the only reason i suggest adding author and version is to avoid conflicts |
| 17:15:32 | Watusimoto | of course |
| 17:15:44 | Watusimoto | you could jam all that into a filename |
| 17:16:03 | Watusimoto | mazegen_01_watusimoto.lua |
| 17:16:08 | Watusimoto | or something |
| 17:16:18 | Watusimoto | filenames are nice because you don't need to read the files themselves |
| 17:16:21 | IAmBeard | it's true, but then we'd have to rely on the person making the script to know the file name format |
| 17:16:31 | IAmBeard | but it's not a bad idea |
| 17:16:46 | Watusimoto | they'd have to know the tagging format in any event |
| 17:16:56 | Watusimoto | whether inside or outside the file |
| 17:17:09 | IAmBeard | but we could force it through API in the script, where it's a little harder to police it in filenames |
| 17:17:23 | Watusimoto | but the naming convention could just be convnetion, and all we care about is that the name is unique |
| 17:18:32 | IAmBeard | so it may be worth-while to add some sort of lua script importer in the game and you give it the script name, author and version, and it automatically validates it |
| 17:18:38 | IAmBeard | and renames it appropriately |
| 17:18:59 | Watusimoto | that might work |
| 17:19:19 | raptor | q |
| 17:19:22 | raptor | oop |
| 17:19:44 | sam686 | back to the "q" problem like back in the linux GLUT days? |
| 17:20:16 | sam686 | as in, pressing shift types "q", a problem raptor had in GLUT |
| 17:21:13 | raptor | oh yeah... haha |
| 17:21:36 | raptor | Watusimoto: combo: http://pastie.org/3854869 |
| 17:21:45 | raptor | we'd just need to add another GOTO! :) |
| 17:22:20 | raptor | we keep getting closer and closer to creating our own markup language... |
| 17:22:32 | sam686 | maybe combining level and scripts together in text file might allow /getmap and uploading level with scripts.. |
| 17:22:50 | raptor | yes - and allow instant crashing of Bitfighter sam686 server :) |
| 17:22:58 | raptor | oooo, exploits that would be possible... |
| 17:24:52 | sam686 | as as for my "bitfighter sam686" i sort of need to take some time fixing that server (mostly moving to different server, one of zoomber's old server (and company) is gone) |
| 17:26:37 | sam686 | i will need to go, see you later |
| 17:27:39 | raptor | bye |
| 17:27:45 | | sam686 has left |
| 17:28:26 | Watusimoto | bye |
| 17:28:31 | Watusimoto | we could do it with perl -x |
| 17:28:37 | Watusimoto | if only lua had the option! |
| 17:30:50 | IAmBeard | as a note, with the batch of my changes, I may write a lexer to deal with our map parsing, which may work out well for us down the road |
| 17:31:01 | IAmBeard | anywho, my dog needs to poop |
| 17:31:50 | raptor | Watusimoto: found the reverse: http://lua-users.org/wiki/InlineCee |
| 17:36:05 | Watusimoto | interesting.... throw in some pointers, and you're off and running on the user's machine! |
| 18:00:42 | Watusimoto | first tests are positive |
| 18:00:49 | raptor | i think amgine acurately pulled out all the problems with s_bot... |
| 18:01:02 | Watusimoto | yes |
| 18:01:02 | raptor | tests? |
| 18:01:15 | Watusimoto | of luaw inheritance |
| 18:01:24 | Watusimoto | I think this is going to work |
| 18:01:59 | Watusimoto | so we'll have inheritance, and a partially automated proxy system that doesn't require extra classes |
| 18:02:10 | Watusimoto | those are pretty close to my wish list |
| 18:02:11 | raptor | yay! |
| 18:02:39 | raptor | will we need to add the three macros for each class we want to Lua-ize? |
| 18:02:53 | raptor | and that's it? |
| 18:02:54 | Watusimoto | yes, i think so |
| 18:03:08 | Watusimoto | lua code, and a list of methods |
| 18:03:23 | Watusimoto | if the class uses only inherited methods (like testitem), that will be an empty list |
| 18:03:34 | Watusimoto | maybe I can simplify that requirement a little |
| 18:03:42 | Watusimoto | by providing a default empty list or something |
| 18:04:22 | Watusimoto | still looking for ways to simplify the implementatino further |
| 18:04:47 | Watusimoto | and we have a totally different use case yet to be tested that won't need proxies |
| 18:05:03 | Watusimoto | we'll see if they interfere or are just a little overhead |
| 18:05:47 | raptor | which use case? |
| 18:05:59 | Watusimoto | I also want to go through s_bot and create c functionality for as many parts as we can |
| 18:06:13 | Watusimoto | especially those that pass lots of objects back to lua |
| 18:06:22 | Watusimoto | (like the find functions) |
| 18:06:24 | raptor | yes - i recently went through s_bot - there is some hefty stuff in there |
| 18:06:41 | Watusimoto | the lua case is the menu creation for editor plugins |
| 18:07:15 | Watusimoto | well, and anything at all in the editor, really |
| 18:07:46 | Watusimoto | also want to test luaW's constructor system -- would be nice to create new items from scratch using OO techniques in the editor |
| 18:07:53 | Watusimoto | without creating levelcode |
| 18:08:13 | Watusimoto | we'll probably want that with triggers and such |
| 18:08:16 | raptor | explain 'new items' |
| 18:08:23 | raptor | oh, spontaneous walls |
| 18:08:35 | raptor | ok |
| 18:08:37 | Watusimoto | I foresee replacing asteroid spawns with scripted objects |
| 18:08:39 | Watusimoto | so yes |
| 18:09:34 | Watusimoto | maaaybe the editor can create items with an associated blob of lua code |
| 18:10:14 | Watusimoto | like you place an asteroid spawn, and it creates a marker and inserts an onTimer() event in the level file |
| 18:10:23 | Watusimoto | that you can go tweak manually if you like |
| 18:10:29 | raptor | interesting |
| 18:10:36 | raptor | that's several layers deep... |
| 18:10:40 | Watusimoto | yes |
| 18:11:08 | Watusimoto | not doing that tonight! |
| 18:11:41 | Watusimoto | but then we can add new items to the editor that are essentially prescripted event handlers |
| 18:12:10 | Watusimoto | to spare the youngus the horrors of coding |
| 18:12:29 | raptor | haha |
| 18:12:57 | Watusimoto | but there are lots of bridges to cross before that one |
| 18:13:22 | Watusimoto | if we fully convert to luaW and are rid of lunar, I'll be happy |
| 18:13:29 | raptor | bridges to build |
| 18:13:38 | Watusimoto | or burn |
| 18:14:17 | Watusimoto | going to make dinner; I'll leave you with this (almost) working snippet: |
| 18:14:18 | Watusimoto | //// Lua Interface |
| 18:14:20 | Watusimoto | static S32 isInCaptureZoneWrapper(lua_State *L) { return luaW_doMethod<ResourceItem>(&ResourceItem::isInCaptureZone, L); } |
| 18:14:20 | Watusimoto | static S32 isOnShipWrapper(lua_State *L) { return luaW_doMethod<ResourceItem>(&ResourceItem::isOnShip, L); } |
| 18:14:20 | Watusimoto | static S32 getShipWrapper(lua_State *L) { return luaW_doMethod<ResourceItem>(&ResourceItem::getShip, L); } |
| 18:14:20 | Watusimoto | / Inherits all MoveItem methods, and has a few of its own |
| 18:14:20 | Watusimoto | const luaL_reg ResourceItem::luaMethods[] = |
| 18:14:22 | Watusimoto | { |
| 18:14:24 | Watusimoto | { "isInCaptureZone", isInCaptureZoneWrapper }, |
| 18:14:26 | Watusimoto | { "isOnShip", isOnShipWrapper }, |
| 18:14:28 | Watusimoto | { "getShip", getShipWrapper }, |
| 18:14:31 | Watusimoto | { NULL, NULL } |
| 18:14:33 | Watusimoto | }; |
| 18:15:04 | Watusimoto | defines 3 resource item methods, and handles all proxying issues and returns the result of the appropriate method variable |
| 18:15:32 | Watusimoto | may be able to prettify that a little more |
| 18:15:42 | raptor | not a boolean? |
| 18:15:48 | Watusimoto | ?? |
| 18:15:57 | raptor | S32 isInCapture... |
| 18:16:13 | Watusimoto | it's a boolean, but returns the number of items placed on the stack for lua to read |
| 18:16:22 | Watusimoto | in this case will put the boolean on the stack and return 1 |
| 18:16:45 | raptor | ohh... ok |
| 18:16:52 | raptor | so you'd call that from the script |
| 18:16:55 | raptor | ok |
| 18:16:56 | Watusimoto | just how lua works |
| 18:16:57 | raptor | makes sense |
| 18:17:07 | raptor | i was looking at it backwards.. |
| 18:17:18 | Watusimoto | lua unwinds that and puts it in variables in the script as you would expect |
| 18:19:18 | raptor | so what did you think of my sentinel bot? |
| 18:19:25 | raptor | oh wait... dinner, nevermind |
| 18:19:38 | raptor | i thing we need to put orbiting code in c++ |
| 18:19:56 | raptor | Robot::orbit(Point point) |
| 18:20:50 | raptor | and lunch for me! |
| 18:46:50 | | Watusimoto Quit (Ping timeout: 252 seconds) |
| 18:55:48 | | Heyub Quit (Read error: Connection reset by peer) |
| 18:58:23 | | Heyub has joined |
| 19:03:16 | | BlackBird_ has joined |
| 19:03:31 | BlackBird_ | helloooooo |
| 19:03:40 | raptor | howdy |
| 19:04:05 | BlackBird_ | greetings and felicitations |
| 19:08:22 | raptor | oooo big word |
| 19:09:04 | BlackBird_ | hip-hip hoorah |
| 19:09:27 | | BlackBird_ Quit (Quit: Page closed) |
| 19:31:01 | | Watusimoto has joined |
| 20:02:26 | raptor | Watusimoto: idea |
| 20:02:45 | raptor | should we give dedicated servers the option to disallow 'punch-through' connections? |
| 20:11:44 | raptor | or does a password protect against that enough? |
| 20:18:22 | Watusimoto | what woudl the point of that be? |
| 20:21:16 | | BFLogBot - Commit e81d28b699b0 | Author: watusim...@bitfighter.org | Log: One possible solution to reduce duplicate code |
| 20:21:17 | | BFLogBot - Commit 1f45fbfb3ab8 | Author: watusim...@bitfighter.org | Log: Inheritance working with LuaW, all classis in MoveObject are now wrapped |
| 20:21:19 | | BFLogBot - Commit 1ea6b549f409 | Author: watusim...@bitfighter.org | Log: mmm... not sure exactly. |
| 20:34:25 | raptor | exactly - i was just thinking that i'd want to keep me out of a private LAN game (because I just joined one) |
| 20:34:31 | raptor | but that is what a password is for... |
| 20:38:58 | raptor | well, it still compiles.. |
| 20:42:46 | Watusimoto | yes -- no reason |
| 20:49:21 | | sam686 has joined |
| 20:49:21 | | ChanServ sets mode +v sam686 |
| 21:06:15 | Watusimoto | ok, tried a couple of optimizations that didn't quite work |
| 21:06:22 | Watusimoto | will press on in the morning |
| 21:06:27 | | BFLogBot - Commit e4761773ef09 | Author: watusim...@bitfighter.org | Log: Rename constants |
| 21:06:28 | | BFLogBot - Commit 49e6a8b9e224 | Author: watusim...@bitfighter.org | Log: I know I made this change recently... here goes again... no script caching in test mode |
| 21:06:47 | Watusimoto | good night |
| 21:06:52 | raptor | night |
| 21:13:45 | | Watusimoto Quit (Ping timeout: 260 seconds) |
| 23:05:34 | | raptor Quit () |
| 23:49:27 | | sam686 Quit (Read error: Connection reset by peer) |