Timestamps are in GMT/BST.
| 00:07:21 | sam686 | I guess there is some problems with Triangulate::Process and duplicate points. http://sam6.25u.com/upload/screenshot_161.png |
| 00:07:41 | sam686 | http://sam6.25u.com/upload/screenshot_160.png when using pointInTriangle instead of insideTriangle |
| 00:07:56 | sam686 | I only made the loadout semi-transparent to see the overlap |
| 00:08:42 | sam686 | and all I wanted to do is to create a Hole in a middle... |
| 00:17:35 | raptor | whoa, interesting |
| 00:18:50 | sam686 | it may be insideTriangle returning true when point is on the edge, while the other may return false.. |
| 00:19:18 | sam686 | but it sure appears that the root of the overlapping points problem is in Triangulate::Process for filling the polygons.. |
| 00:22:10 | raptor | I've seen people use that as artwork.. |
| 00:23:58 | sam686 | Could try replacing Triangulate::Process with poly2try, but it may have worst problems, crash... freeze.... Seen those on BotZone generation... |
| 00:24:17 | raptor | yeah... |
| 00:24:37 | sam686 | Triangulate::Process is crash proof but isn't very good it appears.. |
| 00:24:43 | raptor | I think it's fine how is... it's really fast and that's what's needed |
| 00:28:32 | raptor | which bug to do next... |
| 00:28:41 | raptor | i'll take a look at the UTF level file one |
| 01:00:20 | | Darrel Quit (Read error: Connection reset by peer) |
| 01:54:30 | | vs73nx has joined |
| 02:27:49 | raptor | hi vs73nx |
| 02:27:55 | vs73nx | hello |
| 02:28:06 | raptor | I have started to review your code - looks much nicer now |
| 02:28:13 | vs73nx | thanks |
| 02:28:41 | raptor | I want to ask for forgiveness, my family has been very sick the last few days so I haven't been able to do to much brain work |
| 02:28:48 | vs73nx | thats ok |
| 02:28:54 | raptor | and I wasn't able to get to your stuff |
| 02:29:07 | vs73nx | its christmas so im not expecting much from anyone |
| 02:29:26 | raptor | I had a few things I wanted to go over with you, are you in a position to do so now? |
| 02:29:35 | vs73nx | yes i am |
| 02:30:28 | raptor | ok |
| 02:30:49 | Nothing_Much | oh no raptor :( |
| 02:30:53 | raptor | i see 3 possible things right off the bat.. |
| 02:31:57 | raptor | #1 config.cpp:704 - that getInputString method isn't used anywhere, can you remove it? |
| 02:33:21 | raptor | should i continue, or wait for you to adjust things? |
| 02:33:47 | vs73nx | i adjusted that |
| 02:33:52 | raptor | great! |
| 02:33:54 | raptor | #2 |
| 02:34:36 | raptor | InputCode.cpp:1754, there are letters missing |
| 02:34:56 | raptor | specifically CDFGHJKL |
| 02:35:18 | vs73nx | ok i didnt change that but ill change it back |
| 02:35:18 | raptor | and it broke a few things in-game... |
| 02:35:32 | vs73nx | my editor went bezerk so im sorry about that |
| 02:35:42 | raptor | oh? it must have been an accident |
| 02:35:46 | raptor | no worries |
| 02:35:49 | vs73nx | thats ok |
| 02:36:00 | raptor | if you're able to cope with my pickiness... |
| 02:36:09 | vs73nx | yes i can ;p |
| 02:37:38 | raptor | actually more than 3, sorry.. |
| 02:37:51 | vs73nx | where are the letters missing... i cant see them in my source code anywhere on the line of code you suggested |
| 02:38:47 | raptor | like this: keyNames[S32(KEY_C)] = "C"; |
| 02:39:15 | raptor | i pulled the latest from your repo |
| 02:39:40 | vs73nx | oh ok |
| 02:40:34 | raptor | this is what i see: http://imagebin.org/283429 |
| 02:41:18 | raptor | old on the left, yours on thr right |
| 02:41:33 | vs73nx | ok fixed it |
| 02:44:27 | raptor | ok next: |
| 02:44:57 | raptor | SymbolShape.cpp:627 and 649-658 |
| 02:45:04 | raptor | looks like unneeded code? |
| 02:46:00 | raptor | unused code, i mean |
| 02:46:05 | raptor | can be pruned |
| 02:56:38 | raptor | still around? |
| 02:56:51 | vs73nx | yes |
| 02:57:18 | vs73nx | sorry juggling GCI and dogecoins/feathercoins |
| 02:57:24 | vs73nx | cryptocurrency |
| 02:57:28 | raptor | heh |
| 02:57:36 | vs73nx | yes pruned them |
| 02:57:43 | raptor | i'm juggling my youngest child who just learned to army crawl |
| 02:57:51 | raptor | nothing is safe.. |
| 02:57:52 | vs73nx | heh |
| 02:58:17 | raptor | ok, those are the cosmetic changes |
| 02:58:41 | raptor | there are some actual code problems I see when actually testing in the editor |
| 02:59:27 | raptor | I think one can be traced to config.cpp:785 |
| 02:59:30 | raptor | there's a |
| 02:59:33 | raptor | -> |
| 02:59:43 | raptor | which I think should be a double colon |
| 03:00:13 | vs73nx | sorry bout that i skipped all my classes about pointers and namespaces... |
| 03:00:29 | vs73nx | i understand them now though |
| 03:00:31 | raptor | heh - well we'll keep you honest.. :) |
| 03:00:50 | raptor | I still think namespaces are semi-evil |
| 03:01:18 | vs73nx | nope i need the -> for it to work |
| 03:01:56 | vs73nx | wait nvm fixed it |
| 03:02:07 | vs73nx | i did inputCodeManager instead of InputCodeManager |
| 03:02:07 | raptor | was is a 'static' problem? |
| 03:02:40 | vs73nx | more errors |
| 03:02:47 | vs73nx | 778:85: error: cannot call member function �std::string Zap::InputCodeManager::getEditorBinding(Zap::InputCodeManager::EditorBindingNameEnum) const� without object |
| 03:02:55 | raptor | heh |
| 03:03:03 | raptor | ok, here we go with the static problems |
| 03:03:07 | raptor | let me look.. |
| 03:03:54 | sam686 | think of static function in a class as not being able to access any non-static non-global stuff.. |
| 03:04:10 | sam686 | static = global it seems... |
| 03:04:36 | raptor | vs73nx: what does that line look like now? (copy and paster here please) |
| 03:05:59 | raptor | vs73nx: wait, it was correct before I said to change it to a :: |
| 03:06:12 | vs73nx | oh so i was right? |
| 03:06:17 | raptor | yes |
| 03:06:33 | sam686 | don't use :: for a non-static stuff in class |
| 03:06:33 | raptor | the issue was that the EDITOR_BINDING_TABLE had some incorrect values in it |
| 03:06:47 | vs73nx | really? |
| 03:06:52 | raptor | no wait |
| 03:06:53 | raptor | actually |
| 03:06:56 | raptor | actually |
| 03:06:58 | raptor | ah ha |
| 03:08:07 | raptor | The issue is with InputCode.cpp:524 |
| 03:08:18 | raptor | that method returns a new binding set every time |
| 03:08:39 | raptor | and when you exit the game it overwrites your INI values with defaults |
| 03:08:57 | vs73nx | oh if you put it that way thats bad |
| 03:09:07 | raptor | heh |
| 03:09:24 | raptor | It should be more like InputCodeManager::getBinding |
| 03:09:46 | raptor | you see mBindingSets |
| 03:10:01 | raptor | that is a member on the InputCodeManager class and initialized in its constructor |
| 03:10:11 | raptor | there should be something similar for the editor ones |
| 03:10:20 | raptor | then you use the same object every time |
| 03:10:48 | raptor | somethign like: EditorBindingSet mEditorBindingSet; in the header |
| 03:11:30 | raptor | actually... nothing in the constructor |
| 03:11:37 | raptor | then in the getEditorBinding method: |
| 03:12:41 | vs73nx | i do |
| 03:12:42 | vs73nx | const EditorBindingSet *editorBindingSet = mEditorBindingSet; |
| 03:12:42 | vs73nx | return editorBindingSet->getEditorBinding(bindingName); |
| 03:12:46 | raptor | you do something similar to (not exactly sure): return mEditorBindingSet.getEditorBinding(bindingName); |
| 03:13:05 | raptor | almost - it wouldn't be a pointer |
| 03:13:30 | raptor | it only is in the normal one because of the Vectors there |
| 03:13:51 | raptor | or, you could use the pointer like so, but make sure to dereference the set: const EditorBindingSet *editorBindingSet = &mEditorBindingSet; |
| 03:14:47 | raptor | and follow the same pattern in setEditorBinding |
| 03:14:58 | raptor | so it's always using the same exact object and not copies |
| 03:15:59 | vs73nx | there fixed it |
| 03:16:01 | vs73nx | const EditorBindingSet *editorBindingSet = &mEditorBindingSet; |
| 03:16:01 | vs73nx | return editorBindingSet->getEditorBinding(bindingName); |
| 03:18:04 | raptor | great |
| 03:18:18 | raptor | you'll have to do something similar with setEditorBinding, too |
| 03:18:40 | raptor | do you understand the fundamental problem with the object copies? |
| 03:19:49 | raptor | or at least, with making sure we always are using the same EditorBindingSet? |
| 03:22:01 | vs73nx | ok i got th have lunch |
| 03:22:36 | raptor | ok |
| 03:22:40 | raptor | i'll be here later |
| 03:44:46 | | BFLogBot Commit: 2af5c0320130 | Author: buckyballreaction | Message: Fix reading of UTF-8 level files |
| 03:55:01 | | raptor Quit (Remote host closed the connection) |
| 03:55:41 | | raptor has joined |
| 03:55:44 | | raptor Quit (Changing host) |
| 03:55:44 | | raptor has joined |
| 03:55:44 | | ChanServ sets mode +o |
| 04:01:09 | vs73nx | raptor: is this good enough? |
| 04:01:09 | vs73nx | http://pastie.org/8570568 |
| 04:03:03 | raptor | i'd not use the pointer |
| 04:03:14 | raptor | it just adds complication (and you forgot the '&') |
| 04:03:27 | raptor | just do: mEditorBindingSet.setEditorBinding |
| 04:03:37 | raptor | and mEditorBindingSet.getEditorBinding |
| 04:04:35 | | vs73nx has left #bitfighter |
| 04:04:44 | | vs73nx has joined |
| 04:15:27 | | fordcars has joined |
| 04:15:34 | fordcars | Hi |
| 04:15:41 | raptor | hi |
| 04:16:03 | fordcars | Anyboy know what bot:hasLosPt(pt) is in 019? |
| 04:16:16 | fordcars | Btfighter doesn't tell me |
| 04:16:44 | raptor | oh? |
| 04:16:44 | | BFLogBot Commit: dabedf96119c | Author: buckyballreaction | Message: Add some in-place string trimming methods |
| 04:16:47 | raptor | let me check... |
| 04:17:44 | raptor | I think it's here: http://bitfighter.org/luadocs/class_lua_script_runner.html |
| 04:17:48 | raptor | pointCanSeePoint |
| 04:18:04 | raptor | so bf:pointCanSeePoint(pt1, pt2) |
| 04:20:08 | fordcars | Ahh ok |
| 04:20:11 | fordcars | Thanks :) |
| 04:24:00 | fordcars | Oh and by the way Lua Docs still say getLoc instead of getPos |
| 04:24:29 | raptor | WHAT |
| 04:25:57 | fordcars | Dun Dun DUUUUUUUN |
| 04:26:39 | raptor | where |
| 04:27:16 | fordcars | Oh uh |
| 04:27:17 | raptor | it says: "deprecated" use getPos() instead |
| 04:27:19 | fordcars | BfObject |
| 04:27:25 | fordcars | It does? |
| 04:27:31 | raptor | yes, click on it |
| 04:27:53 | fordcars | Ahh ok |
| 04:28:17 | fordcars | Maybe it should say "WARNING: Deprecated!" in red next to it :) |
| 04:32:38 | raptor | back in a bit.. |
| 04:41:57 | fordcars | Back in a bit, later! |
| 04:42:01 | | fordcars Quit (Quit: Page closed) |
| 04:44:16 | vs73nx | raptor: there fixed it |
| 04:46:05 | vs73nx | raptor: http://pastie.org/8570608 |
| 05:38:26 | raptor | hi vs73nx, I'm heading to bed soon |
| 05:38:28 | raptor | but |
| 05:38:34 | raptor | in the header |
| 05:38:38 | raptor | don't use a pointer |
| 05:39:07 | raptor | and in those methods, use the . (dot) instead of the -> |
| 05:39:16 | vs73nx | oh ok |
| 05:39:32 | vs73nx | is it because theres much less overhead for using . (dot)? |
| 05:39:40 | raptor | if you use a pointer, then you'd have to create the EditorBindingSet with 'new' somewhere... which then gets messy |
| 05:39:53 | raptor | overhead is the same, I think, but it's about allocating the memory |
| 05:40:04 | raptor | best to avoid 'new' whenever possible |
| 05:40:48 | vs73nx | oh ok, are you able to point (no pun intended) me to a resource explaining why not to use new? |
| 05:41:54 | vs73nx | nvm if you cant |
| 05:42:42 | raptor | 'new' is OK to use when needed |
| 05:42:52 | raptor | but, you have to use 'delete' with 'new' |
| 05:43:09 | raptor | and sometimes that puts you into a difficult situation |
| 05:43:23 | vs73nx | alright thanks |
| 05:46:11 | vs73nx | wait one more question? |
| 05:46:41 | vs73nx | in the header im doing |
| 05:46:42 | vs73nx | EditorBindingSet mEditorBindingSet; |
| 05:47:11 | vs73nx | bit it gives me the compiler error |
| 05:47:12 | vs73nx | /home/vs73nx/development/eclipseProgs/c++/vs37nx-work4bitfighter/zap/InputCode.h:41:21: error: field �mEditorBindingSet� has incomplete type |
| 05:47:28 | raptor | here's a semi-decent explanation for pros/cons with 'new': http://gribblelab.org/CBootcamp/7_Memory_Stack_vs_Heap.html |
| 05:47:43 | raptor | ah |
| 05:49:36 | raptor | you may need to put the full struct above the InputCodeManager class declaration in the header |
| 05:50:21 | vs73nx | I did struct EditorBindingSet; |
| 05:50:27 | vs73nx | af ew lines above it |
| 05:50:37 | raptor | that's just a forward declaration that only works with pointer types |
| 05:50:49 | raptor | with non-pointer types, it needs to know the full thing |
| 05:51:53 | vs73nx | so i put the whole struct above it? |
| 05:53:11 | raptor | yes |
| 05:54:26 | vs73nx | but it requires variables from InputCodeManager |
| 05:54:33 | raptor | ah rats |
| 05:54:35 | raptor | well that stinks |
| 05:54:43 | vs73nx | InputCodeManager::EditorBindingNameEnum |
| 05:55:01 | raptor | oh boo... |
| 05:55:15 | vs73nx | id say that in each function you have |
| 05:55:16 | vs73nx | EditorBindingSet mEditorBindingSet; |
| 05:55:43 | raptor | that's bad |
| 05:55:56 | raptor | because it creates a brand new EditorBindingSet with all the defaults |
| 05:56:09 | vs73nx | hmmm... your right |
| 05:56:12 | raptor | we only want one copy |
| 05:56:22 | raptor | ok, we may have to use the pointer... |
| 05:56:24 | raptor | let me see |
| 05:58:48 | raptor | ok, in the InputCodeManager constructor, do: mEditorBindingSet = new EditorBindingSet; |
| 05:59:00 | vs73nx | so in the ctor would i alloc the memory using new and in the dtor delete it? |
| 05:59:01 | raptor | then in the destructor, do: delete mEditorBindingSet; |
| 05:59:05 | raptor | yep |
| 05:59:23 | raptor | that should be clean... since we only use it on InputCodeManager |
| 05:59:33 | raptor | and don't actually use the object anywhere else |
| 06:00:00 | raptor | then you change your dots back to arrows |
| 06:00:11 | raptor | I need to sleep now, still getting over a cold |
| 06:00:29 | vs73nx | good night then |
| 06:00:32 | raptor | when you're done, commit everything to your repo and i'll look first thing tomorrow |
| 06:00:33 | vs73nx | and get well soon! |
| 06:00:38 | raptor | thanks! |
| 06:00:41 | raptor | night everyone! |
| 06:01:26 | | raptor Quit () |
| 06:13:58 | | Nothing_Much Quit (Remote host closed the connection) |
| 06:27:44 | | Nothing_Much has joined |
| 06:51:27 | | Skybax has joined |
| 07:04:37 | | Platskies has joined |
| 07:15:50 | | Platskies Quit (Ping timeout: 264 seconds) |
| 07:16:11 | | kumul Quit (Quit: Leaving) |
| 07:38:43 | | Darrel has joined |
| 07:41:03 | | Skybax_ has joined |
| 07:43:27 | | Skybax Quit (Ping timeout: 240 seconds) |
| 07:44:49 | | Platskies has joined |
| 07:45:50 | | Watusimoto has joined |
| 08:38:56 | | Platskies Quit (Quit: Gotta go) |
| 09:00:52 | | Skybax_ is now known as Skybax |
| 09:05:09 | | Skybax Quit (Ping timeout: 240 seconds) |
| 09:14:35 | vs73nx | Watusimoto: hi |
| 09:14:48 | Watusimoto | hi! |
| 09:15:00 | vs73nx | ive done the task |
| 09:15:12 | vs73nx | raptor said that hed look at it later |
| 09:15:52 | Watusimoto | great. Did you get the help to work? |
| 09:15:59 | vs73nx | no |
| 09:16:12 | vs73nx | that is a bit out of my dapth |
| 09:16:15 | Watusimoto | so what what did you change since my last message? |
| 09:16:17 | vs73nx | *depth |
| 09:16:21 | Watusimoto | (that's fine, as per my message) |
| 09:16:52 | Watusimoto | (it's not out of yur depth, per se, it's just a weirdly implemented system that may not be worth your while to learn. but you certainly could) |
| 09:17:07 | vs73nx | maybe a task after GCI |
| 09:17:17 | vs73nx | got rid of the EditorBindingSet mEditorBindingSet; in each function as it makes a new EditorBindingSet each time it is called |
| 09:17:21 | Watusimoto | well, I'll implement the missing bits, so no worries |
| 09:17:29 | vs73nx | oh thanks then |
| 09:17:52 | Watusimoto | you make a new EditorBindingSet each time that function is called? |
| 09:17:58 | vs73nx | no |
| 09:18:08 | vs73nx | i have a pointer |
| 09:18:18 | vs73nx | dont worry the memory is all accounted for |
| 09:18:40 | Watusimoto | that wasn't my concern. In the last iteration that I complained about, there was no memory leak |
| 09:18:48 | Watusimoto | that wasn't the issue |
| 09:18:53 | vs73nx | it is made with 'new' and deleted with 'delete' as it should |
| 09:19:26 | vs73nx | i also fixed some things in inputcode which were deleted when my editor went bezerk |
| 09:20:14 | Watusimoto | why did you choose this name? m_EditorBindingSet |
| 09:21:45 | vs73nx | wait pushed changes to repo now |
| 09:21:49 | Watusimoto | ok |
| 09:21:54 | vs73nx | didnt get around to it untill now |
| 09:22:15 | Watusimoto | no worries |
| 09:22:24 | vs73nx | k done pushed |
| 09:25:05 | Watusimoto | InputCodeManager::setEditorBinding has weird indention... just noticed that |
| 09:25:36 | Watusimoto | ok, here is a simple question (maybe) |
| 09:26:41 | Watusimoto | why in inputCodeManager do you do mEditorBindingSet = new EditorBindingSet, whereas there is no similar new/delete for binding sets used in the game itself? |
| 09:27:17 | Watusimoto | i.e. why do you make mEditorBindingSet a pointer and not a reference? |
| 09:27:32 | Watusimoto | (though I agree it does seem to be properly cleaned up) |
| 09:28:03 | vs73nx | dont know really |
| 09:28:09 | vs73nx | just did it i guess |
| 09:28:22 | vs73nx | a pointer seemed like a reasonable idea at the time |
| 09:29:18 | vs73nx | i have a very basic understanding of pointers and references |
| 09:29:33 | vs73nx | so i have trouble understanding these concepts |
| 09:29:59 | Watusimoto | in general, it is better to use a reference because it will be automatically cleaned up. You do clean up the pointer properly, but it is more fragile -- if someone removes teh delete statement int he future, it will create a leak. With a reference, there is no such possibility. |
| 09:30:13 | Watusimoto | sometimes a pointer is necessary, but in this case it is not |
| 09:31:09 | Watusimoto | here is how I think about it... if I want an object (as you do in this case), I use a reference. If I want to have a reference to someone else's object, I use a pointer (confusing words there, I know). |
| 09:31:42 | Watusimoto | usually, the owner will create a reference, though that's not always possible |
| 09:32:08 | Watusimoto | so in this case inputCodeManager owns the binding set, so it should be a reference |
| 09:32:25 | vs73nx | so in the header i do EditorBindingSet &mEditorBindingSet; |
| 09:33:27 | Watusimoto | (there are certainly exceptions... such as if you didn't want to instantiate the binding set until the editor was called, then a pointer would be better; for example if it was an expensive operation and you wanted to do lazy initialization. But that is not the case here) |
| 09:33:38 | Watusimoto | without the & |
| 09:33:43 | vs73nx | error: uninitialized reference member �Zap::InputCodeManager::mEditorBindingSet� [-fpermissive] |
| 09:33:51 | vs73nx | so without the & |
| 09:33:54 | Watusimoto | yes |
| 09:33:59 | Watusimoto | just like declarin an int |
| 09:34:01 | Watusimoto | int x; |
| 09:34:12 | Watusimoto | BindingSet mBindingSet; |
| 09:35:36 | vs73nx | error: field �mEditorBindingSet� has incomplete type |
| 09:36:14 | Watusimoto | do you knwo what that means? |
| 09:36:32 | vs73nx | no |
| 09:36:57 | Watusimoto | when you create a pointer, the compiler knows how much memory it needs to allocate (usually 4 or 8 bytes or so) |
| 09:37:15 | Watusimoto | with a reference, it does not know, because the object could be anything |
| 09:37:22 | Watusimoto | but it needs to know |
| 09:37:28 | vs73nx | right |
| 09:37:31 | vs73nx | ok |
| 09:37:31 | Watusimoto | otherwise it can't reserve the memory for the object |
| 09:37:45 | Watusimoto | so... does that offer a clue as to how to fix the problem? |
| 09:38:37 | vs73nx | yes |
| 09:38:41 | Watusimoto | you need to tell the compiler about what the EditorBindingSet looks like... |
| 09:38:59 | vs73nx | its a struct |
| 09:39:10 | vs73nx | so... |
| 09:39:14 | vs73nx | wait i get it |
| 09:39:36 | Watusimoto | tell me |
| 09:40:03 | vs73nx | nope i didnt get it |
| 09:40:31 | Watusimoto | you added struct EditorBindingSet; right? |
| 09:40:36 | Watusimoto | and it didn't work, right? |
| 09:40:39 | vs73nx | pointer references and stuff is my biggest gap in my programming education |
| 09:40:47 | vs73nx | yes i did |
| 09:40:49 | Watusimoto | this isn't a pointer issue |
| 09:41:03 | vs73nx | oh ok |
| 09:41:19 | Watusimoto | knowing it is a struct isn't helpful here... it needs more information, to know how many members that struct has |
| 09:41:52 | Watusimoto | how else can you tell the compiler about what a class contains? |
| 09:45:16 | vs73nx | the problem is that i paste the struct above that block of code, and it cant tell the contents of the struct before the actual struct... |
| 09:46:12 | Watusimoto | try #including it |
| 09:47:27 | vs73nx | #includeing something that is already there |
| 09:47:39 | Watusimoto | it's already there? |
| 09:47:52 | Watusimoto | in the .h file? |
| 09:47:52 | vs73nx | im working in the inputCode header FYI |
| 09:48:24 | Watusimoto | ok, where is EditorBindingSet declared? |
| 09:48:40 | vs73nx | http://pastie.org/8570976 |
| 09:49:00 | vs73nx | sorry wrong paste |
| 09:49:01 | vs73nx | http://pastie.org/8570977 |
| 09:49:51 | Watusimoto | sorry, where is it defined? |
| 09:50:10 | Watusimoto | same file? |
| 09:50:13 | vs73nx | yes |
| 09:50:23 | Watusimoto | then the definition needs to be above it |
| 09:50:29 | vs73nx | inputCode.h |
| 09:50:45 | Watusimoto | BindingSet should be above too, no? |
| 09:51:00 | vs73nx | http://pastie.org/8570978 |
| 09:51:18 | vs73nx | EditorBindingSet is declared above it |
| 09:51:43 | Watusimoto | I'm looking at the header now |
| 09:52:01 | Watusimoto | there is this: struct BindingSet; |
| 09:52:10 | Watusimoto | but that's just a forward declaration |
| 09:52:26 | Watusimoto | so this should not work: |
| 09:52:26 | Watusimoto | Vector<BindingSet> mBindingSets; |
| 09:52:44 | Watusimoto | (but it does, apparently) |
| 09:52:55 | vs73nx | it does |
| 09:53:11 | vs73nx | by some dark compiler magic |
| 09:54:21 | Watusimoto | yes :-) |
| 09:54:40 | Watusimoto | ok, well this will take a little rearranging, but I see no fundamental problems here |
| 09:55:16 | Watusimoto | so move the defs of BindingSet and EditorBindingSet up above the def of InputCodeManager |
| 09:55:35 | Watusimoto | that will break the xmacros because we don't define BindingTable until down a little lower |
| 09:56:08 | Watusimoto | so then pull the defs of bindingtable and editorbt up above the bindingsets and things should compile ok |
| 09:56:47 | Watusimoto | it is a bit weird that bindingtable is defined inside InputCodeManager anyway, because it's not really a part of InputCodeManager, so that will be cleaner as well |
| 09:57:07 | Watusimoto | and, before you do this, make sure eclipse is not autoformatting your code!!!!! |
| 09:57:29 | vs73nx | k |
| 09:57:42 | Watusimoto | also, while you're in there, I like this line you added: |
| 09:57:42 | Watusimoto | /*----------------------------------------EDITOR_BINDING_TABLE-------------------------------------------*/ |
| 09:57:51 | vs73nx | thanks |
| 09:57:51 | Watusimoto | would you add the same for BINDING_TABLE? |
| 09:58:01 | vs73nx | yes i will |
| 09:58:04 | Watusimoto | it makes it much easier to understand, for some reason |
| 09:58:14 | Watusimoto | I may start adding that to all the xmacro defs |
| 09:58:17 | vs73nx | yes and much preetier |
| 09:58:29 | Watusimoto | yes |
| 09:58:51 | Watusimoto | there -- you may have made an enduring style change to our codebase |
| 09:59:13 | vs73nx | cool |
| 09:59:17 | Watusimoto | (as proof we'll steal good ideas from anywhere!) |
| 09:59:28 | vs73nx | heh |
| 10:00:10 | vs73nx | but the defs of BindingTable require thins such as |
| 10:00:11 | vs73nx | InputCodeManager::BindingNameEnum |
| 10:02:55 | vs73nx | just bought 0.00052199 BITCOINS |
| 10:03:06 | vs73nx | trading them for fethercoins |
| 10:05:48 | vs73nx | So making a reference to EditorBindingSet requires the struct to be above the InputCode class but the EditorBindingSet requires things from InputCode. |
| 10:05:56 | vs73nx | those needs just cant be met... |
| 10:06:40 | Watusimoto | sure they can |
| 10:06:45 | vs73nx | how? |
| 10:07:08 | Watusimoto | not sure at the moment, but I've never found an unresolvable situation like this |
| 10:07:12 | Watusimoto | I doubt this is the first |
| 10:07:38 | Watusimoto | what does editorBindingset need from inputcode? |
| 10:08:53 | vs73nx | http://pastie.org/8570997 |
| 10:10:32 | Watusimoto | EditorBindingNameEnum ? |
| 10:10:42 | vs73nx | yes |
| 10:10:46 | Watusimoto | ok, no problem |
| 10:11:33 | Watusimoto | Declare that enum outside of InputCode, make it a "free standing" enum |
| 10:11:41 | Watusimoto | delcare it above InputCode |
| 10:12:16 | Watusimoto | then you'll need to find all refs to InputCodeManager::EditorBindingNameEnum and make them just EditorBindingNameEnum |
| 10:12:37 | vs73nx | and the BINDING_TABLE ? |
| 10:13:54 | Watusimoto | move it to the top! |
| 10:19:09 | vs73nx | also had to fix everything in config.cpp |
| 10:19:30 | Watusimoto | yes, anything that refers tot hat enum will have to change |
| 10:19:38 | Watusimoto | it's the price of progress! |
| 10:19:40 | vs73nx | agreed |
| 10:30:37 | Watusimoto | ok, our guests have arrived, will be back later |
| 10:31:22 | vs73nx | ok have a great time |
| 10:34:52 | | Watusimoto Quit (Ping timeout: 240 seconds) |
| 10:50:32 | | Flynnn has joined |
| 10:50:53 | | Flynnn Quit (Client Quit) |
| 11:17:09 | | vs73nx Quit (Quit: Leaving) |
| 11:29:30 | | kaen Quit (Ping timeout: 245 seconds) |
| 11:30:23 | | vs73nx has joined |
| 11:42:19 | vs73nx | expected declaration before �}� token error |
| 11:42:26 | vs73nx | this is going to be fun |
| 11:42:46 | vs73nx | searchong through thousands of lines of code |
| 11:42:47 | vs73nx | ;D |
| 11:56:47 | | Darrel Quit (Read error: Connection reset by peer) |
| 11:57:06 | | Darrel has joined |
| 12:19:53 | vs73nx | ok goodnight everyone! |
| 12:20:09 | | vs73nx Quit (Quit: Leaving) |
| 12:27:37 | | Watusimoto has joined |
| 13:08:53 | | Watusimoto Quit (Ping timeout: 272 seconds) |
| 13:10:47 | | Darrel Quit (Ping timeout: 272 seconds) |
| 13:23:52 | | Watusimoto has joined |
| 14:54:49 | | Darrel has joined |
| 15:04:20 | | Watusimoto Quit (Ping timeout: 240 seconds) |
| 15:09:13 | | Watusimoto has joined |
| 16:09:08 | | thread_ has joined |
| 16:15:27 | | Canseco has joined |
| 16:20:40 | | kumul has joined |
| 17:00:28 | | raptor has joined |
| 17:00:28 | | ChanServ sets mode +o |
| 17:00:38 | raptor | good morning! |
| 17:01:22 | oskopek | good evening :) |
| 17:01:36 | Watusimoto | hi |
| 17:06:09 | raptor | oh hi Watusimoto |
| 17:06:27 | raptor | I talked with vs73nx last night (I see you did too) |
| 17:06:43 | raptor | reviewed a lot of his work - looks like you suggested he use a reference as well |
| 17:06:55 | Watusimoto | :-) |
| 17:07:04 | Watusimoto | he'll get there... he's really close |
| 17:07:06 | raptor | I first made that suggestion, but then realized he'd have to refactor that whole header so I said to stick with a pointer |
| 17:07:13 | Watusimoto | he's just a bit confused |
| 17:07:40 | Watusimoto | ah well, having to deal with conflicting direction from two "bosses" is part of programming |
| 17:07:44 | raptor | there were a number of other anomolous code changes that I had him revert |
| 17:08:01 | raptor | like leftover code from multiple things and accidental deletion of some important bits |
| 17:08:27 | Watusimoto | maybe I should say "we'll get there" |
| 17:09:04 | raptor | oh, tell your son he can submit two maps, one for each gametype |
| 17:09:24 | Watusimoto | oh right |
| 17:09:37 | Watusimoto | well, he's an inch from being grounded from the computer for a while |
| 17:09:37 | raptor | i'm hoping for more... hint, hint |
| 17:09:42 | raptor | ah, ok |
| 17:09:45 | Watusimoto | maybe two inches |
| 17:09:52 | Watusimoto | as this is christmas |
| 17:09:57 | raptor | i wouldn't dare ask for leniency in that |
| 17:10:15 | Watusimoto | the deadline is the 26th, right? |
| 17:10:23 | Watusimoto | and the gametypes are core and retrieve? |
| 17:10:23 | raptor | as I rightfully needed to be grounded several times as a teenager... |
| 17:10:29 | raptor | correct |
| 17:10:34 | raptor | midnight PST 26th |
| 17:10:37 | Watusimoto | ok |
| 17:10:43 | Watusimoto | will pass it along |
| 17:10:47 | raptor | which means if you sneak one in when i'm asleep, you get another 7-8 hours |
| 17:10:52 | Watusimoto | :-) |
| 17:12:35 | raptor | my vacation starts today! |
| 17:12:48 | raptor | now I have to pretend to be productive around the house... |
| 17:23:14 | Watusimoto | After about 4 days of fiddling, I finally got my tests to work properly. Not the real tests that test bot leveling, but just the ones that test getting setup to test bot leveling... creating games, adding teams, and bots/humans to teams |
| 17:23:18 | Watusimoto | what a pain |
| 17:24:30 | | Canseco Quit (Remote host closed the connection) |
| 17:29:42 | raptor | yay! |
| 17:30:54 | Watusimoto | hopefuly, though, the rest will go quickly, as I created some neat methods for creating and testing teams |
| 17:31:20 | raptor | oh excellent |
| 17:31:29 | raptor | i've just been slowly fixing bugs |
| 17:31:35 | Watusimoto | setTeams(gamePair, "BBBBB HH H B B B"); |
| 17:31:35 | Watusimoto | EXPECT_EQ("BBBBB HH H B B B", getTeams(gamePair)); |
| 17:31:44 | raptor | ha! |
| 17:31:47 | Watusimoto | creates then verifies 6 teams |
| 17:32:24 | raptor | nifty |
| 17:43:09 | Watusimoto | with teams HHH B, what should morebots produce? |
| 17:43:15 | Watusimoto | HHH BBB or HHH BB? |
| 17:43:55 | Watusimoto | I think we decided HHH BBB |
| 17:44:04 | Watusimoto | in which case I miscoded the tests |
| 17:45:10 | raptor | BB |
| 17:45:15 | raptor | no wait |
| 17:45:23 | raptor | yeah, BB |
| 17:45:38 | raptor | 1 team-increment at a time |
| 17:45:42 | Watusimoto | ok, gotta go make dinner... back laterz (feel free to amend your answer... the window will be open for a while) |
| 17:46:19 | Watusimoto | ps and HHHH B BB morebots ==> HHHH BB BBB? |
| 17:46:26 | Watusimoto | or HHHH BBBB BBBB |
| 17:46:36 | Watusimoto | or... |
| 17:46:45 | raptor | HHHH BB BB |
| 17:47:01 | raptor | man, you're getting into some rarer edge cases... |
| 17:47:09 | raptor | then HHHH BBB BBB |
| 17:47:13 | Watusimoto | just need some rules! |
| 17:47:24 | Watusimoto | tests aer all about edge cases |
| 17:58:31 | raptor | well great - now i'm waffling |
| 17:58:50 | raptor | I think I coded it before as 1 team increment at a time |
| 17:59:04 | raptor | but what does the player really want? probably fill up all teams evenly on first try |
| 18:07:49 | | Watusimoto Quit (Ping timeout: 252 seconds) |
| 18:31:07 | | Darrel Quit (Read error: Operation timed out) |
| 18:31:43 | | Darrel has joined |
| 18:53:47 | | thread_ Quit (Ping timeout: 272 seconds) |
| 19:15:29 | | kumul Quit (Ping timeout: 250 seconds) |
| 19:22:03 | | Nothing_Much_ has joined |
| 19:22:25 | | Skybax has joined |
| 19:22:38 | | Watusimoto has joined |
| 19:26:24 | | Nothing_Much Quit (*.net *.split) |
| 19:29:27 | | Watusimoto Quit (Ping timeout: 258 seconds) |
| 19:29:27 | | Nothing_Much_ Quit (Quit: No Ping reply in 180 seconds.) |
| 19:29:52 | | Nothing_Much has joined |
| 19:44:15 | | kodapad has joined |
| 19:55:09 | | Watusimoto has joined |
| 19:56:17 | | Skybax_ has joined |
| 19:59:17 | | Skybax Quit (Ping timeout: 272 seconds) |
| 19:59:52 | Watusimoto | raptor: I think when you originall coded it, it filled the teams on the first try |
| 20:00:12 | Watusimoto | and I think I recall us discussing and agreeing that was how it should work |
| 20:00:35 | Watusimoto | btw, be very careful when eating frozen sticky rice dessert in bamboo stick |
| 20:00:49 | Skybax_ | What |
| 20:00:53 | Watusimoto | it is, apparently, not intnded to be eaten while frozen, as I learned too late |
| 20:00:57 | | Skybax_ is now known as Skybax |
| 20:01:18 | Watusimoto | I served it for dinner for company... it was a bit like gnawing on a frozen... bamboo stick |
| 20:01:20 | Skybax | I don't even |
| 20:01:52 | Skybax | I'm eating biscuits and gravy |
| 20:01:54 | Watusimoto | essentially this: |
| 20:01:56 | Watusimoto | http://www.alibaba.com/sticky-rice-dessert-bamboo-suppliers.html |
| 20:02:09 | Watusimoto | better: http://www.alibaba.com/product-free/116769621/Sticky_Rice_Dessert.html |
| 20:02:33 | Watusimoto | interestingly, that page includes a link called "Not exactly what you want?" no, it wasn't |
| 20:02:36 | Skybax | Why is one of them pink |
| 20:02:43 | Watusimoto | that was the baby |
| 20:03:11 | Watusimoto | frozen sticky rice dessert in baby bamboo stick |
| 20:03:11 | Skybax | Baby? |
| 20:03:17 | Skybax | Ah |
| 20:03:24 | Watusimoto | the little ones are always a bit more tender |
| 20:03:29 | Watusimoto | unless they are frozen, of course |
| 20:03:34 | Skybax | Apparently I don't know enough about the life cycle of bamboo |
| 20:03:50 | Watusimoto | well, we made it through one of them... two more to go |
| 20:04:23 | Watusimoto | after the baby bamboo hatch, they are tender and pink for a few days before they grow their hard, woody shell |
| 20:05:07 | Watusimoto | if you can catch one, and stuff it full of sticky rice dessert, it should be extra tasty |
| 20:05:34 | Watusimoto | unfortunately, the ones we got were old, wizened, gristley bamboo sticks that had become tough and... cold |
| 20:05:37 | Watusimoto | frozen, actually |
| 20:05:44 | | Skybax_ has joined |
| 20:06:51 | Skybax_ | Ha |
| 20:08:10 | | Skybax Quit (Ping timeout: 246 seconds) |
| 20:08:42 | | Skybax_ is now known as Skybax |
| 20:27:38 | Watusimoto | In this situation, moreBots adds a whole lot of moreBots: |
| 20:27:39 | Watusimoto | setTeams(gamePair, "BBBBB HH H B B B"); EXPECT_EQ("BBBBB HH H B B B", getTeams(gamePair)); |
| 20:27:39 | Watusimoto | gamePair.server->moreBots(); EXPECT_EQ("BBBBB HHBBB HBBBB BBBBB BBBBB BBBBB", getTeams(gamePair)); |
| 20:28:02 | Watusimoto | Unrealistic? sure. But that's a lot of bots |
| 20:34:04 | Skybax | I like bots |
| 20:38:37 | Skybax | When are bot spawns going to be added? |
| 20:45:28 | | kodapad Quit (Quit: K Thx Bai) |
| 20:46:40 | | koda has joined |
| 21:03:22 | | YoshiSmb has joined |
| 21:27:02 | | YoshiSmb Quit (Ping timeout: 272 seconds) |
| 22:24:02 | | vs73nx has joined |
| 22:25:38 | | Darrel Quit (Quit: IRC client killed.) |
| 22:26:21 | vs73nx | hello |
| 22:31:34 | | Flynnn has joined |
| 22:32:55 | | fordcars has joined |
| 22:33:43 | fordcars | Uh, lua is giving me a weird error that I don't have in 018. |
| 22:33:55 | fordcars | ***ROBOT ERROR*** Error compiling script C:\Users\Carl\AppData\Roaming\Bitfighter\robots/zombie.bot C:\Users\Carl\AppData\Roaming\Bitfighter\robots/zombie.bot:85: '=' expected near 'bulletFromTeam' |
| 22:34:30 | fordcars | local bulletFromTeam = false |
| 22:34:37 | fordcars | That is line 85 |
| 22:35:00 | fordcars | s_bot is exactly the same too and it works |
| 22:36:10 | fordcars | Oh o |
| 22:36:33 | fordcars | This didn't happen earlier and now it does, I didn't even touch that :O |
| 22:36:46 | fordcars | Must be the Team index or something that is messed up |
| 22:37:14 | fordcars | Uh nope |
| 23:08:16 | vs73nx | im trying o m mine and it ISNT WORKING!!! |
| 23:10:04 | | koda Quit (Quit: koda) |
| 23:30:18 | Skybax | :O |
| 23:31:09 | Skybax | fordcars: is zombiebot still borked? |
| 23:31:26 | fordcars | Yep |
| 23:31:30 | Skybax | Poo |
| 23:33:05 | Skybax | fordcars: is Skybot still borked? |
| 23:54:37 | Nothing_Much | Hi everyone |
| 23:54:50 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 23:55:45 | | Flynnn has joined |