Timestamps are in GMT/BST.
| 00:02:34 | | HylianSavior Quit (Quit: Leaving) |
| 00:02:39 | raptor | kaen: you still around? |
| 00:02:50 | kaen | yep |
| 00:02:55 | raptor | ok question |
| 00:03:07 | raptor | about class inheritance and the diamond problem, etc... |
| 00:03:39 | raptor | so say I want Teleporter, Ship, etc. to inherit from a class called HealthObject |
| 00:04:35 | raptor | then when I call repair, I search for HealthObjects, cast, and repair - should I avoid making HealthObject part of BfObject? (and avoid the diamond problem) |
| 00:05:17 | raptor | I'm thinking yes |
| 00:05:25 | raptor | diamonds are evil, it seems |
| 00:05:46 | kaen | yeah, I know of no clean way to solve the diamond problem |
| 00:05:55 | kaen | what does healthobject inherit from? |
| 00:05:55 | raptor | but if so, what would be a good way to be able to avoid a dynamic cast as HealthObject since we do object search by BfObject? |
| 00:06:07 | raptor | it would probably be nothing, like Engineerable |
| 00:06:38 | kaen | oh, so where is the diamond? sounds like you're just talking about a mixin |
| 00:07:02 | raptor | yeah, my first thought was to make it a diamond so I could cleaning static_cast |
| 00:07:06 | raptor | *cleanly |
| 00:07:08 | raptor | but |
| 00:07:17 | raptor | I guess ultimately I want a nice clean OO way to abstract a lot of the garbage I'm seeing with health stuff |
| 00:08:22 | kaen | well ideally you'd be able to put HealthObject somewhere in the chain above things with health but below things without |
| 00:08:52 | kaen | I'm sensing that might not be possible because BF's class tree is bonkers |
| 00:08:54 | raptor | yes, but they don't group nicely - turret, ship, teleporter |
| 00:08:59 | raptor | correct |
| 00:10:07 | | HylianSavior has joined |
| 00:10:16 | kaen | taking a look real quick |
| 00:10:27 | raptor | http://bitfighter.org/~raptor/doxygen/current/class_zap_1_1_item.html |
| 00:10:32 | raptor | the tree scares me |
| 00:10:34 | kaen | oh, nice |
| 00:10:35 | raptor | it doesn't fit |
| 00:10:40 | kaen | I was using the luadocs one |
| 00:10:52 | raptor | actually, I should update that... |
| 00:11:49 | raptor | so what I did with Engineerable is just made it a 'mixin' (is that what you called it?), basically just another object to inherit from |
| 00:12:06 | raptor | but I can't guarantee a clean static_cast to an Engineerable |
| 00:12:16 | raptor | since it isn't in our normal object chain |
| 00:12:36 | raptor | and I want to avoid the same thing with Healthable (or whatever) |
| 00:13:02 | kaen | ok |
| 00:13:04 | raptor | I'm a little weak on what *good* design should be here... |
| 00:13:16 | kaen | well, this tree is just seriously bonkers |
| 00:13:25 | kaen | so yes, you'll need a mixin |
| 00:13:31 | kaen | oh sorry dude gotta go |
| 00:13:37 | kaen | really sorry back in the morning |
| 00:13:46 | raptor | ok |
| 00:13:49 | raptor | night! |
| 00:13:49 | kaen | oops nevermind |
| 00:13:54 | raptor | welcome back! |
| 00:13:55 | kaen | thought the girlfriend was crying |
| 00:14:03 | kaen | she was giggling softly :P |
| 00:14:10 | raptor | false alarm |
| 00:14:16 | kaen | :) |
| 00:14:18 | kaen | so anyway |
| 00:14:20 | raptor | so i guess |
| 00:14:26 | kaen | there is definitely no clean solution here |
| 00:14:39 | kaen | clean in the c++ sense anyway |
| 00:14:50 | raptor | we have this crazy object tree, and there are several mixins - what is a good pattern to be able to cleanly cast around? |
| 00:14:54 | raptor | yeah... |
| 00:15:18 | kaen | you can use a mixin though, and that will let you dynamic_cast to test for healable things |
| 00:15:23 | kaen | what are the other mixins? |
| 00:15:34 | raptor | I think only Engineerable |
| 00:15:46 | kaen | ok, I don't think that's a mixin proper |
| 00:15:54 | kaen | because it appears to inherit from Item |
| 00:15:55 | raptor | not engineereditem |
| 00:15:59 | kaen | oh wait |
| 00:16:00 | raptor | Engineerable |
| 00:16:03 | kaen | yeah that's right |
| 00:17:22 | kaen | a repairable mixin sounds alright, have you had problems casting around with engineerable? |
| 00:17:30 | raptor | nope |
| 00:17:50 | kaen | ok, then I'd say repairable is alright, semantically it's the best fit for our tree |
| 00:17:52 | raptor | only one place it was needed and that was with deploying an object, so not performance intensive |
| 00:18:17 | kaen | since we have things all over the place that need the functionality |
| 00:18:37 | raptor | but this is a little more performance intensive (database search + cast every tick repair module is fired) |
| 00:18:51 | kaen | oh man that's right |
| 00:19:01 | raptor | so... how to avoid a dynamic_cast |
| 00:19:12 | raptor | because, honestly, dynamic_cast is perfect for this situation |
| 00:19:21 | raptor | functionally-speaking |
| 00:19:54 | raptor | but not so great since it's in a performance-needed spot |
| 00:21:51 | raptor | maybe an 'isRepairable' method on BfObject |
| 00:22:00 | raptor | hmm, that seems messy |
| 00:26:02 | kaen | I wish gridDB was set up with like a type-binning system |
| 00:26:23 | kaen | because *that* would be perfect for this (and a ton of other things) |
| 00:26:25 | raptor | as opposed to location? |
| 00:26:30 | kaen | in addition to location |
| 00:26:35 | raptor | hmm |
| 00:26:52 | kaen | like when you insert an object into the db, it bins it with RTTI or something |
| 00:27:01 | kaen | or a templatized insert function |
| 00:27:19 | kaen | with some templatized container mechanism |
| 00:27:27 | kaen | anyway I don't know if that's on-topic |
| 00:27:36 | raptor | hmmmm |
| 00:27:42 | raptor | sure it is |
| 00:28:05 | raptor | i've actually given thought to coupling object-type with location in the griddb to allow per-object searching |
| 00:28:25 | raptor | (somehow) |
| 00:28:28 | kaen | ok, false alarm turned true |
| 00:28:33 | kaen | talk to you tomorrow |
| 00:28:36 | raptor | n ight! |
| 00:38:07 | | raptor Quit () |
| 00:50:49 | | Darrel has joined |
| 01:09:34 | | HylianSavior Quit (Read error: Connection reset by peer) |
| 01:13:01 | | Platskies has joined |
| 01:22:15 | | Platskies Quit (Quit: Sleep time…) |
| 01:22:51 | | Platskies has joined |
| 01:34:37 | | watusimoto has joined |
| 01:34:37 | | ChanServ sets mode +o |
| 01:54:29 | | Skybax Quit (Ping timeout: 272 seconds) |
| 01:55:45 | | Platskies Quit (Quit: Sleep time…) |
| 02:20:33 | | Platskies has joined |
| 02:30:24 | | Nothing_Much Quit (Ping timeout: 248 seconds) |
| 02:34:12 | | Nothing_Much has joined |
| 03:34:09 | | Platskies Quit (Quit: Sleep time…) |
| 04:16:32 | | Invisible1 has joined |
| 04:50:45 | | Platskies has joined |
| 05:07:56 | | Invisible1 Quit (Ping timeout: 272 seconds) |
| 07:03:10 | | Platskies Quit (Quit: Platskies) |
| 07:15:50 | | Invisible1 has joined |
| 07:16:15 | | Watusimoto_ has joined |
| 07:23:38 | kaen | clang taught me a new word |
| 07:23:41 | kaen | "autological" |
| 07:24:03 | kaen | it calls S32/U32 comparison an "autological compare" |
| 07:27:26 | kaen | oh wait, it's when checking if an unsigned enum >= 0 |
| 08:16:12 | | Invisible1 Quit (Ping timeout: 260 seconds) |
| 08:17:01 | | Watusimoto_ Quit (Ping timeout: 272 seconds) |
| 08:47:32 | | LordDVG has joined |
| 09:51:58 | | Invisible1 has joined |
| 09:54:31 | | Watusimoto_ has joined |
| 10:00:08 | | raptor has joined |
| 10:00:08 | | ChanServ sets mode +o |
| 10:00:45 | raptor | autoillogical! |
| 10:02:30 | | raptor_ has joined |
| 10:02:30 | | raptor Quit (Disconnected by services) |
| 10:02:33 | | raptor_ is now known as raptor |
| 10:02:37 | | raptor Quit (Changing host) |
| 10:02:37 | | raptor has joined |
| 10:02:37 | | ChanServ sets mode +o |
| 10:16:24 | raptor | good morning! |
| 10:18:58 | | HylianSavior has joined |
| 10:21:43 | raptor | hi watusimoto |
| 10:21:59 | raptor | I have a c++ architectural question for you when you have a moment - |
| 10:22:07 | raptor | (was discussing this with kaen a bit last night) |
| 10:23:13 | raptor | I want to pull out the health-related data for the various objects that have health into a parent class/interface; however, it would not fit into our object hierarch verywell |
| 10:23:51 | raptor | e.g. Ship, Core, Teleporter, etc. would inherit from HealthObject (or whatever) |
| 10:24:17 | raptor | but HealthObject cannot possible fit into our current structure without introducing diamond relationships |
| 10:25:04 | raptor | but, if I were to keep it separate (like Engineerable) then I don't have a clean way to static_cast<HealthObject> after a database search, since database searches are on BfObject |
| 10:25:11 | raptor | so, what to do? |
| 10:28:22 | watusimoto | hi |
| 10:28:38 | raptor | hello |
| 10:28:50 | watusimoto | so a health object is an object that has heath? |
| 10:28:54 | watusimoto | whjy do you want to do that? |
| 10:29:24 | raptor | because right now there is repair logic expecting an Item* of which teleporter is not |
| 10:29:30 | watusimoto | ah |
| 10:29:46 | raptor | and there are a lot of things like 'mHealth' 'getRepairPoints()' etc. that are strewn about the code |
| 10:29:59 | raptor | and I'd thought I'd bring a little order to the chaos |
| 10:30:21 | watusimoto | and you need to be able to cast to a healthObject? |
| 10:30:36 | watusimoto | (probably better called DamagableObject) |
| 10:30:41 | raptor | sure |
| 10:30:59 | watusimoto | how do we cast to engineerable? |
| 10:31:03 | raptor | yes, if go this route (consolidate the health junk into a parent calss) |
| 10:31:18 | raptor | dynamic_cast, but it is only used upon engineering an item |
| 10:31:36 | watusimoto | could you do the same here? |
| 10:31:37 | raptor | this will require casting with a database search in every tick that the repair module is on |
| 10:31:47 | raptor | yes, i can, but I don't want to |
| 10:31:56 | watusimoto | you can prejudge success with our typenumbers |
| 10:32:03 | watusimoto | and thus only cast when it will work |
| 10:32:16 | watusimoto | perhaps even using a static cast |
| 10:32:24 | watusimoto | with a dynamic_cast inside an assert |
| 10:32:44 | raptor | ok, that was one idea - have a search method isDamageableType, with ... yes |
| 10:33:30 | watusimoto | another approach might be to have a health object that monitors stuff like health; every bfobject would have a slot for it; a testitem would have a null healthobject, a ship would have a non-null one |
| 10:33:36 | raptor | then I just have to guarantee that isDamageableType always matches the classes that are children of DamageableObject |
| 10:34:00 | watusimoto | yes -- we might be able to come up with some fancy way to auto-maintain that |
| 10:34:11 | watusimoto | which we could use for other object types as well |
| 10:34:17 | raptor | ok, i'm not sure how... but that would be nice |
| 10:34:38 | raptor | these are murky waters for me... this object hierarchy stuff |
| 10:34:50 | watusimoto | alternatively, bfobject could have a hasHealth() method that returns true for health objects, false otherwise |
| 10:35:05 | raptor | yes, that was another idea I had, too... |
| 10:35:08 | raptor | I guess |
| 10:35:21 | watusimoto | so I see two major approaches, with a couple fo variants |
| 10:35:23 | raptor | my current c++ class is getting me to think about what's 'right' or 'proper' |
| 10:35:37 | watusimoto | 1) follow the engineerable approach, with a mixin class |
| 10:36:15 | watusimoto | 2) add a healthManager object (a pointer, so it can be null) following the composite pattern (I think) |
| 10:36:54 | raptor | your #2 seems more complex than I want |
| 10:36:59 | watusimoto | if 1) then you have to choose how to idenfity health objects: a) hasHealth() b) isHealthType c)dynamic cast/NULL check |
| 10:37:07 | raptor | but that's how you did geomObjects, right? |
| 10:37:16 | watusimoto | yes, and it really worked great there |
| 10:37:23 | watusimoto | it seems a less good fit here |
| 10:37:28 | raptor | but it's really hard to debug.. |
| 10:37:32 | watusimoto | I think I'd go with 1) |
| 10:38:00 | raptor | ok, me too |
| 10:38:15 | watusimoto | the geom worked well because every object has ageometry, but there are several different sorts, and we could create a common interface to all of them |
| 10:38:32 | raptor | and I like the idea of the isHealthType, but i'm not sure how to auto-maintain that list |
| 10:38:48 | raptor | i wish to avoid dynamic_cast |
| 10:39:11 | watusimoto | perhaps classes could register themselves somehow, or maybe I could come up with an xmacro! |
| 10:39:38 | raptor | hmm... self-registration... |
| 10:39:56 | watusimoto | go ahead and hand code the list for now, and we can think about it. We could apply a good solution to a number of cases |
| 10:40:09 | watusimoto | it's not like this would change very often |
| 10:40:10 | raptor | oh yes |
| 10:40:15 | raptor | right |
| 10:40:27 | watusimoto | and when you do the static cast, do a dynamic cast in an assertion as a further check |
| 10:40:37 | raptor | yes, I plan on that |
| 10:41:14 | watusimoto | I found a bug in the string wrapping code |
| 10:41:36 | watusimoto | I mostly fixed it, but man is that stuff painful |
| 10:41:58 | raptor | string wrapping? |
| 10:42:19 | watusimoto | I think it's in renderutils... well, don't worry about it, I'll take care of it |
| 10:42:28 | watusimoto | it was a minor bug that caused me major pain |
| 10:42:30 | raptor | ah, those type of strings |
| 10:42:46 | watusimoto | not the bug itself, but the fixing of the bug |
| 10:42:51 | raptor | was it openGL related? |
| 10:42:57 | watusimoto | in retrospect, I should have just let it go |
| 10:43:02 | watusimoto | but it's too late now |
| 10:43:07 | watusimoto | no |
| 10:43:20 | watusimoto | it was an off-by-one problem |
| 10:43:45 | watusimoto | the thing is without at test (which I wrote for a different purpose) you wouldn't have noticed it |
| 10:44:26 | watusimoto | it was minor |
| 10:44:38 | raptor | interesting |
| 10:44:55 | watusimoto | in hs I had to write a word wrapping algo for a programming class |
| 10:45:04 | watusimoto | I remember it as one of the most painful things I did in hs |
| 10:45:21 | watusimoto | so working on this felt like salt in an old wound |
| 10:47:27 | raptor | aww sad |
| 10:50:25 | raptor | all those many hours fighting with char* |
| 10:54:19 | | Nothing_Much Quit (Quit: bleep) |
| 10:55:04 | raptor | I'm beginning to think we should have an EngineeredTeleporter/Turret/ForceFieldProjector subclass... |
| 10:56:54 | | Nothing_Much has joined |
| 10:58:26 | | Invisible1 Quit (Ping timeout: 268 seconds) |
| 11:02:35 | | Watusimoto_ Quit (Ping timeout: 272 seconds) |
| 11:04:14 | watusimoto | we can discuss this later... I have to run! |
| 11:05:41 | | thread_ has joined |
| 11:08:34 | | watusimoto Quit (Ping timeout: 240 seconds) |
| 11:17:07 | | LordDVG Quit (Remote host closed the connection) |
| 11:28:28 | kaen | woo! |
| 11:28:28 | kaen | it compiles |
| 11:31:17 | thread_ | \o/ |
| 11:31:49 | raptor | but does it link? |
| 11:31:50 | raptor | :) |
| 11:32:19 | kaen | hehe |
| 11:32:22 | kaen | it links too |
| 11:32:28 | kaen | but it does not function properly just yet |
| 11:33:53 | thread_ | That's only because you expect it to function differently. |
| 11:34:29 | kaen | :) |
| 11:35:44 | kaen | hacking on TNL::Vector is pretty painful though |
| 11:36:03 | kaen | between the template error messages and the fact that every change means a full recompile |
| 11:36:13 | kaen | unless I get lucky and hit an error building TNL itself |
| 11:36:15 | raptor | yep! it was so painful |
| 11:36:44 | raptor | what I did was was make a dummy class that i could compile and link against TNL only |
| 11:36:49 | kaen | ahh good idea |
| 11:36:56 | raptor | that tested some basic Vector stuff |
| 11:37:08 | kaen | but actually I'm hitting problems with the boost::geom adapter |
| 11:37:14 | kaen | the Zap-specific stuff works fine |
| 11:37:29 | kaen | oh, and vector<bool> is giving me guff sometimes too |
| 11:38:40 | kaen | boost::polygon, rather |
| 11:38:58 | kaen | raptor, have you ever done any this concept/traits garbage that boost loves? |
| 11:39:16 | kaen | this is my first tangling with it, and I started out hating it but now I think I love it |
| 11:39:18 | raptor | no |
| 11:39:30 | kaen | well, you'll see what I mean after I check in |
| 11:39:44 | kaen | er, post the patch |
| 11:39:58 | kaen | (not to get ahead of myself) |
| 11:41:15 | raptor | so I'm curious, was a rewrite of TNL::Vector needed? There was a method that gave the inner std::vector, getStlVector() or something |
| 11:42:21 | kaen | not strictly, but that's how it probably should have been done in the first place, and it greatly simplifies the adapter code for boost::polygon |
| 11:43:26 | kaen | otherwise I would have to reimplement the polygon and polygon_set interfaces to pull out std::vectors as you mentioned |
| 11:43:35 | raptor | but you'll have to handle Vector<bool> differently than just sending it to std::vector<bool> |
| 11:44:09 | kaen | sure, we can just use an explicit instantiation and reuse the bool methods that are already there |
| 11:44:23 | raptor | ok |
| 11:44:33 | raptor | i just remember all the templating nonsense drove me crazy |
| 11:44:42 | kaen | I've been curious, where do we use Vector<bool> ? |
| 11:44:50 | kaen | is it really performance critical? |
| 11:45:01 | raptor | good question |
| 11:45:13 | raptor | in the editor |
| 11:45:21 | raptor | and with Geometry class |
| 11:45:32 | raptor | which... has to do with the editor |
| 11:45:39 | raptor | and yes, performance is important with it |
| 11:46:04 | raptor | and using a deque<bool> (which I think isn't broke when compared to vector<bool>) didn't work for some reason |
| 11:47:16 | kaen | grep gives me geometry stuff related to selected vertices, whether a team has a spawn point, and allowing endpoints to touch |
| 11:47:43 | kaen | anyway I'll still do the vector<bool> stuff, but really it doesn't seem like it's actually in a performance critical place |
| 11:48:11 | kaen | maybe you could argue that it is for selection, but that would be for very very large inputs |
| 11:48:31 | raptor | well TNL::Vector<bool> is much faster than std::vector<bool> |
| 11:48:38 | raptor | about 10 times faster, i think |
| 11:49:18 | raptor | and anything that is TNL::Vector should not take a performance hit, in my opinion |
| 11:49:18 | kaen | any idea why? |
| 11:49:21 | kaen | address alignment? |
| 11:49:22 | raptor | oh yes |
| 11:49:28 | raptor | vector<bool> is seriously broken |
| 11:49:35 | raptor | do you not know the history? |
| 11:49:40 | kaen | I guess not |
| 11:49:48 | raptor | it stores bools as bits, instead of actual bools |
| 11:49:55 | kaen | that was my guess |
| 11:50:10 | kaen | so yes, it sounds like address alignment |
| 11:50:16 | raptor | because, the early c++ developers made some really bad choices |
| 11:50:19 | kaen | and tnl vector just uses ints? |
| 11:50:22 | raptor | yep |
| 11:50:26 | kaen | ok |
| 11:50:35 | kaen | yeah, that's a really dumb call |
| 11:50:41 | raptor | vector<bool> is very broken and should never be used |
| 11:50:43 | kaen | but memory was probably more precious back then |
| 11:52:01 | kaen | sorry if I'm being pesky about this, but what if we just took it upon ourselves to use vector<int> ? |
| 11:52:30 | raptor | well the idea was to make coding easy - and to be able to use the type that fits the job best |
| 11:53:07 | raptor | so if you can translage TNL::Vector<bool> into std::vector<int>, that seems fine to me |
| 11:53:17 | raptor | which is what we do now anyways, i think |
| 11:57:18 | kaen | yeah, it's real simple |
| 11:57:37 | kaen | I'll just do Vector<bool> : public std::vector<int> |
| 11:57:53 | raptor | ok |
| 11:59:10 | kaen | this also lets me rip out a bunch of our forwarding methods |
| 12:08:10 | raptor | kaen: what do you think about making classes that are engineerable sub-classes of their object? like we'd have Turret and EngineeredTurret |
| 12:08:38 | raptor | I mean, we have Item -> EngineeredItem -> Turret (which is also a child of Engineerable) |
| 12:09:09 | raptor | maybe we need it to be a 'Structure' |
| 12:09:18 | raptor | hmm.. such a mess |
| 12:09:47 | kaen | my honest opinion is that you should do the simplest thing that will work |
| 12:09:57 | kaen | and that we should commit to restructuring the tree next release |
| 12:10:00 | raptor | look the other way! |
| 12:10:11 | raptor | hmm |
| 12:11:01 | kaen | and when it comes to that point, we should try to kill our mixins and have things properly grouped into branches |
| 12:11:57 | raptor | what do you mean by 'branches' ? |
| 12:13:00 | kaen | branches of the inheritance tree |
| 12:13:33 | kaen | pointobject, simpleline, barrier, and forcefield are all direct descendants of bfobject |
| 12:13:38 | kaen | that is irrefutably broken |
| 12:14:16 | raptor | hmm |
| 12:14:27 | kaen | we should have well-defined layers within our tree, and then have a sensible ontology of objects that abide by those layers |
| 12:14:43 | kaen | we also kind of got a bum rap from the Zap guys for using different classes for the object types |
| 12:14:49 | raptor | would we have multiple parents? |
| 12:14:56 | kaen | no, definitely not |
| 12:15:27 | raptor | because how could Teleporter and Turret possible be both BfObject and Engineerable in a single-parent tree? |
| 12:15:48 | raptor | one is SimpleLine, the other PointObject |
| 12:16:19 | kaen | well, they really don't need to be split up by their geometry |
| 12:16:39 | kaen | they could contain an object which handles the behaviors for that |
| 12:16:41 | raptor | do away with child-parent relationships via inheritance? |
| 12:17:34 | kaen | I think it's too much to ask to remove inheritance from the object type structure |
| 12:17:41 | raptor | so every BfObject would have a Repairable* object - but it would just be NULL for some? |
| 12:17:49 | kaen | no no |
| 12:18:08 | raptor | this is where a whiteboard would be handy.. |
| 12:18:11 | kaen | yeah... |
| 12:18:49 | kaen | but I mean remove these moveobject, moveitem, simpleline, etc. interfaces from the tree |
| 12:19:05 | kaen | try to keep it strictly limited to BfObjects and their groupings |
| 12:19:08 | raptor | ok I get that |
| 12:19:16 | kaen | using only "domain logic" ontology |
| 12:19:38 | kaen | like, these things are structures, these things are projectiles, etc. |
| 12:19:48 | raptor | then how to consolidate and provide MoveObject stuff to the objects that need it? |
| 12:19:59 | raptor | without using MoveObject as a separate parent? |
| 12:20:27 | kaen | the invariant of a bfobject is that it exists in the game world |
| 12:20:38 | kaen | so we could say there's some sort of movement/physics handler on every bfobject |
| 12:20:52 | kaen | we use composition instead of inheritance there, that alone will help us clean it up a ton |
| 12:21:06 | kaen | that same principle can probably be applied elsewhere |
| 12:21:48 | kaen | then we have a whole separate tree of movement handlers, and each object type uses the one it needs |
| 12:21:58 | kaen | regardless of its position in the BfObject tree |
| 12:22:14 | raptor | ok, that's sort of how watusimoto coded in GeomObject |
| 12:22:21 | kaen | then we let virtual dispatch handle the magic |
| 12:22:33 | raptor | any BfObject has a GeomObject* member |
| 12:22:42 | kaen | yes, exactly like that |
| 12:23:00 | raptor | hmm |
| 12:23:12 | kaen | so maybe a PhysicsObject |
| 12:23:26 | kaen | but let's not call it object, let's call it Handler |
| 12:23:26 | kaen | or Delegate |
| 12:23:58 | kaen | to make it clear that it handles behavior, rather than modeling a domain object |
| 12:24:10 | raptor | ok |
| 12:24:12 | kaen | we're getting super whiteboardy here... |
| 12:25:41 | raptor | ok, well, I think I need to let this stew for a bit in my head.. |
| 12:37:27 | kaen | go all the way to UILevelInfoDisplayer ... |
| 12:37:31 | kaen | almost there |
| 12:37:36 | kaen | got all the way* |
| 12:37:59 | raptor | heh |
| 12:39:00 | kaen | we have a lot of "autological comparisons" according to clang |
| 12:39:16 | kaen | i.e. comparisons which will always be true or false |
| 12:39:46 | kaen | I guess only three |
| 12:40:09 | kaen | one in stringutils and two in InputCode |
| 12:43:50 | raptor | so they show up a lot |
| 12:54:55 | kaen | WOOOOOOOOOOOOOOOOOOOOO |
| 12:54:58 | kaen | YYYYYYYYYEAAHHHHH |
| 12:55:04 | kaen | boost::polygon is working. |
| 12:55:11 | raptor | oh? |
| 12:55:37 | kaen | yeah |
| 12:55:44 | kaen | still needs refinement, but it works on a simple level |
| 12:56:48 | raptor | define 'works' |
| 12:56:52 | raptor | triangulation? |
| 12:57:00 | raptor | err... trapezoidation |
| 12:58:01 | raptor | so in our process: build input polys/holes -> clip -> triangulate -> merge into convex zones |
| 12:58:07 | raptor | which part works? |
| 12:58:54 | kaen | I've got it all the way up to trapezoidization |
| 12:59:08 | kaen | merging pumping the connectivity graph should be simple |
| 12:59:20 | kaen | it succeeds on insignia apparently but I'm not pumping the data right |
| 12:59:32 | raptor | so what is the new process? build input polys/holes -> clip -> trapezoidate -> merge ? |
| 12:59:43 | kaen | yeah, same process |
| 12:59:49 | raptor | or just -> build -> done! :) |
| 12:59:52 | kaen | but you should see all the code I was able to remove |
| 13:00:00 | raptor | oh I already believe it... |
| 13:00:10 | kaen | well, we could do it all in one line once we have the inputs polys |
| 13:00:17 | kaen | but I'm splitting it up for clarity |
| 13:01:11 | raptor | seems good to me |
| 13:01:17 | raptor | i like clarity |
| 13:14:49 | raptor | if you want a good test map: http://sam6.25u.com/bitfighter/levels/qui_sarcophage.level |
| 13:15:13 | raptor | and of course: http://sam6.25u.com/bitfighter/levels/upload_Celtic_Arena.level |
| 13:19:57 | | thread_ Quit (Ping timeout: 250 seconds) |
| 13:40:33 | raptor | kaen: should I update our in-tree boost headers to 1.54? I should probably test it against all of our platforms.. |
| 13:40:45 | kaen | yes, please |
| 13:40:49 | raptor | okey doke |
| 13:47:24 | raptor | kaen: can you tell me the exact objects you will be using? |
| 13:47:34 | raptor | and was there a non-header compilable part? |
| 13:49:30 | | Flynnn has joined |
| 13:50:40 | kaen | #include "boost/polygon/polygon.hpp" |
| 13:50:56 | kaen | looks like everything there is header-only |
| 13:50:58 | raptor | perfect |
| 13:51:01 | raptor | thanks! |
| 13:51:08 | kaen | I need pretty much everything in boost/polygon |
| 13:51:09 | kaen | yep! |
| 13:51:13 | raptor | ok |
| 13:52:09 | kaen | huh. people are on |
| 13:56:27 | | Watusimoto has joined |
| 13:57:13 | raptor | now to use bcp... |
| 14:05:55 | Watusimoto | hey, I just saw Gravity in 3D |
| 14:06:04 | Watusimoto | pretty great, I think |
| 14:06:14 | raptor | no spoilers please! |
| 14:07:19 | Watusimoto | I would recommend seeing it in a theater, in 3D, and sitting close to the screen for the imersive effect |
| 14:07:34 | raptor | is the story good? |
| 14:08:13 | Watusimoto | good enough |
| 14:08:44 | Watusimoto | yes, good |
| 14:09:43 | Watusimoto | and, rare for a sci-fi movie, everything seems plausable and requires very little suspension of disbelief |
| 14:09:58 | Watusimoto | though, of course, it is a movie |
| 14:11:04 | | Skybax has joined |
| 14:11:35 | Skybax | Herro |
| 14:13:22 | raptor | I have to test the new boost on osx 10.4... |
| 14:14:47 | Skybax | Cool |
| 14:17:33 | | Invisible1 has joined |
| 14:23:19 | Skybax | I wonder if Quartz would mind if I made the BitTown official and made a thread about it with the specifications that I remember BitTown had before...? |
| 14:23:51 | kaen | One thing I can tell you about Quartz |
| 14:24:04 | kaen | you might as well flip a coin when you're trying to figure out how he'll react to anything |
| 14:24:11 | Skybax | Good point |
| 14:24:28 | kaen | the coin at least won't change its mind :P |
| 14:25:24 | Skybax | I asked him to make the BitTown because he's a good mapmaker, and I thought that would make it turn out really well, but now I'm kind of really excited about it and I wanna do it myself lol |
| 14:27:18 | Skybax | Hmmmmm |
| 14:28:24 | Skybax | If I made it, would someone have a dedicated server to host it on? It would kind of defeat the purpose of the map if it wasn't always there |
| 14:28:25 | raptor | try #2 at getting new boost to compile... |
| 14:29:17 | kaen | on 10.4 raptor ? |
| 14:29:29 | raptor | yes - on Linux was cake |
| 14:29:34 | kaen | gah |
| 14:29:50 | raptor | it's OK... I'm good at this type of thing |
| 14:31:22 | raptor | it compiled! |
| 14:31:32 | kaen | nice! |
| 14:32:50 | raptor | but exiting the editor crashes?? |
| 14:33:28 | Skybax | Did anyone see my question? xD |
| 14:34:00 | raptor | http://pastie.org/pastes/8410275/text |
| 14:34:09 | raptor | what do you make of that^^ ? |
| 14:34:17 | raptor | Skybax: which question? |
| 14:34:47 | Skybax | The one about someone having a dedicated server for me to put BitTown on |
| 14:34:55 | raptor | oh |
| 14:35:12 | raptor | I could set one up on the master server - but no guarantees it would perform that well |
| 14:35:31 | raptor | I'd just need a zipped up folder with all the levels in it |
| 14:35:48 | Skybax | It should only be one level (BitTown) |
| 14:35:58 | raptor | oh? hah |
| 14:35:59 | raptor | ok |
| 14:36:06 | raptor | well... I can still do that |
| 14:36:11 | Skybax | Okay cool lol |
| 14:36:31 | Skybax | I'll get to work then lol |
| 14:36:35 | raptor | buit |
| 14:36:37 | raptor | but |
| 14:36:57 | Skybax | ? |
| 14:37:04 | raptor | if it has lots and lots of script stuff, it may be super laggy on the master server |
| 14:37:08 | raptor | master server server |
| 14:37:59 | Skybax | I have no idea how to script things. kaen mentioned something about a way to automate the compiling of other people's creations, but other than that, I have no plans to use scripts |
| 14:40:13 | Skybax | What do we use to measure things in Bitfighter? |
| 14:40:30 | raptor | what unit? |
| 14:40:33 | Skybax | Yes |
| 14:40:44 | raptor | point? |
| 14:40:56 | Skybax | Like if I had a wall, and I wanted to tell you how long it was, what would I say, and how would I find this measurement |
| 14:41:01 | raptor | so like a ship is about 50 points wide |
| 14:41:10 | raptor | and standard barrier is 50 points wide |
| 14:41:17 | raptor | ship is 48, i guess |
| 14:41:35 | raptor | wall is 500 points long |
| 14:41:48 | raptor | they correspond to editor coordinates |
| 14:41:52 | Skybax | Points sound really tiny and hard to count |
| 14:42:20 | raptor | you could say 1 standard barrier width |
| 14:42:27 | raptor | 10 sbw s |
| 14:42:51 | raptor | teleporters are about 2 sbws wide |
| 14:42:54 | raptor | a ship is 1 |
| 14:44:17 | Skybax | Points work lol |
| 14:44:20 | Skybax | 1020! |
| 14:45:20 | raptor | ok, that was a legitimate crash on OSX |
| 14:45:24 | raptor | wrote it down |
| 14:45:31 | raptor | nothing to do with the new boost |
| 14:46:10 | raptor | now to try Windows... |
| 14:46:36 | Skybax | Actually 1020 seems kind of small now that I think about it.. hmmm... how to do this |
| 14:47:01 | Watusimoto | raptor: what ist hat pastie error? |
| 14:47:33 | raptor | crash i got from osx: open empty level in editor, add barrier, exit |
| 14:47:35 | raptor | crash! |
| 14:47:35 | Watusimoto | looks like a problem showing an error... but which one? |
| 14:47:58 | raptor | aww stink, i did copy that part... |
| 14:47:59 | Watusimoto | why would a message box be displayed?? |
| 14:48:12 | raptor | *didn't |
| 14:48:15 | raptor | not sure |
| 14:48:56 | Watusimoto | well, we have a bit of a problem in that getting these error messages to display is very difficult. I am looking for a way to cycle through them to make sure they all render properly |
| 14:49:22 | raptor | maybe the box was to be displayed for saving? |
| 14:49:38 | Skybax | 1020 and 1530 |
| 14:50:12 | Skybax | Magic numbers |
| 14:51:01 | raptor | Watusimoto: here: http://pastie.org/pastes/8410319/text |
| 14:53:34 | | Flynnn Quit (Remote host closed the connection) |
| 14:54:40 | raptor | isn't there supposed to be a save box? |
| 14:55:12 | Watusimoto | is that code up to date? |
| 14:55:26 | raptor | yes, i did a clean compile of latest |
| 14:55:32 | raptor | last checked in, that is |
| 14:55:42 | Watusimoto | ah, yes, the box displayed on exit |
| 14:55:51 | Watusimoto | right, probably a save message, yes |
| 14:55:54 | raptor | well it doesn't anymore, on Linux - and crashes on OSX |
| 14:59:56 | Watusimoto | ok, crashes for me, so I should be able to fix |
| 15:00:20 | | thread_ has joined |
| 15:00:27 | Watusimoto | ah, silly me |
| 15:03:57 | Skybax | Watch this https://www.facebook.com/photo.php?v=10151802534338876&set=vb.170901143077174&type=2&theater |
| 15:04:59 | Watusimoto | fixed |
| 15:05:14 | raptor | yay! |
| 15:05:29 | raptor | try# 2 at new boost on windows... |
| 15:06:49 | | BFLogBot Commit: abfc0492faa8 | Author: watusimoto | Message: Fix bug in wrapString, add wrapping on newlines, add testing to verify at least some functionality |
| 15:06:50 | | BFLogBot Commit: 8861e7e2b4ca | Author: watusimoto | Message: Key shape |
| 15:06:52 | | BFLogBot Commit: 81d7620c5bc2 | Author: watusimoto | Message: Merge |
| 15:06:53 | | BFLogBot Commit: f85e2050f5af | Author: watusimoto | Message: Convert the Vector error messages into simple strings. I like this better. |
| 15:06:54 | Watusimoto | pretty simple, once I found it |
| 15:06:55 | | BFLogBot Commit: 24ce13cb4c90 | Author: watusimoto | Message: Fix Y/N dialog crash by removing duplicate code. |
| 15:12:28 | raptor | kaen: it looks like there's an optionally compilable boost-math library of sorts... but I don't think we need it |
| 15:13:40 | kaen | I think you're correct in that |
| 15:14:04 | Skybax | How many teams can play at once? |
| 15:14:14 | kaen | I want to say 9 |
| 15:14:24 | kaen | open the editor and hit F2 then + a bunch of times |
| 15:14:35 | kaen | or insert or whatever it is |
| 15:14:58 | kaen | also I always just say "unit" |
| 15:15:01 | kaen | 1000 units etc |
| 15:15:49 | Skybax | If I go into the "configure teams" it lets me put in nine and then it says "too many teams for this interface" does that mean you can manually add more teams within the level code? |
| 15:16:09 | raptor | 9 |
| 15:16:12 | raptor | 9 is max |
| 15:16:32 | raptor | nonono, you do more than 9 in a level file... i'm not sure what will happen, but they won't work |
| 15:16:44 | Skybax | I WANNA TRY IT NOW |
| 15:16:48 | Watusimoto | yeah, don't do it |
| 15:16:57 | Watusimoto | why do you want more than 9 teams??? |
| 15:17:01 | Skybax | What happens??? |
| 15:17:11 | kaen | Watusimoto, for science! |
| 15:17:19 | Watusimoto | mad science |
| 15:17:23 | kaen | Skybax, really can't hurt to try, just don't publish a level like that |
| 15:17:39 | Watusimoto | what if it breaks his computer? I don't want that on me |
| 15:17:39 | Skybax | Because it's potentially crashable? |
| 15:17:42 | kaen | hopefully it just ignores the teams after the ninth |
| 15:17:52 | Watusimoto | I mean he could get a shock or somehting |
| 15:18:01 | kaen | oh yeah, that's right |
| 15:18:04 | raptor | if he has the guts to push the limits, he has the guts to break his computer |
| 15:18:08 | Skybax | Yey |
| 15:18:14 | kaen | the spontaneous-combustion-with-more-than-nine-teams problem |
| 15:18:17 | Watusimoto | Skybax: before you try it, have a friend stand by with a briomm to push you away from your computer if something goes wrong |
| 15:18:34 | Skybax | That was the most interesting way to spell "broom" I've ever seen |
| 15:18:34 | kaen | a vexing and long-standing problem in computer science |
| 15:18:41 | raptor | haah |
| 15:19:20 | Watusimoto | I get excited and the spelling part of my brain just turns off |
| 15:19:33 | Skybax | Even if it does work, though... my keyboard only has nine number keys... so I would have to add everything to do with that team manually xD |
| 15:19:51 | | fordcars has joined |
| 15:22:02 | raptor | success! |
| 15:23:35 | Skybax | I just added 12 teams. I'm gonna test it |
| 15:24:45 | Skybax | Owait. I have to manually add spawn points first :3 |
| 15:26:32 | Skybax | Nope. Anything after ninth team becomes team 1 |
| 15:28:04 | Skybax | And it deletes the extra teams from the code upon saving the level |
| 15:29:58 | raptor | ok Watusimoto, kaen, big checkin coming up |
| 15:30:29 | Skybax | Why does Bitfighter say "this interface" if it's not possible to add more teams!? |
| 15:30:48 | kaen | it's probably referring to the "user interface" |
| 15:30:52 | kaen | which means that menu |
| 15:31:06 | kaen | which means it physically can not fit any more teams on the screen |
| 15:31:13 | kaen | ^ all conjecture |
| 15:31:21 | Skybax | I think it should just say "team limit max" or something |
| 15:31:35 | Skybax | This makes it sound like a smart user could find a way to add more teams using a different interface |
| 15:31:42 | kaen | that's a good point |
| 15:32:16 | raptor | here she comes! |
| 15:32:56 | | BFLogBot Commit: 947c4be387e8 | Author: buckyballreaction | Message: Update boost to 1.54. Add in boost/polygon. Also define BOOST_ALL_NO_LIB in boost/config/user.hpp so boost doesn't try to auto-link in non-header-only boost libraries |
| 15:34:53 | raptor | boost updated! |
| 15:35:10 | raptor | verified compiled on all 3 platforms |
| 15:35:23 | Skybax | Hoo rah |
| 15:36:18 | Watusimoto | so what does this mean? |
| 15:36:44 | raptor | it means... we have boost.geometry for kaen |
| 15:36:53 | Watusimoto | great! how does it work? |
| 15:36:55 | raptor | since our previous version didn't have it |
| 15:36:59 | raptor | ask kaen |
| 15:37:04 | Watusimoto | I am! |
| 15:37:19 | raptor | yes, you are... ? |
| 15:37:25 | kaen | ummm I actually don't need boost.geometry |
| 15:37:29 | kaen | just boost.polygon |
| 15:37:33 | raptor | oh, that's what i meant |
| 15:37:36 | kaen | but boost.geometry can't hurt \o/ |
| 15:37:36 | raptor | yes |
| 15:38:00 | kaen | regarding "how does it work" |
| 15:38:02 | Skybax | xD |
| 15:38:19 | kaen | it works for simple levels, I have to implement a polygon_with_holes concept and traits pair |
| 15:38:23 | kaen | then we'll see how it works with complex levels |
| 15:38:39 | Watusimoto | we don't use polys with holds |
| 15:38:41 | Watusimoto | holes |
| 15:38:59 | raptor | oh yes we sure do |
| 15:39:02 | kaen | yeah, but the result of polygon boolean operations create holes, and I need to operate on those to get trapezoids |
| 15:39:07 | raptor | ^^ that |
| 15:39:13 | Watusimoto | ok |
| 15:39:36 | kaen | as a bonus, the lua poly stuff I exposed will stop crashing and generally be much more robust |
| 15:44:07 | Skybax | I'm eating a chicken pot pie |
| 15:45:47 | raptor | done break your teeth on the pot |
| 15:45:56 | raptor | or maybe it's the other kind.. |
| 15:46:12 | Skybax | The microwave kind lol |
| 15:46:16 | thread_ | kaen can you help me? I'm having troube using the event "ShipEneteredZone" in 019. |
| 15:46:32 | thread_ | I can check if its a goal by "if (zoneType == 15) then" |
| 15:46:34 | Skybax | Although this specific pie took 11 minutes to cook.. apparently it had raw meat in it |
| 15:46:47 | thread_ | but checking for loadout or zone don't work |
| 15:47:00 | thread_ | ...is there a better way to do type checking? |
| 15:50:03 | thread_ | or did I somehow hit a bug? |
| 15:50:26 | thread_ | or raptor, you might have an idea... maybe? |
| 15:53:09 | raptor | hi |
| 15:53:12 | raptor | uhh... |
| 15:54:04 | raptor | if(zoneType == ObjType.GoalZone) then... |
| 15:54:11 | raptor | that should work |
| 15:54:34 | raptor | http://bitfighter.org/luadocs/group___obj_type_enum.html |
| 15:58:39 | thread_ | I'll give it a try |
| 15:58:55 | Skybax | I'm writing a post for BitTown v2.. it's long |
| 15:59:05 | thread_ | i just always used the number 15, because thats the output of logprint(zoneType) |
| 16:01:23 | fordcars | oh wow ok |
| 16:01:51 | thread_ | It works, thanks raptor. |
| 16:06:54 | | Invisible1 Quit (Ping timeout: 246 seconds) |
| 16:13:58 | raptor | you're welcome |
| 16:14:05 | Skybax | P-p-p-p-p-p-POSTED |
| 16:15:01 | | thread_ Quit (Ping timeout: 250 seconds) |
| 16:16:02 | Skybax | Would it be possible to make a script that automatically assigns someone with a certain username to a certain team and doesn't allow them to change? |
| 16:16:17 | Skybax | And if so, would it be difficult and/or large? xD |
| 16:17:12 | raptor | not in 018a |
| 16:17:42 | raptor | but in 019... i'm not sure; kaen, did we program something for 019 Lua API to allow switching a players team? |
| 16:18:11 | raptor | this is how you know it's been too long since releasing - when I forget work I've done already |
| 16:19:02 | Skybax | How long until 019 is released? |
| 16:19:39 | raptor | it's been about 6 months or so already, I think |
| 16:19:46 | raptor | man, that's crazy |
| 16:20:17 | Skybax | Ford took green lol |
| 16:20:33 | fordcars | hehehehe |
| 16:20:38 | raptor | aww, that's what I would have taken... |
| 16:20:49 | Skybax | You can have winter green lol |
| 16:20:52 | raptor | maybe a little darker green, too... |
| 16:21:11 | fordcars | SKYVBAX |
| 16:21:14 | Skybax | What lol |
| 16:21:19 | fordcars | I was working on that in 018a |
| 16:21:21 | raptor | I'm not sure I can enter a house yet... |
| 16:21:29 | fordcars | A modification of the client, no Lua |
| 16:21:38 | Skybax | Working on a script that assigns players to teams? |
| 16:21:38 | fordcars | *server |
| 16:21:48 | fordcars | No, working Application/exe |
| 16:21:55 | fordcars | But, it's not working yet :P |
| 16:21:59 | raptor | modded clients won't fly - everyon would need one and for each platform... |
| 16:22:05 | fordcars | *server |
| 16:22:08 | fordcars | *server |
| 16:22:08 | fordcars | *server |
| 16:22:08 | fordcars | *server |
| 16:22:08 | fordcars | *server |
| 16:22:18 | fordcars | Just edits a txt |
| 16:22:20 | Skybax | raptor is hosting the server |
| 16:22:28 | fordcars | ok |
| 16:22:39 | fordcars | later guys, I'll be back in an hour |
| 16:22:44 | Skybax | Bai |
| 16:23:37 | Skybax | raptor, why would you be unsure if you can enter a house? lol |
| 16:25:58 | raptor | because of the time required |
| 16:27:09 | | fordcars Quit (Ping timeout: 250 seconds) |
| 16:27:11 | Skybax | Like you don't have enough time or you won't finish it in time? |
| 16:27:47 | raptor | i didn't see a date on it |
| 16:28:00 | Skybax | Yeah I was gonna say cause there's no deadline lol |
| 16:28:03 | raptor | but yeah, might not have enough time |
| 16:28:22 | Skybax | You must have a really busy schedule if you don't have enough time to make a small map lol |
| 16:29:25 | raptor | well, I have lots of responsibilities, and I usually get stuck doing things until they're perfect :) |
| 16:30:21 | Skybax | Well if you get a stroke of inspiration and can make a "perfect" house, pick a color and I'll put your house in lol |
| 16:43:05 | | fordcars has joined |
| 16:43:39 | Skybax | Wb |
| 16:44:08 | raptor | so did people really do this for the first bittown? make houses and aggregate them into one map? |
| 16:45:13 | fordcars | I guess |
| 16:47:27 | Skybax | Yes |
| 16:47:44 | Skybax | And other things too. Not just houses |
| 16:47:53 | Skybax | It's was ginormous |
| 16:49:56 | fordcars | Skybax, you could modify 018a code to make Bitfighter Server modify an external txt with each player's team. |
| 16:50:17 | fordcars | Normal Bitfighter clients would work just fine |
| 16:52:58 | Skybax | I have no idea how to do that lol |
| 16:53:09 | Skybax | But that sounds awesome |
| 16:53:39 | | Darrel Quit (Quit: IRC client killed.) |
| 16:56:53 | Skybax | Can you teach me? xD |
| 16:57:08 | raptor | I don't recommend running a hacked server |
| 16:57:30 | raptor | Watusimoto: GCI is starting soon, I think |
| 16:57:52 | Watusimoto | oh yes, that |
| 16:58:01 | Watusimoto | do we have needs? |
| 16:58:56 | fordcars | lol skybax |
| 16:59:02 | raptor | uhh |
| 16:59:04 | fordcars | raptor, it's the only way? |
| 16:59:56 | raptor | Watusimoto: I'm not sure - do we want t-shirts? |
| 17:00:03 | Watusimoto | of course! |
| 17:00:24 | raptor | it's my wife's favorite shirt, still... and it hasn't spontaneously combusted yet! |
| 17:00:42 | Watusimoto | just don't wear it near open flame or in strong sunlight |
| 17:00:50 | raptor | fordcars: I don't want to run a modded server on the master server server |
| 17:01:06 | raptor | also, I'm worried about stability, and honestly I think it is more effort than it's worth |
| 17:03:08 | fordcars | ok raptor |
| 17:04:18 | Watusimoto | I should be around most of December and January |
| 17:05:41 | Skybax | What is GCI |
| 17:06:22 | fordcars | Google code-in |
| 17:06:33 | fordcars | A google coding contest |
| 17:06:37 | Skybax | Ahhhh |
| 17:06:39 | Skybax | Cool lol |
| 17:06:48 | fordcars | Normal Bitfighter participates :) |
| 17:07:04 | fordcars | Normally |
| 17:07:24 | fordcars | well normally, I think Bitfighter participated once :P |
| 17:07:43 | raptor | Watusimoto: I think it's earlier this year |
| 17:07:49 | raptor | like in 3 weeks |
| 17:08:00 | Watusimoto | well, we better get thining |
| 17:08:02 | Watusimoto | thinking |
| 17:08:04 | raptor | seems like it's being phased out, but that's a guess... |
| 17:08:08 | raptor | thickening! |
| 17:08:19 | Watusimoto | why do you say that |
| 17:08:27 | | Platskies has joined |
| 17:09:34 | fordcars | It's november 1! |
| 17:10:13 | raptor | because this year you can only join if you been part of it before |
| 17:10:19 | raptor | as an organization, i mean |
| 17:10:47 | raptor | https://www.google-melange.com/gci/org/application/google/gci2013 |
| 17:10:59 | Watusimoto | ah, I see... you may be right |
| 17:12:30 | raptor | how do we contact that arc fellow |
| 17:12:55 | raptor | oh hey, he's logged on... let me ping him |
| 17:13:26 | Watusimoto | ah yes, arc |
| 17:24:49 | raptor | no response yet.. |
| 17:34:14 | raptor | well I'm heading home |
| 17:34:16 | raptor | later! |
| 17:34:34 | | raptor Quit () |
| 17:34:42 | | Nothing_Much Quit (Quit: bleep) |
| 17:37:16 | | Nothing_Much has joined |
| 17:43:19 | Skybax | How do you make the time and score unlimited? |
| 17:44:05 | Watusimoto | do it in the F3 properties |
| 17:44:17 | Watusimoto | time = 0 is unlimited, I think |
| 17:44:21 | Watusimoto | probably same for score |
| 17:44:43 | Skybax | So you have to do it in-game? |
| 17:44:57 | Skybax | Or can I just put 0 0 in the level file? |
| 17:45:19 | kaen | ask Bitfighter :) |
| 17:45:39 | Watusimoto | probably |
| 17:45:40 | Skybax | xD |
| 17:46:06 | Watusimoto | you can do it in the level editor (F3), then look at the level file to confirm |
| 17:46:29 | Skybax | I did it in the level. It worked |
| 17:46:41 | Watusimoto | great |
| 17:46:49 | Watusimoto | gentlemen... to sleep! |
| 17:46:54 | Skybax | Night wat |
| 17:49:32 | | BFLogBot Commit: bbdfc3e6131b | Author: watusimoto | Message: Make things look better |
| 17:49:33 | | BFLogBot Commit: 5661f2c78a96 | Author: watusimoto | Message: Fix rank ugliness of interstitial screen shown when waiting for high scores, convert high scores to new font. See the spinner in action! |
| 17:49:35 | | BFLogBot Commit: 845e20b80f9b | Author: watusimoto | Message: Merge |
| 17:50:07 | Skybax | Ehhhhh... actually.. that didn't work... I can't set the score to 0 |
| 17:50:21 | Skybax | Minimum score is 1 |
| 17:50:25 | Skybax | It resets it |
| 17:51:16 | Skybax | Is there no unlimited score? |
| 17:51:37 | Skybax | fordcars, halp me |
| 17:51:38 | Skybax | lol |
| 17:52:36 | Skybax | Nvm I found a workaround.. I don't think anyone will ever get 999999999999999999999999999999999999999999999999999 points |
| 17:53:46 | Skybax | Is there any way to change how often the flag gives you a point while you're holding it? |
| 17:54:15 | fordcars | Uh, I don't think so... |
| 17:54:44 | Skybax | Darn |
| 17:55:46 | | Watusimoto Quit (Ping timeout: 265 seconds) |
| 17:56:48 | fordcars | Why? |
| 18:02:40 | Skybax | I wanted to make it so the flag only gave 1 point per minute |
| 18:02:55 | Skybax | I think that should be an option in the level params >.> |
| 18:04:32 | Skybax | Then it would require you to defend it longer to actually get a point |
| 18:28:25 | | Platskies Quit (Quit: Sleep time…) |
| 18:40:00 | Skybax | Anyone wanna see BitTown so far? I've pretty much done all I can do for now, unitl people start submitting things |
| 18:40:14 | Skybax | Unless I decide to make some BitTown Attractions myself x) |
| 18:41:19 | fordcars | I would, but I am extremely busy tonight :P I will have the whole weekend though :) |
| 18:41:46 | fordcars | bobdaduck levelgens would make some fun attractions :P |
| 18:44:13 | Skybax | That's what I said in my post on the forums lol |
| 18:44:47 | Skybax | I'm unsure how much raptor's server can handle tho |
| 18:44:58 | Skybax | He said he was uncertain of it's stability |
| 18:45:06 | Skybax | Especially if there were scripts involved |
| 18:45:42 | fordcars | I think he was talking about having the sever put the players in the right teams automatically |
| 18:45:52 | fordcars | By the way, BitTown is gonna be AWESOME!!!! |
| 18:46:01 | Skybax | Well he said that before we even mentioned the modded server lol |
| 18:46:05 | Skybax | AND YES IT IS |
| 18:50:46 | Skybax | fordcars lol it's says you're in-game x) |
| 18:51:16 | fordcars | Yeah sky, I was checking if people were playing |
| 18:51:20 | fordcars | There is a new kid |
| 18:51:27 | fordcars | So I am forced to stay :P |
| 18:51:37 | Skybax | Ha xD |
| 18:51:54 | Skybax | While you're there you should drop in to my server and glance at BitTown |
| 19:01:18 | fordcars | YOu should be able to add an unlimited amount of teams in the level file i think |
| 19:06:16 | fordcars | Skybax, I checkout the Town by the way! It's nice! |
| 19:13:06 | Skybax | Yay |
| 19:13:10 | Skybax | ANd no I tried |
| 19:13:20 | Skybax | After the ninth team saving the file just deletes them |
| 19:13:29 | Skybax | And they don't show up in-game either lol |
| 19:16:36 | Skybax | And any item that I set to that team just shows up as a team 1 item |
| 19:22:29 | fordcars | lol ok |
| 19:25:27 | | Skybax Quit (Ping timeout: 272 seconds) |
| 19:45:04 | | raptor has joined |
| 19:45:04 | | ChanServ sets mode +o |
| 19:48:20 | raptor | I bet we could expand to 13 teams and not impact network performance... |
| 20:20:48 | | BFLogBot Commit: 0abba5e11620 | Author: buckyballreaction | Message: Fix linking error in Linux |
| 20:29:11 | | Flynnn has joined |
| 20:47:48 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 20:48:37 | | raptor Quit () |
| 21:04:16 | | ShadowXLoner has joined |
| 21:16:13 | | ShadowXLoner Quit (Quit: Colloquy for iPod touch - http://colloquy.mobi) |
| 21:55:27 | | Flynnn has joined |
| 22:04:51 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 22:18:17 | | Flynnn has joined |
| 23:53:00 | | Skybax has joined |
| 23:53:29 | Skybax | Hello |
| 23:54:24 | Skybax | raptor, I like 13 teams much better than 9 |
| 23:55:50 | fordcars | Hi |