Timestamps are in GMT/BST.
| 00:07:00 | | raptor has joined |
| 00:07:00 | | ChanServ sets mode +o raptor |
| 00:24:00 | | Zoomber has joined |
| 00:24:00 | | ChanServ sets mode +v Zoomber |
| 00:24:00 | Zoomber | hi raptor |
| 00:28:00 | raptor | hullo |
| 00:28:00 | Zoomber | raptor: I thought of a way around the stats.php script |
| 00:29:00 | Zoomber | let me show you what i want to achieve |
| 00:29:00 | Zoomber | http://armagetronad.net/servers.php |
| 00:29:00 | Zoomber | i could try creating a script that parses whatever the table is when it "fetches" it from this website into my own page |
| 00:30:00 | raptor | yes |
| 00:30:00 | Zoomber | is that plausible? |
| 00:30:00 | raptor | do you have database access? |
| 00:30:00 | Zoomber | to that server? |
| 00:30:00 | Zoomber | no, but |
| 00:31:00 | Zoomber | if you view page source, you can see the table it gives you |
| 00:31:00 | raptor | ah... you want to 'screen scrape' |
| 00:31:00 | raptor | yes, screen scraping is very plausible |
| 00:31:00 | Zoomber | is it possible for me to make a script, that basically fetches that table i recieve when i load the script |
| 00:31:00 | Zoomber | and parse it in |
| 00:31:00 | raptor | oh yes |
| 00:31:00 | raptor | in fact a lot of the internet is run in that way |
| 00:31:00 | sam686 | that online server list is somewhat similar to our bitfighter server list. http://bitfighter.org/bitfighterStatus.json (it is just in a json format) |
| 00:34:00 | raptor | zoomber i recommend using wget and pipe it to an xml parser |
| 00:34:00 | Zoomber | a script that does the 'wget' command and pipes it to an xml parser? |
| 00:35:00 | Zoomber | ok |
| 00:35:00 | raptor | http://xmlstar.sourceforge.net/ |
| 00:35:00 | raptor | that is one of the best |
| 00:35:00 | raptor | good read: http://www.ibm.com/developerworks/library/x-starlet/index.html |
| 00:37:00 | raptor | xml starlet is probably a standard package on most distributions |
| 00:37:00 | Zoomber | ok |
| 00:38:00 | Zoomber | doing a yum install |
| 00:39:00 | raptor | you'll have to do a lot of trial and error - there is a learning curve |
| 00:39:00 | raptor | but there is decent documentation on the homepage |
| 00:39:00 | Zoomber | af |
| 00:39:00 | Zoomber | this will succkkkkkkkkkkkkkkkkkk |
| 00:39:00 | raptor | screen scraping always does.. :) |
| 00:39:00 | Zoomber | ok first things first |
| 00:40:00 | Zoomber | does this app both make and take? |
| 00:40:00 | raptor | but it's what the world does because it doesn't have direct database access |
| 00:40:00 | raptor | what does that mean? |
| 00:40:00 | Zoomber | just, does it do both taking information from the <html> table AND create the temp xml file? |
| 00:40:00 | raptor | it can transform, if that's what you mean |
| 00:40:00 | Zoomber | or just write / overwrite to a file |
| 00:40:00 | raptor | yes, it can |
| 00:41:00 | Zoomber | looks like i had the package already |
| 00:41:00 | Zoomber | so i can just create an xml file before hand |
| 00:41:00 | Zoomber | and do, "ed" once i get my info? |
| 00:42:00 | raptor | you mean insert, after the fact? |
| 00:43:00 | Zoomber | ed to edit my xml file |
| 00:43:00 | Zoomber | thats blank |
| 00:43:00 | Zoomber | or maybe rm the old file, create a new file, and then edit it in |
| 00:43:00 | raptor | you can transform on-the-fly |
| 00:43:00 | Zoomber | tr? |
| 00:44:00 | raptor | it'll probably be a combination of 'sel' and 'tr' |
| 00:44:00 | raptor | do you know how to use pipes? |
| 00:44:00 | raptor | liek this: ls | less |
| 00:44:00 | Zoomber | ummm |
| 00:44:00 | Zoomber | you connect them together |
| 00:44:00 | Zoomber | and water flows through? |
| 00:44:00 | raptor | pipe the output of one command into the input of another? |
| 00:45:00 | Zoomber | : ) |
| 00:46:00 | raptor | http://tldp.org/LDP/abs/html/io-redirection.html |
| 00:46:00 | raptor | you should keep this reference: http://tldp.org/LDP/abs/html/index.html |
| 00:46:00 | raptor | everything you need to know about using commandline in linux |
| 00:46:00 | raptor | sorry, gotta go... |
| 00:47:00 | | raptor Quit (Remote host closed the connection) |
| 00:49:00 | Zoomber | can i use file_get_contents? |
| 00:49:00 | Zoomber | aww |
| 00:52:00 | | koda Quit (Quit: koda) |
| 01:17:00 | | Zoomber_ has joined |
| 01:17:00 | | Zoomber Quit (Read error: Connection reset by peer) |
| 01:17:00 | | ChanServ sets mode +v Zoomber_ |
| 01:17:00 | | Zoomber_ is now known as Zoomber |
| 02:23:00 | | Zoomber Quit (Read error: Connection reset by peer) |
| 02:23:00 | | Zoomber_ has joined |
| 02:23:00 | | ChanServ sets mode +v Zoomber_ |
| 03:36:00 | | Zoomber_ Quit (Quit: Zoomber_) |
| 04:56:00 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 05:04:00 | | Flynnn has joined |
| 05:21:00 | | Flynnn Quit (Quit: Leaving) |
| 06:25:00 | | koda has joined |
| 06:39:00 | | koda Quit (Quit: koda) |
| 06:51:00 | | Flynnn has joined |
| 07:31:00 | | kodax has joined |
| 07:48:00 | | sam686 Quit (Ping timeout: 258 seconds) |
| 07:48:00 | | sam686 has joined |
| 07:48:00 | | ChanServ sets mode +v sam686 |
| 09:33:00 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 11:43:00 | | LordDVG has joined |
| 13:30:00 | | raptor has joined |
| 13:30:00 | | ChanServ sets mode +o raptor |
| 14:03:00 | | watusimoto has joined |
| 14:03:00 | | ChanServ sets mode +o watusimoto |
| 14:03:00 | watusimoto | hi |
| 14:03:00 | raptor | buenos |
| 14:04:00 | watusimoto | bom dia |
| 14:04:00 | watusimoto | guten tag |
| 14:05:00 | watusimoto | bin jour |
| 14:05:00 | watusimoto | bon jour, that is |
| 14:05:00 | raptor | howdy? |
| 14:05:00 | raptor | that's a different language, right? |
| 14:05:00 | watusimoto | ohio goziymas |
| 14:05:00 | watusimoto | yes |
| 14:05:00 | watusimoto | Portugese, German, French, Japanese |
| 14:05:00 | raptor | texan |
| 14:05:00 | watusimoto | salam alikum |
| 14:06:00 | watusimoto | Arabic |
| 14:06:00 | watusimoto | or Marhaba if you prefer a less religious greeting |
| 14:06:00 | raptor | my wife said the latter |
| 14:08:00 | raptor | i'm afraid to say i've started research into several google code cases - but each one i start i promptly end up unconscious |
| 14:10:00 | raptor | but i did find the issue with your editor fullscreen bug when opening an attribute menu |
| 14:10:00 | watusimoto | I saw your email |
| 14:10:00 | watusimoto | I'll look into it tonight, if I can fix my double-delete issue |
| 14:11:00 | raptor | double delete? |
| 14:11:00 | watusimoto | somehow menuItems are being deleted twice, I think |
| 14:11:00 | watusimoto | once via an unknown mechansim, then again via boost smart ptrs |
| 14:12:00 | watusimoto | learning git here at work |
| 14:12:00 | raptor | cool |
| 14:12:00 | watusimoto | yes; but now I have my fingers in too many systems |
| 14:12:00 | watusimoto | svn; git; Hg |
| 14:12:00 | raptor | haha |
| 14:13:00 | raptor | well, we could convert our repo to git - i think google code supports git now; although, i don't think git is windows friendly still... |
| 14:15:00 | watusimoto | well, let's talk about that after the release |
| 14:16:00 | watusimoto | I'm trying to focus |
| 14:16:00 | watusimoto | :-) |
| 14:16:00 | raptor | release!! |
| 14:16:00 | raptor | release release release |
| 14:22:00 | raptor | if you tell me how to duplicate your menuitem problem, i can try and diagnose |
| 14:23:00 | | watusimoto Quit (Ping timeout: 258 seconds) |
| 14:24:00 | | raptor Quit (Remote host closed the connection) |
| 15:31:00 | | watusimoto has joined |
| 15:31:00 | | ChanServ sets mode +o watusimoto |
| 15:53:00 | | raptor has joined |
| 15:53:00 | | ChanServ sets mode +o raptor |
| 15:54:00 | raptor | hello again |
| 15:56:00 | karamazovapy | Little_Apple has posted a video of himself on youtube |
| 15:56:00 | raptor | hAHA, i saw |
| 15:56:00 | karamazovapy | and my understanding of our community increases 75% |
| 15:56:00 | raptor | everything m akes so much sense now |
| 15:57:00 | karamazovapy | yeah |
| 15:57:00 | karamazovapy | it's one thing to know they're kids and another to see them on youtube |
| 15:58:00 | raptor | real life changes everything... |
| 16:06:00 | | watusimoto Quit (Ping timeout: 256 seconds) |
| 16:06:00 | raptor | what was going on? |
| 16:08:00 | | LordDVG Quit (Remote host closed the connection) |
| 16:46:00 | | kodax Quit (Remote host closed the connection) |
| 17:17:00 | | Kumul has joined |
| 18:05:00 | | Flynnn has joined |
| 18:06:00 | Kumul | are there instructions somewhere on building with freebsd? |
| 18:13:00 | sam686 | i don't have instruction on freebsd or know nothing much about freebsd right now.. |
| 18:14:00 | sam686 | maybe raptor might know a little more about freebsd or maybe not... |
| 18:18:00 | Kumul | i followed the instructions and got to compile a bit, errors on udp.cpp tho, no ipx or something |
| 18:19:00 | sam686 | you can try adding a line #define NO_IPX_SUPPORT if that is a problem.. |
| 18:44:00 | | sam686 Quit (Ping timeout: 258 seconds) |
| 18:45:00 | | sam686 has joined |
| 18:45:00 | | ChanServ sets mode +v sam686 |
| 18:48:00 | | watusimoto has joined |
| 18:48:00 | watusimoto | have internet at home!! |
| 18:48:00 | Kumul | error on SOCKADDR now, dont worry, i guess ill have to leave this for later |
| 19:46:00 | | koda has joined |
| 19:48:00 | karamazovapy | hurray! |
| 19:48:00 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 19:52:00 | watusimoto | hurray internet or hurray sockaddr error? |
| 20:00:00 | raptor | hello! |
| 20:00:00 | raptor | i'm back |
| 20:01:00 | raptor | oooo, a newcomer - hello karamazovapy |
| 20:01:00 | raptor | oops |
| 20:01:00 | raptor | hello Kumul |
| 20:11:00 | raptor | karamazovapy or watusimoto, what do you think about sky_lark's suggestions about rabbit points? (fewer per kill; more for holding the flag) |
| 20:12:00 | sam686 | Currently, levels in rabbit have options to adjust number of points per minute gained from holding rabbit flag. Try setting it to 99 points per minute. |
| 20:12:00 | raptor | oh really? |
| 20:12:00 | sam686 | yes |
| 20:12:00 | raptor | ok, cool |
| 20:12:00 | raptor | i guess i've never made a rabbit level... |
| 20:13:00 | raptor | in that case - it's probably a case of poor level choices... |
| 20:14:00 | watusimoto | I think we shoudl normalize all rabbit scoring personally... I see no benefit to having different rates of score for different rabbit games |
| 20:14:00 | watusimoto | and yes, hi Kamul |
| 20:14:00 | watusimoto | Kumul |
| 20:14:00 | watusimoto | sorry! |
| 20:14:00 | raptor | sooo.... 2 points a kill, and a point every 5 seconds? |
| 20:14:00 | raptor | (just throwing out random numbers...) |
| 20:15:00 | sam686 | i might think about zero points per kill (especially team rabbit) |
| 20:16:00 | karamazovapy | I think score rate is useful |
| 20:16:00 | karamazovapy | in my circular maze rabbit, I set the score rate really low so you have to kill other players to win |
| 20:16:00 | raptor | ah, you think *setting* the rate is useful |
| 20:16:00 | karamazovapy | I think being able to set the score rate is useful, yes |
| 20:17:00 | karamazovapy | it allows you to weight the game toward fighting or fleeing |
| 20:17:00 | watusimoto | anyone here good with templates in c++? |
| 20:18:00 | karamazovapy | you could create a de facto king-of-the-hill gametype by setting the score rate at 0 per minute |
| 20:18:00 | sam686 | i kind of understand more with C++ templates now... |
| 20:18:00 | karamazovapy | it'd work even better if the rabbit's team could have its own turrets and forcefields |
| 20:18:00 | watusimoto | ok, sam, can I define a template that only applies to a certain class and its subclasses? |
| 20:18:00 | watusimoto | i.e. |
| 20:19:00 | watusimoto | instead of this: template <typename T> class Lunar |
| 20:19:00 | watusimoto | something like this: |
| 20:19:00 | watusimoto | template <typename T(LuaObject)> class Lunar |
| 20:19:00 | watusimoto | I just invented that syntax |
| 20:19:00 | raptor | http://www.cprogramming.com/tutorial/template_specialization.html |
| 20:19:00 | watusimoto | I basically want T to know it's a LuaObject or better |
| 20:20:00 | sam686 | i will need to look at class Luner... |
| 20:21:00 | watusimoto | What I'm trying to do is this: |
| 20:21:00 | watusimoto | when we create a new object from Lua using class:new(), lua will garbage collect that object |
| 20:22:00 | watusimoto | I want to be able to tell Lua not to do this in certain cases (usually we want it, occasionally we don't) |
| 20:22:00 | watusimoto | When Lunar creates an object, this line gets run: |
| 20:22:00 | watusimoto | push(L, obj, true); // gc_T will delete this object |
| 20:22:00 | watusimoto | the true tells lua to collect the object |
| 20:22:00 | watusimoto | so I need to, sometimes, pass in a false |
| 20:22:00 | watusimoto | for the moment, I can determine this class-by-class |
| 20:23:00 | watusimoto | I have been trying variants on this: |
| 20:23:00 | watusimoto | push(L, obj, (LuaObject *>(obj)->shouldCollect()); // gc_T will delete this object |
| 20:23:00 | watusimoto | where shouldCollect() returns a bool |
| 20:23:00 | watusimoto | it's implemented in LuaObject, and overridden in selected child classes |
| 20:24:00 | watusimoto | I see a syntax error in what I just pasted, but you get the idea |
| 20:24:00 | watusimoto | @k I agree that team turrets make sense in team rabbit |
| 20:25:00 | watusimoto | compiling this now, but I know it will fail: |
| 20:25:00 | watusimoto | push(L, obj, ((LuaObject *)(obj))->shouldCollect()); |
| 20:25:00 | karamazovapy | if I remember, they don't really function right now |
| 20:26:00 | karamazovapy | but in my head they should stick with the flag (or non-flag) side, not an individual player |
| 20:26:00 | sam686 | so, trying to make it so Lunar requires having T a LuaObject? |
| 20:27:00 | watusimoto | all objects that Lunar will work with are LuaObjects |
| 20:28:00 | watusimoto | or one of many subclasses |
| 20:28:00 | watusimoto | this is already true |
| 20:28:00 | sam686 | could always stick in a TNLAssert(dynamic_cast<LuaObject *>(obj), "Not a LuaObject"); |
| 20:29:00 | sam686 | in constructor possibly.. |
| 20:29:00 | watusimoto | yes, but the problem is I can't call a LuaObject method because lunar thinks that a T could be an int, or a Color, or anything |
| 20:29:00 | sam686 | then dynamic_cast fails to NULL if T is not right |
| 20:29:00 | watusimoto | yes, but I can't even compile |
| 20:30:00 | sam686 | include "tnlAssert.h"? |
| 20:34:00 | watusimoto | no, the problem is that I can't call any LuaObject methods from inside the templated functions |
| 20:34:00 | | raptor Quit (Remote host closed the connection) |
| 20:34:00 | watusimoto | because Lunar doesn't understand that all Ts are subclasses of LuaObject |
| 20:35:00 | sam686 | include "luaObject.h"? |
| 20:39:00 | sam686 | i actually don't know, other then there may be something that just do Lunar<class that is not part of LuaObject> |
| 20:39:00 | watusimoto | Most likely I am thinking about this the wrong way |
| 20:40:00 | sam686 | as Luner<class T> and T is GoalZone, then it should have already included GoalZone and LuaObject, i think.. |
| 20:48:00 | watusimoto | yes... but I don't know how to call a function on LuaObject (or GoalZone) from within Lunar. T could be anything, even Color. Color has no shouldCollect() function |
| 20:48:00 | watusimoto | so it won't compile |
| 20:49:00 | watusimoto | even though LuaObject does, and in practice, Lunar is only used with LuaObjects |
| 21:07:00 | | Flynnn has joined |
| 21:08:00 | sam686 | LUA source looks very complicated to me, i don't know nothing much about the use of Lunar... |
| 21:12:00 | watusimoto | Theoretically, you can understand lunar without dissecting lua source |
| 21:12:00 | watusimoto | but I'll admit that this is all very complex |
| 21:13:00 | watusimoto | and unfortunately, it won't work with Lua 5.2 |
| 22:06:00 | | raptor has joined |
| 22:06:00 | | ChanServ sets mode +o raptor |
| 22:06:00 | raptor | oh hey, everyone is still here |
| 22:15:00 | watusimoto | push(L, obj, T::shouldCollect()); |
| 22:15:00 | watusimoto | compiles |
| 22:15:00 | watusimoto | but shouldCollect() needs to be static... |
| 22:15:00 | watusimoto | so I can't override it |
| 22:17:00 | watusimoto | but it's a step forward at least |
| 22:17:00 | raptor | onward! |
| 22:25:00 | raptor | watusimoto: there is some stuttering green text at the bottom of the options menu as well as the editor settings menu |
| 22:25:00 | raptor | do you know what that is? |
| 22:25:00 | | koda Quit (Quit: koda) |
| 22:26:00 | | koda has joined |
| 22:29:00 | sam686 | luaLevelGenerator.cpp line 74, and luaObject.cpp line 367, both have same function name but may have something different. static ToggleMenuItem *getMenuItem(lua_State *L, S32 index) |
| 22:32:00 | sam686 | //zap/luaObject.cpp(368) : error C2084: function 'Zap::ToggleMenuItem *Zap::getMenuItem(lua_State *,TNL::S32)' already has a body |
| 22:32:00 | sam686 | ua_State *,TNL::S32)' already has a body (i only run into that problem due to using a method (include a bunch of .cpp files in build1.cpp) that speed up compiling) |
| 22:34:00 | raptor | watusimoto: are there lua 5.2 advantages that you see as a benefit to moving as soon as it's out? |
| 22:37:00 | sam686 | i get a "6J" text at the bottom only when selecting "JOIN LAN / INTERNET GAME" |
| 22:37:00 | raptor | yes |
| 22:38:00 | raptor | i get really crazy values sometimes |
| 22:38:00 | raptor | go throught the 'game parameters' menu |
| 22:39:00 | sam686 | here a screenshot with "6J" green text. http://208.107.52.15/bitfighter/green_text_junk.png |
| 22:39:00 | raptor | haha, yep |
| 22:40:00 | sam686 | other times, i get x#`# 0! @"@ |
| 22:40:00 | raptor | haha, |
| 22:41:00 | sam686 | and, http://208.107.52.15/bitfighter/green_text_junk1.png it says "voice chat volume"? |
| 22:42:00 | raptor | haha |
| 22:42:00 | raptor | good, then i'm definitely not the only one... |
| 22:55:00 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 22:56:00 | | Flynnn has joined |
| 22:57:00 | watusimoto | @raptor> do you know what that is? yes |
| 22:57:00 | watusimoto | a bug |
| 22:57:00 | raptor | hi |
| 22:57:00 | watusimoto | it's on my list |
| 22:57:00 | watusimoto | probably a string instead of a string.c_str() |
| 22:57:00 | watusimoto | probably my fault |
| 22:57:00 | raptor | how? those cases never compile for me |
| 22:58:00 | raptor | and this compiled cleanly |
| 22:58:00 | watusimoto | then a dud pointer |
| 22:58:00 | watusimoto | but... holy crap |
| 22:58:00 | watusimoto | I *can* override static functions |
| 22:59:00 | raptor | of course! this is not java... :) |
| 22:59:00 | raptor | this is dirty, dirty C |
| 22:59:00 | sam686 | i do no think you can do virtual static function inside class |
| 23:02:00 | watusimoto | I didn't. |
| 23:02:00 | | koda Quit (Quit: k thx bai) |
| 23:02:00 | watusimoto | But, frankly, I'm still checking if this works |
| 23:02:00 | | koda has joined |
| 23:10:00 | watusimoto | Should collect for class Zap::CounterMenuItem? no |
| 23:10:00 | watusimoto | Should collect for class Zap::CounterMenuItem? no |
| 23:10:00 | watusimoto | Should collect for class Zap::LuaPoint? yes |
| 23:10:00 | watusimoto | Should collect for class Zap::LuaPoint? yes |
| 23:10:00 | watusimoto | those are the correct answers |
| 23:10:00 | watusimoto | the crashing is gone |
| 23:10:00 | watusimoto | neither class has shouldCollect() defined on them, but their parent classes do |
| 23:10:00 | watusimoto | I really don't understand how/why this is working... but it is |
| 23:11:00 | watusimoto | so my problem is solved |
| 23:11:00 | raptor | hopefully it'll compile on linux :) |
| 23:11:00 | watusimoto | time for a nip of brandy, then off to bed |
| 23:11:00 | raptor | good night |
| 23:13:00 | watusimoto | well, I really should clean up a little and check in! |
| 23:14:00 | watusimoto | might be worth glancing at http://www.lua.org/pil/25.html |
| 23:14:00 | raptor | real quick - can you explain what mDraggingDockItem means? |
| 23:14:00 | raptor | in UIEditor |
| 23:15:00 | watusimoto | nothing too heavy, just the idea that we can perhaps use Lua to define our levels, given that our xml talks seem to have faltered |
| 23:15:00 | watusimoto | just htinking... |
| 23:15:00 | watusimoto | mDraggingDockItems means (I think) that you are currently dragging an item that came from the dock |
| 23:15:00 | watusimoto | rather than from the editor itself |
| 23:15:00 | raptor | ah, ok, that makes sense |
| 23:15:00 | watusimoto | so it's an insert that looks like a drag |
| 23:15:00 | watusimoto | and needs to be handled specially |
| 23:17:00 | raptor | some of this editor code is event-driven |
| 23:17:00 | raptor | mixing me up a bit |
| 23:29:00 | | raptor Quit (Remote host closed the connection) |
| 23:31:00 | | raptor has joined |
| 23:31:00 | | ChanServ sets mode +o raptor |
| 23:38:00 | watusimoto | ciao |
| 23:38:00 | raptor | night |
| 23:38:00 | | BFLogBot - Commit b28aa9757e42 | Author: watusim...@bitfighter.org | Log: Change to Lunar to give classes some control over who manages garbage collection when script creates using obj:new() |
| 23:38:00 | | BFLogBot - Commit b0505b1e95e0 | Author: watusim...@bitfighter.org | Log: Fixed memory leak with plugin menus... finally. Small leak, big effort. |
| 23:43:00 | | watusimoto Quit (Ping timeout: 248 seconds) |