Timestamps are in GMT/BST.
| 00:00:28 | | vs73nx_ has joined |
| 00:01:03 | sam686 | Watusimoto: the automatic bot manager repeatedly tries to add bots on almost every test because of bot balancing |
| 00:01:16 | sam686 | It will help to print its outputs http://sam6.25u.com/upload/text1401/140106_23-59-29.txt |
| 00:01:22 | sam686 | in main_test.cpp |
| 00:01:26 | | Flynnn has joined |
| 00:01:45 | Watusimoto | well.... does it attempt to add bots when it shouldn't? |
| 00:02:12 | Watusimoto | that is, if the test is simulating players joining and leaving, then the bot manager should act if it is enabled |
| 00:02:23 | Watusimoto | rather, the autoleveler should act |
| 00:02:26 | sam686 | the bot balancing doesn't work because in tests because of ***ROBOT ERROR*** Lua interpreter doesn't exist. Aborting environment setup. |
| 00:02:48 | Watusimoto | hmmmm I am intrigued by the "thousands of errors:" line |
| 00:02:51 | | vs73nx Quit (*.net *.split) |
| 00:02:51 | | oskopek Quit (*.net *.split) |
| 00:03:26 | sam686 | I really get flooded with too many ROBOT ERRORS |
| 00:03:39 | Watusimoto | why don't I see any of those? |
| 00:03:53 | | oskopek has joined |
| 00:04:30 | sam686 | One tests: TEST_F(ObjectTest, ProcessArgumentsSanity) also throughs thousands of other errors.. because obviously its purposely throwing incorrect processArguments.. |
| 00:05:13 | Watusimoto | the lua interpreter should always exist, no? |
| 00:06:28 | sam686 | Robot::initalize is called from onAddedToGame, except when Robot::start() returns false |
| 00:06:59 | Watusimoto | ah interesting |
| 00:07:44 | Watusimoto | so the lua interpreter is only started when a gamePair is intialized |
| 00:08:04 | sam686 | deleteObject(0); didn't quite delete immediately, not fast enough that game recorder catches it (after it cycles level) |
| 00:08:12 | Watusimoto | ok, can you give me an example test where the errors are coming from? |
| 00:11:17 | sam686 | This is where the bot get created: http://sam6.25u.com/upload/text1401/140107_00-11-00.txt |
| 00:12:48 | sam686 | after seeing a ROBOT ERROR after start() exits http://sam6.25u.com/upload/text1401/140107_00-11-57.txt |
| 00:14:59 | Watusimoto | ok, so in killstreaktests |
| 00:15:58 | sam686 | http://sam6.25u.com/upload/text1401/140107_00-15-20.txt Looks like it tries to ADD BOTS on every game pair |
| 00:19:36 | sam686 | not only that, its trying to add 5 bots on every game pair, results on having hundreds of bot errors on tests that doesn't use bots at all.. |
| 00:19:54 | sam686 | (well sometimes 4 if gamepair have 2 clients) |
| 00:20:56 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 00:23:28 | | Flynnn has joined |
| 00:23:49 | | BFLogBot Commit: 1beb22d47785 | Author: watusimoto | Message: More RobotManager tests, all currently passing |
| 00:23:51 | | BFLogBot Commit: 5bc446239275 | Author: watusimoto | Message: Neaten logic a little |
| 00:23:52 | | BFLogBot Commit: eac95b0d14ec | Author: watusimoto | Message: Remove dead code |
| 00:23:54 | | BFLogBot Commit: 3c4b81e7ca72 | Author: watusimoto | Message: Streamline RobotManager |
| 00:23:55 | | BFLogBot Commit: 73f71610edd9 | Author: watusimoto | Message: Whitespace |
| 00:23:57 | | BFLogBot Commit: 63ef7aae530a | Author: watusimoto | Message: Comments |
| 00:23:58 | | BFLogBot Commit: eef9483abd5a | Author: watusimoto | Message: Upgrade KillStreakTests to use a GamePair... hopefully addresses error messages Sam was seeing |
| 00:24:03 | Watusimoto | sam686: I'm uploading a potential fix for the error condition in KillStreakTests |
| 00:26:30 | sam686 | ok |
| 00:31:07 | Watusimoto | sam686: I think my next checkin will fix the problem totally |
| 00:31:08 | | BFLogBot Commit: cfd717f220bb | Author: watusimoto | Message: Fix problem with GamePair -- need to initialize Lua before adding clients |
| 00:31:30 | Watusimoto | though I don;t see the errors so I can't be sure |
| 00:32:13 | sam686 | You could modify main_test.cpp to add whats in here: http://sam6.25u.com/upload/text1401/140106_23-59-29.txt |
| 00:32:41 | sam686 | without that, tnlLog does nothing |
| 00:34:13 | sam686 | at least theree no bots being added on every test |
| 00:36:11 | Watusimoto | but then I'll get thousands of errors! |
| 00:38:44 | sam686 | hundreds of gametype errors is coming from TEST_F(ObjectTest, ProcessArgumentsSanity) |
| 00:40:52 | sam686 | maybe theres an idea, have some test expect no errors to log/print to console. |
| 00:48:02 | Watusimoto | processargumentssanity looks like it is trying to generate exceptions, and loops through a bunch of keywords that are not actuall game objects |
| 00:48:39 | Watusimoto | so the level processor is legitemately complaining about the code, but properly not crashing, which is what is really being tested |
| 00:49:03 | Watusimoto | maybe we could just turn off logging for those particular tests |
| 00:54:15 | sam686 | i will go, i am sleepy, see you tomorrow.. |
| 00:57:38 | | Darrel is now known as Darrel[OFF] |
| 01:01:08 | | BFLogBot Commit: 6b6172a92cec | Author: watusimoto | Message: Break up tests a little |
| 01:01:09 | | BFLogBot Commit: 31b242927761 | Author: watusimoto | Message: Witty comment |
| 01:01:11 | | BFLogBot Commit: c7e3a10d85ed | Author: watusimoto | Message: Clean up lots of log messages when removing a GamePair |
| 01:01:13 | Watusimoto | sam686: I'm going too... most log msgs have now been killed |
| 01:01:25 | Watusimoto | good night all! |
| 01:04:18 | | BFLogBot Commit: 9900fa892d43 | Author: watusimoto | Message: Just like this better |
| 01:08:21 | | Watusimoto Quit (Ping timeout: 248 seconds) |
| 01:11:50 | | YoshiSmb has joined |
| 01:14:01 | | vs73nx_ Quit (Remote host closed the connection) |
| 01:18:06 | | koda has joined |
| 01:19:24 | | vs73nx has joined |
| 01:46:23 | | koda Quit (Quit: Leaving) |
| 02:02:34 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 02:03:52 | | Flynnn has joined |
| 02:05:13 | | Flynnn Quit (Client Quit) |
| 02:08:35 | | Skybax Quit (Ping timeout: 260 seconds) |
| 02:28:19 | | Skybax has joined |
| 02:39:59 | YoshiSmb | hi sky. |
| 02:48:53 | | Flynnn has joined |
| 02:54:50 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 03:04:53 | | YoshiSmb Quit (Ping timeout: 272 seconds) |
| 03:10:28 | | fordcars has joined |
| 03:23:26 | | Skybax Quit (Read error: Connection reset by peer) |
| 03:29:28 | | Skybax has joined |
| 03:44:50 | fordcars | raptor? I have a timer for 10000 miliseconds, it it waits for only around 5000 ms |
| 03:46:48 | fordcars | Oh ok, it must be a problem in my script, never mind |
| 03:49:18 | fordcars | Oh actually, I think Timers have a prblem in levelgens |
| 03:57:54 | fordcars | Uh, maybe not? Whaaa |
| 03:59:15 | | YoshiSmb has joined |
| 03:59:35 | YoshiSmb | hi again. |
| 04:01:04 | fordcars | Hi |
| 04:16:52 | | Skybax__ has joined |
| 04:16:55 | | Skybax Quit (Ping timeout: 260 seconds) |
| 04:17:01 | | Skybax__ is now known as Skybax |
| 04:17:52 | YoshiSmb | hey sky... |
| 04:23:57 | | Skybax_ has joined |
| 04:26:43 | | Skybax Quit (Ping timeout: 260 seconds) |
| 04:36:23 | | YoshiSmb_ has joined |
| 04:36:39 | | Flynnn has joined |
| 04:39:15 | | YoshiSmb Quit (Ping timeout: 272 seconds) |
| 04:54:04 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 04:54:57 | | Flynnn has joined |
| 05:43:51 | | YoshiSmb_ Quit (Ping timeout: 272 seconds) |
| 05:46:11 | | YoshiSmb has joined |
| 06:00:53 | | Skybax_ is now known as Skybax |
| 06:03:47 | | YoshiSmb Quit (Quit: Page closed) |
| 06:05:11 | | YoshiSmb has joined |
| 06:15:31 | | YoshiSmb Quit (Ping timeout: 272 seconds) |
| 06:16:44 | | Skybax Quit (Read error: Connection reset by peer) |
| 06:18:01 | | Skybax has joined |
| 06:19:12 | fordcars | Night guys! |
| 06:19:15 | | fordcars Quit (Quit: Page closed) |
| 06:52:30 | | Skybax Quit (Ping timeout: 276 seconds) |
| 06:53:07 | | Skybax has joined |
| 07:07:43 | | Skybax Quit (Ping timeout: 260 seconds) |
| 07:10:21 | | Skybax has joined |
| 07:48:53 | | destroyerimo has joined |
| 08:36:07 | | Nothing_Much Quit (Quit: No Ping reply in 180 seconds.) |
| 08:36:25 | | Nothing_Much has joined |
| 08:44:38 | | destroyerimo Quit (Ping timeout: 264 seconds) |
| 08:47:30 | | watusimoto has joined |
| 08:47:31 | | ChanServ sets mode +o |
| 08:57:41 | | Skybax Quit (Ping timeout: 248 seconds) |
| 09:05:02 | | vs73nx Quit (Ping timeout: 240 seconds) |
| 09:19:10 | | vs73nx has joined |
| 09:19:32 | | vs73nx Quit (Changing host) |
| 09:19:32 | | vs73nx has joined |
| 09:20:11 | vs73nx | hi watusimoto |
| 09:20:29 | vs73nx | still getting that segfault... |
| 09:25:19 | vs73nx | watusimoto: heres the problem |
| 09:25:21 | vs73nx | bitfighter: /home/vs73nx/development/eclipseProgs/c++/vs37nx-bitfighter-dev/boost/boost/smart_ptr/shared_ptr.hpp:653: typename boost::detail::sp_member_access<T>::type boost::shared_ptr<T>::operator->() const [with T = Zap::UI::SymbolShape; typename boost::detail::sp_member_access<T>::type = Zap::UI::SymbolShape*]: Assertion `px != 0' failed. |
| 09:25:21 | vs73nx | Aborted (core dumped) |
| 09:28:28 | watusimoto | hi |
| 09:29:22 | watusimoto | that's odd |
| 09:30:09 | watusimoto | the px != 0 bit tells me that a container is expecting to have a non-null pointer, but is getting a null |
| 09:30:25 | watusimoto | but that this involes symbolshapes is curious |
| 09:30:41 | watusimoto | could any of your functions be returning a null pointer? |
| 09:36:42 | vs73nx | dunno |
| 09:36:51 | vs73nx | none of mine... |
| 09:37:15 | watusimoto | well when does the crash occur? |
| 09:37:43 | vs73nx | i can supply tou with a backtrace if you want... |
| 09:40:14 | vs73nx | http://pastie.org/8609385 |
| 09:40:22 | vs73nx | ^ GDB backtrace |
| 09:41:22 | watusimoto | I'm more interested to know how you trigger the crash |
| 09:41:30 | vs73nx | oh |
| 09:41:59 | vs73nx | i just host a game, when using the commanline option -usefile |
| 09:42:16 | watusimoto | but without that option it works fine? |
| 09:43:11 | vs73nx | yes |
| 09:43:37 | watusimoto | the problem is related to the displaying of a message box (usually a bad sign) |
| 09:43:38 | watusimoto | UserInterface::renderMessageBox |
| 09:43:58 | vs73nx | i didnt touch that code |
| 09:44:08 | watusimoto | I'd look at that function and insert a breakpoint there and see what it's trying to print |
| 09:44:28 | | Darrel[OFF] is now known as Darrel |
| 09:44:37 | watusimoto | I know you didn't, but your code is triggering an error that is triggering the message box to display with some invalid value |
| 09:45:00 | watusimoto | I'm guessing it's saying something like can't load level something or other, and that level has a null name |
| 09:46:41 | | destroyerimo has joined |
| 09:48:49 | vs73nx | hmmm |
| 09:49:30 | vs73nx | i have a breakpoint at renderMessageBox, yet the code isnt even getting to that breakpoint before it crashes |
| 09:52:54 | watusimoto | then look where renderMB is called |
| 09:54:03 | vs73nx | it seems that in RenderMessage box one of the args passed to it (mInstr) is null |
| 09:54:31 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 10:03:39 | watusimoto | ok, good. What are the other values being passed to it? (we want to know why it is being displayed in the first place) |
| 10:04:08 | watusimoto | (the null instr should not make it crash... that is probably a bug) |
| 10:05:33 | | sam686 Quit (Ping timeout: 245 seconds) |
| 10:09:06 | vs73nx | well... |
| 10:09:08 | vs73nx | renderMessageBox(mTitle, mInstr, mMessage, mMaxLines); |
| 10:09:25 | watusimoto | so what is mMessage just before it crashes? |
| 10:09:26 | vs73nx | all are ok except for mInstr |
| 10:10:03 | watusimoto | that might give a clue about why it is crashing in the first place... the message box should be be displayed if things are working properly |
| 10:10:25 | vs73nx | mMessage is not null |
| 10:11:33 | watusimoto | yes, but I want to know what the error message it is trying to show us is |
| 10:11:52 | watusimoto | because that may tell you what you need to fix |
| 10:13:46 | watusimoto | maybe better to fix renderMessageBox |
| 10:13:59 | watusimoto | void UserInterface::renderMessageBox(const char *title, const char *instr, SymbolShapePtr *message, S32 msgLines, S32 vertOffset, S32 style) const |
| 10:14:01 | watusimoto | calls this |
| 10:14:21 | watusimoto | drawCenteredString(boxTop + boxHeight - vertMargin - textSize, textSize, instr); |
| 10:14:25 | watusimoto | that is probably the problem |
| 10:14:39 | watusimoto | if you add a if(instr) before that line, the crash will probably go away |
| 10:15:42 | vs73nx | ok before renderMessageBox(mTitle, mInstr, mMessage, mMaxLines); i will check to see it instr is null.. |
| 10:16:04 | watusimoto | no, inside the function |
| 10:16:18 | watusimoto | just before the instruction is actually rendered |
| 10:17:03 | watusimoto | the function takes a const char *instr... wait a minute |
| 10:17:34 | watusimoto | can a const char* actually be a null? or does it need to have 1 char (i.e. a \0 to terminate an otherwise empty string?) |
| 10:18:23 | watusimoto | maybe you've stumbled on soemthing icky |
| 10:18:57 | vs73nx | i agree |
| 10:19:20 | watusimoto | do you know where renderMB is being called from? |
| 10:19:28 | vs73nx | no |
| 10:19:46 | vs73nx | yes i do |
| 10:19:50 | vs73nx | AbstractMessageUserInterface::render() |
| 10:20:06 | vs73nx | which is called by |
| 10:20:06 | vs73nx | void UIManager::renderCurrent() |
| 10:20:24 | vs73nx | which is called by display() in main.cpp |
| 10:20:31 | vs73nx | which is called by |
| 10:20:45 | vs73nx | idle() |
| 10:20:48 | vs73nx | in main.cpp |
| 10:21:11 | watusimoto | can you see where mInstr is not being initialized or set to something? |
| 10:21:29 | watusimoto | an, not in that stack |
| 10:22:04 | watusimoto | ok, well somewhere your code is triggering an error condition that is in turn triggering the display of an error message, which is crashing |
| 10:22:14 | watusimoto | let's figure out what that error condition is |
| 10:22:23 | watusimoto | and you can do that by seeing what mMessage is |
| 10:22:40 | vs73nx | i cant printf mMessage |
| 10:23:12 | vs73nx | its a const string &message |
| 10:23:20 | vs73nx | which i cxant printf... |
| 10:23:24 | vs73nx | can i ? |
| 10:24:36 | watusimoto | string xxx = "hello"; printf("str is" %s", xxx.c_str()); |
| 10:26:08 | vs73nx | whoops |
| 10:26:29 | vs73nx | forget the. c_str() |
| 10:28:10 | vs73nx | *forgot |
| 10:29:10 | vs73nx | ok it says this... |
| 10:29:11 | vs73nx | No levels were loaded. Cannot host a game.Check the LevelDir parameter in your INI file,or your command-line parameters to make sureyou have correctly specified a folder containingvalid level files. |
| 10:31:27 | watusimoto | ok, good, well the first order of business is to find that error message (search for no levels were loaded), and set the instruction... probably something like obj->setInstr("Press [[Esc]] to continue"); |
| 10:32:06 | watusimoto | because that crash will annoy you |
| 10:35:51 | vs73nx | that message happens when abortHosting_noLevels() is called |
| 10:36:34 | watusimoto | and why is that being called? |
| 10:37:26 | vs73nx | if(levelSource->getLevelCount() == 0) |
| 10:37:53 | vs73nx | note that levelSource is a LevelSourcePtr levelSource |
| 10:38:35 | watusimoto | why is getLevelCount() == 0? |
| 10:38:48 | vs73nx | well... |
| 10:38:53 | watusimoto | (I presume you have not been testing it with an empty level file, have you?) |
| 10:38:59 | watusimoto | (if so, it's working great!) |
| 10:39:04 | vs73nx | no i havent... |
| 10:39:16 | watusimoto | :-) |
| 10:39:27 | vs73nx | just let me explain whats happening... |
| 10:39:30 | vs73nx | startHostingCallback() is called... |
| 10:39:40 | watusimoto | yes, from the menu |
| 10:39:44 | vs73nx | yes |
| 10:39:55 | vs73nx | and it gets does other stuff... |
| 10:40:00 | vs73nx | and then calls |
| 10:40:01 | vs73nx | LevelSourcePtr levelSource = LevelSourcePtr(settings->chooseLevelSource(game)); |
| 10:40:25 | vs73nx | this returns a levelSource, and pipes it into |
| 10:40:25 | vs73nx | initHosting(settings, levelSource, false, false); |
| 10:41:00 | vs73nx | then in initHosting , it does some stuff... |
| 10:41:42 | vs73nx | and it calls |
| 10:41:42 | vs73nx | logprintf(LogConsumer::ServerFilter, "Loaded %d levels:", levelSource->getLevelCount()); |
| 10:41:58 | vs73nx | which is returning zero... |
| 10:42:03 | vs73nx | this is bad |
| 10:42:19 | watusimoto | yes |
| 10:42:41 | watusimoto | but who knows... maybe something simple |
| 10:43:05 | vs73nx | probably an issue in my levelsource |
| 10:43:16 | watusimoto | almost certainly :-) |
| 10:43:58 | vs73nx | is there a way to have bitfighter show logprintf messages with the ServerFilter? |
| 10:44:31 | vs73nx | hmmm... |
| 10:44:57 | vs73nx | getLevelCount() returns the size of the mLevelInfos vector... |
| 10:46:30 | watusimoto | the INI sets which logprintf messages are shown |
| 10:46:37 | vs73nx | now... when FileListLevelSource is initalized it takes two args in its CTOR... |
| 10:46:48 | vs73nx | const Vector<string> &levelList. and const string &playlist |
| 10:47:10 | vs73nx | the problem is levelList |
| 10:47:20 | vs73nx | take a look at this code... |
| 10:47:47 | vs73nx | for(S32 i = 0; i < levelList.size(); i++) |
| 10:47:47 | vs73nx | mLevelInfos.push_back(LevelInfo(levelList[i], playlist)); |
| 10:48:11 | vs73nx | ill insert a printf statement to check the size of levelist... |
| 10:53:06 | vs73nx | yes the size of levelist is 0 |
| 10:54:12 | | Nothing_Much Quit (Remote host closed the connection) |
| 10:58:10 | vs73nx | watusimoto: it is certainly a problem with FileListLevelSource::getFilePlaylist( |
| 10:58:22 | vs73nx | it isnt returning a list of levels |
| 10:59:25 | vs73nx | it isnt returning anythink as a matter of fact |
| 11:11:04 | vs73nx | watusimoto: std::getline(iss, line) inside getFilePlaylist() isnt working... do you know the C style way to parse a file? |
| 11:11:26 | vs73nx | i would think that the C style one will be easier to debug... |
| 11:11:47 | watusimoto | http://stackoverflow.com/questions/7868936/c-read-file-line-by-line |
| 11:15:11 | vs73nx | your link leads me to a question titled |
| 11:15:12 | vs73nx | C++: Read file line by line |
| 11:15:12 | vs73nx | thats ok... |
| 11:15:22 | vs73nx | http://stackoverflow.com/questions/3501338/c-read-file-line-by-line is the right one |
| 11:20:44 | vs73nx | well... |
| 11:21:27 | vs73nx | it seems that game->parseLevelLine thinks that my playlist file is a level... |
| 11:21:30 | vs73nx | First line of level is missing GameType in level "../exe/test.txt" |
| 11:21:30 | vs73nx | Unknown object type "./levels/bm.level" in level "../exe/test.txt" |
| 11:21:40 | vs73nx | yet above it prints |
| 11:21:57 | vs73nx | filename = ../exe/test.txt |
| 11:21:57 | vs73nx | Retrieved line of length 19 : |
| 11:21:57 | vs73nx | ./levels/bm.level |
| 11:21:57 | vs73nx | getLine result = ./levels/bm.level |
| 11:28:34 | vs73nx | watusimoto: also i addedd comments capability to the playlist file... |
| 11:28:45 | vs73nx | a comment starts with # |
| 11:28:51 | vs73nx | eg... |
| 11:28:56 | vs73nx | # comment |
| 11:30:29 | | vs73nx Quit (Read error: Connection reset by peer) |
| 11:30:48 | | vs73nx has joined |
| 11:30:53 | watusimoto | great |
| 11:31:12 | vs73nx | i just had to do... |
| 11:31:16 | vs73nx | if(line[1] != '#') |
| 11:31:31 | vs73nx | execute line reading |
| 11:31:44 | vs73nx | and that was it |
| 11:33:10 | vs73nx | watusimoto: So why would game->parseLevelLine think that the level it want to parse is ./exe/test.txt, instead of ./levels/bm.level |
| 11:33:30 | vs73nx | wait a sec |
| 11:33:40 | vs73nx | ]why am i calling parseLevelLine? |
| 11:34:19 | vs73nx | there we go... |
| 11:34:22 | vs73nx | getting closer |
| 11:34:34 | vs73nx | just commented out parseLevelLine |
| 11:35:16 | | destroyerimo_ has joined |
| 11:37:12 | | destroyerimo Quit (Ping timeout: 276 seconds) |
| 11:39:40 | vs73nx | watusimoto: ok, got an assert firing |
| 11:39:41 | vs73nx | Assert: Expected a filename here! in /home/vs73nx/development/eclipseProgs/c++/vs37nx-bitfighter-dev/zap/ServerGame.cpp line 357 |
| 11:40:12 | vs73nx | that line of code leads to... |
| 11:40:18 | vs73nx | TNLAssert(filename != "", "Expected a filename here!"); |
| 11:40:37 | vs73nx | and filename is... |
| 11:40:37 | watusimoto | should you have a filename there? (i.e. does the assert still make sense?) |
| 11:40:39 | vs73nx | string filename = folderManager->findLevelFile(mLevelSource->getLevelFileName(mLevelLoadIndex)); |
| 11:40:46 | vs73nx | oh |
| 11:41:01 | vs73nx | string filename is very folder specific |
| 11:41:25 | vs73nx | watusimoto: yes i should have a filename there |
| 11:43:15 | vs73nx | watusimoto: getLevelFileName(S32 index) is returning "" because of the following statement... |
| 11:43:18 | vs73nx | if(index < 0 || index >= mLevelInfos.size()) |
| 11:43:18 | vs73nx | return ""; |
| 11:43:18 | vs73nx | else |
| 11:44:35 | watusimoto | what's index, what's mLevelInfos.size()? |
| 11:44:49 | watusimoto | does what's happening make sense? |
| 11:45:02 | watusimoto | be back in a few minutes |
| 11:45:32 | vs73nx | ok |
| 11:49:32 | | yomanurock has joined |
| 11:49:55 | yomanurock | watasimotu: when are you going to review my task? |
| 11:50:08 | yomanurock | (and can you review it?) |
| 11:51:52 | vs73nx | yomanurock: watusimoto is away for a few minuites |
| 11:52:08 | yomanurock | but i know that gcis over |
| 11:52:16 | yomanurock | so, can he review my task? |
| 11:52:21 | yomanurock | (is he allowed to ) |
| 11:52:23 | yomanurock | ? |
| 11:52:55 | yomanurock | gotta go bye |
| 11:52:56 | vs73nx | he can |
| 11:52:58 | vs73nx | bai |
| 11:53:01 | yomanurock | moms calling |
| 11:53:01 | vs73nx | hmm |
| 11:53:09 | | yomanurock has left #bitfighter |
| 11:53:11 | vs73nx | heh |
| 11:53:14 | vs73nx | hmmm |
| 11:53:19 | vs73nx | in loadNextLevelInfo() |
| 11:53:30 | vs73nx | folderManager->findLevelFile is called... |
| 11:53:38 | vs73nx | but i dont want that.. |
| 11:53:43 | vs73nx | oh |
| 11:53:48 | vs73nx | i got it |
| 11:58:05 | | Nothing_Much has joined |
| 12:02:16 | watusimoto | hi |
| 12:02:34 | | Watusimoto_ has joined |
| 12:02:51 | vs73nx | hi |
| 12:03:20 | vs73nx | watusimoto: im getting closer... |
| 12:03:27 | vs73nx | comments work perfectly |
| 12:04:06 | vs73nx | and it is getting the right level string |
| 12:04:09 | vs73nx | but... |
| 12:04:19 | vs73nx | it gives me this error... |
| 12:04:22 | vs73nx | Could not load level bm.level |
| 12:04:28 | vs73nx | when i try to load a level |
| 12:05:30 | vs73nx | the problem function is populateLevelInfoFromSource() |
| 12:09:23 | vs73nx | watusimoto: i know what the problem is... |
| 12:11:45 | | Watusimoto_ Quit (Remote host closed the connection) |
| 12:21:31 | vs73nx | bai everyone! |
| 12:22:24 | vs73nx | cya all later! |
| 12:22:48 | | vs73nx Quit (Quit: going to bed) |
| 13:08:38 | | destroyerimo_ Quit (Ping timeout: 264 seconds) |
| 13:08:54 | | destroyerimo has joined |
| 13:34:06 | | sam686 has joined |
| 13:34:06 | | ChanServ sets mode +v |
| 13:39:36 | | watusimoto Quit (Read error: Operation timed out) |
| 13:56:52 | | watusimoto has joined |
| 13:56:52 | | ChanServ sets mode +o |
| 14:44:38 | | yomanurock has joined |
| 14:45:58 | yomanurock | watusimoto: could you review my task? |
| 14:46:13 | watusimoto | hi |
| 14:46:25 | watusimoto | yomanurock: have you tested your code yet? |
| 14:46:32 | yomanurock | yes i have |
| 14:46:35 | watusimoto | good |
| 14:47:33 | watusimoto | so can you do this: 1) create an item 2) copy it 3) paste the code in a text document 4) copy the text you just pasted 5) paste a new copy of the item back in your level ? |
| 14:47:46 | yomanurock | yes |
| 14:47:50 | watusimoto | ecellent |
| 14:47:57 | watusimoto | can you do the same sequence with 2 items? |
| 14:48:06 | yomanurock | not tried |
| 14:48:27 | watusimoto | try it with 2, 3 items, then try it with 101 items |
| 14:48:39 | yomanurock | but could you review it? |
| 14:48:51 | yomanurock | cause i have to eat dinner and then sleep |
| 14:49:03 | yomanurock | and tommorrow im going out of station |
| 14:49:15 | yomanurock | so i pretty much dont have time to test again |
| 14:49:16 | yomanurock | :( |
| 14:49:45 | yomanurock | gotta go (dinner) |
| 14:49:48 | yomanurock | bye :) |
| 14:50:10 | watusimoto | I'll take a look at it tonight |
| 14:50:15 | yomanurock | k |
| 14:50:22 | watusimoto | but you need to make sure those things work |
| 14:50:27 | | yomanurock has left #bitfighter |
| 15:32:39 | | koda has joined |
| 16:12:48 | | koda Quit (Ping timeout: 260 seconds) |
| 16:18:19 | | koda has joined |
| 16:28:18 | | raptor has joined |
| 16:28:19 | | ChanServ sets mode +o |
| 16:29:14 | raptor | good day! |
| 16:29:25 | | Darrel Quit (Ping timeout: 248 seconds) |
| 16:30:20 | | kodab has joined |
| 16:34:49 | | koda Quit (Ping timeout: 272 seconds) |
| 16:35:02 | | kodab Quit (Ping timeout: 265 seconds) |
| 16:39:45 | | Darrel has joined |
| 16:39:55 | | Invisible has joined |
| 16:47:07 | | Invisible Quit (Ping timeout: 265 seconds) |
| 16:48:27 | | watusimoto Quit (Read error: Operation timed out) |
| 17:23:43 | | LordDVG has joined |
| 17:45:15 | | raptor_ has joined |
| 17:45:30 | | raptor Quit (Disconnected by services) |
| 17:54:40 | | koda has joined |
| 17:55:32 | | Nothing_Much Quit (Remote host closed the connection) |
| 18:01:24 | | koda Quit (Ping timeout: 252 seconds) |
| 18:04:12 | | raptor_ is now known as raptor |
| 18:04:19 | | koda has joined |
| 18:04:49 | | raptor Quit (Changing host) |
| 18:04:49 | | raptor has joined |
| 18:04:49 | | ChanServ sets mode +o |
| 18:12:00 | | koda Quit (Ping timeout: 246 seconds) |
| 18:15:56 | | Canseco has joined |
| 18:20:23 | | koda has joined |
| 18:26:27 | | kodab has joined |
| 18:29:02 | | koda Quit (Ping timeout: 240 seconds) |
| 18:35:45 | | Nothing_Much has joined |
| 18:47:32 | | kodab Quit (*.net *.split) |
| 18:47:58 | | kodab has joined |
| 18:52:14 | | Flynnn has joined |
| 18:53:34 | | NothingMuchHereT has joined |
| 18:55:31 | | Nothing_Much Quit (Disconnected by services) |
| 18:55:34 | | NothingMuchHereT Quit (Client Quit) |
| 18:56:09 | | Nothing_Much has joined |
| 19:02:59 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 19:03:51 | | Flynnn has joined |
| 19:06:26 | | Nothing_Much Quit (Read error: Connection reset by peer) |
| 19:07:21 | | Nothing_Much has joined |
| 19:10:50 | | Canseco Quit (Remote host closed the connection) |
| 19:44:53 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 19:45:02 | | YoshiSmb has joined |
| 19:47:53 | | Invisible2 has joined |
| 19:48:09 | | LordDVG Quit (Remote host closed the connection) |
| 19:48:39 | | sam686 has left #bitfighter |
| 19:52:07 | | Flynnn has joined |
| 19:56:35 | | kodab Quit (Ping timeout: 252 seconds) |
| 19:59:47 | | raptor Quit () |
| 20:01:23 | | YoshiSmb Quit (Ping timeout: 272 seconds) |
| 20:13:55 | | Watusimoto has joined |
| 20:14:32 | | Invisible2 Quit (Ping timeout: 252 seconds) |
| 20:19:01 | | koda has joined |
| 20:39:28 | | Watusimoto_ has joined |
| 20:40:08 | | vs73nx has joined |
| 20:41:16 | vs73nx | good morning everyone! |
| 20:42:35 | | Watusimoto Quit (Ping timeout: 260 seconds) |
| 20:44:08 | | YoshiSmb has joined |
| 20:51:00 | | koda Quit (Ping timeout: 260 seconds) |
| 21:05:37 | | Canseco has joined |
| 21:08:24 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 21:08:53 | Watusimoto_ | hi |
| 21:09:22 | | koda has joined |
| 21:12:51 | vs73nx | hmmm |
| 21:13:21 | vs73nx | with my level playlist, no matter what path i put into it it still errors out... |
| 21:13:25 | vs73nx | /levels/bm.level |
| 21:13:25 | vs73nx | /home/vs73nx/development/eclipseProgs/c++/vs37nx-bitfighter-dev/exe/bm.level |
| 21:13:25 | vs73nx | /home/vs73nx/development/eclipseProgs/c++/vs37nx-bitfighter-dev/exe/levels/bm.level |
| 21:13:54 | vs73nx | ive tried all of them but to na avail... they still dont work. |
| 21:20:53 | | Flynnn has joined |
| 21:22:58 | Watusimoto_ | vs73nx: there were several different crashes going oin with that empty level list thing |
| 21:23:06 | Watusimoto_ | I think I've just fixed all of them |
| 21:23:09 | Watusimoto_ | just fyi |
| 21:24:59 | vs73nx | really... |
| 21:25:16 | vs73nx | Watusimoto_: ive got past that... |
| 21:25:25 | vs73nx | im onw up to the loading of the file |
| 21:25:39 | | BFLogBot Commit: 78bebc94f13d | Author: watusimoto | Message: Fix several crashing errors when hosting folder with no levels (there were at least 3 independent crash conditions going on...) |
| 21:25:44 | Watusimoto_ | yes, I know, but it still needed to be fixed; and since you found the problem, I wanted to follow up |
| 21:26:00 | vs73nx | thanks |
| 21:26:16 | vs73nx | unfortunantly |
| 21:26:26 | vs73nx | the levelLoading method doesnt work |
| 21:27:04 | vs73nx | ive passed it relative and absolute paths and it still doesnt work |
| 21:27:31 | vs73nx | atleast it works better than the stringstream... |
| 21:27:33 | vs73nx | http://pastie.org/8611322 |
| 21:27:43 | vs73nx | ^The chashy code |
| 21:28:25 | vs73nx | FYI: the system call and the asserts and the printf statements are for debugging |
| 21:30:05 | Watusimoto_ | what crashes? |
| 21:31:04 | vs73nx | level loading |
| 21:31:16 | vs73nx | fp inside FileListLevelSource::populateLevelInfoFromSource is Null!: No such file or directory |
| 21:31:23 | vs73nx | it cant read the file. |
| 21:31:40 | vs73nx | ive tried every possible path to the level file but it doesnt work |
| 21:34:28 | Watusimoto_ | add this check |
| 21:34:32 | Watusimoto_ | if(fileExists(blah)) |
| 21:34:51 | Watusimoto_ | and make sure the game can see the file |
| 21:34:58 | Watusimoto_ | fileExists is in stringutils |
| 21:37:46 | vs73nx | nope fileExists returns false |
| 21:38:06 | vs73nx | and yes, the file actually does exist |
| 21:42:05 | | YoshiSmb_ has joined |
| 21:42:09 | Watusimoto_ | returns false means it doesn;t see the file? |
| 21:42:41 | Watusimoto_ | using absolute or relative path? |
| 21:42:48 | Watusimoto_ | and relative to what? |
| 21:45:15 | | YoshiSmb Quit (Ping timeout: 272 seconds) |
| 21:45:23 | | YoshiSmb__ has joined |
| 21:47:09 | | YoshiSmb_ Quit (Ping timeout: 272 seconds) |
| 21:47:21 | vs73nx | relative to the bitfighter exe dir |
| 21:47:33 | vs73nx | and it returns false using both paths |
| 21:57:50 | | sam686 has joined |
| 21:57:51 | | ChanServ sets mode +v |
| 21:59:31 | | YoshiSmb has joined |
| 21:59:49 | | YoshiSmb__ Quit (Ping timeout: 272 seconds) |
| 22:13:24 | | Skybax has joined |
| 22:25:29 | | Skybax Quit (Read error: Connection reset by peer) |
| 22:30:17 | | Skybax has joined |
| 22:30:17 | | sam686 Quit (Read error: Connection reset by peer) |
| 22:30:35 | Skybax | What do you guys think is the best free antivirus software? |
| 22:41:15 | | Darrel is now known as Darrel[OFF] |
| 22:42:36 | Watusimoto_ | sorry vs73nx: was reviewing another task and got wrapped up in it |
| 22:43:01 | Watusimoto_ | try relative to the levels folder |
| 22:55:07 | Watusimoto_ | Skybax: I use MS Essentials |
| 22:55:31 | Watusimoto_ | it's less full-featured than many (no realtime scan, for example), but it is also very lightweight |
| 22:55:59 | vs73nx | Watusimoto_: OK I TRIED RELATIVE TO THE LEVELS FOLDER... DOESNT WORK |
| 22:56:12 | Watusimoto_ | ok, was going to make another suggestion |
| 22:56:17 | | vs73nx quietly currses caps lock |
| 22:56:26 | Watusimoto_ | we're talking about the level list, right? |
| 22:56:27 | vs73nx | sorry about the caps |
| 22:56:30 | Watusimoto_ | put it in the levels folder |
| 22:56:33 | Watusimoto_ | then... |
| 22:56:39 | vs73nx | tried that |
| 22:57:00 | vs73nx | i have my playlist.txt, i put it into the levels folder |
| 22:57:12 | vs73nx | and told it to load... bm.level |
| 22:57:22 | vs73nx | sadly, it didnt work |
| 22:58:08 | Watusimoto_ | wait, can you load playlist.txt? |
| 22:58:11 | vs73nx | hmmm |
| 22:58:14 | vs73nx | yes i can |
| 22:58:18 | Watusimoto_ | oh, ok |
| 22:58:18 | vs73nx | certainlyt |
| 22:58:26 | Watusimoto_ | I thought that was the problme |
| 22:58:32 | Watusimoto_ | so it's the levels themselves |
| 22:58:37 | vs73nx | yes |
| 22:58:39 | Watusimoto_ | the first line of playlist.txt should be |
| 22:58:42 | Watusimoto_ | bm.level |
| 22:58:42 | | destroyerimo Quit (Quit: Leaving) |
| 22:58:44 | Watusimoto_ | right? |
| 22:58:48 | Watusimoto_ | just like that |
| 22:58:50 | vs73nx | no, its a comment |
| 22:58:57 | Watusimoto_ | ok, well the first non-copmment line |
| 22:58:59 | vs73nx | but the parsing system ignores comments |
| 22:59:08 | vs73nx | so yes it is bm.level |
| 22:59:48 | Watusimoto_ | get leveldir from GameSettings, getFolderManager()->levelDir |
| 22:59:52 | Watusimoto_ | (somehow) |
| 23:01:52 | Watusimoto_ | then append leveldir to bm.level with joindir() |
| 23:02:01 | Watusimoto_ | then you should be able to load it |
| 23:02:10 | vs73nx | levelDir = levels |
| 23:02:32 | Watusimoto_ | (and check it with fileExists) |
| 23:02:42 | vs73nx | how would i use joindir |
| 23:02:53 | Watusimoto_ | string joindir(const string &path, const string &filename) |
| 23:03:03 | vs73nx | ah |
| 23:03:03 | vs73nx | ok |
| 23:03:04 | Watusimoto_ | you can look at the code; search for it |
| 23:13:00 | vs73nx | ok i joined the two strings... |
| 23:13:04 | vs73nx | fileName = levels/bm.level |
| 23:13:04 | vs73nx | fp inside FileListLevelSource::populateLevelInfoFromSource is Null!: No such file or directory |
| 23:13:44 | vs73nx | note that fp is FILE *fp |
| 23:14:33 | | YoshiSmb Quit (Ping timeout: 272 seconds) |
| 23:19:02 | Watusimoto_ | did you check it with fileExists? |
| 23:19:24 | vs73nx | yes |
| 23:20:12 | Watusimoto_ | try this |
| 23:20:13 | Watusimoto_ | string filename = folderManager->findLevelFile(mLevelInfos[i].folder, mLevelInfos[i].filename); |
| 23:20:27 | vs73nx | ok |
| 23:20:29 | Watusimoto_ | where folder is levels |
| 23:20:36 | Watusimoto_ | and filename is bm.level |
| 23:21:10 | Watusimoto_ | or rather filename is just bm |
| 23:21:42 | vs73nx | what is the [i] in levelinfos? |
| 23:24:13 | | YoshiSmb has joined |
| 23:32:28 | Watusimoto_ | an index? |
| 23:32:49 | Watusimoto_ | mlevelinfos is a Vector |
| 23:33:46 | vs73nx | oh |
| 23:34:00 | vs73nx | whoops |
| 23:34:10 | | kodab has joined |
| 23:35:04 | vs73nx | where do i assign the filename? |
| 23:35:16 | vs73nx | nvm |
| 23:37:15 | | koda Quit (Ping timeout: 272 seconds) |
| 23:39:54 | vs73nx | Watusimoto_: i did string filename = GameSettings::getFolderManager()->findLevelFile(mLevelInfos[i].folder, mLevelInfos[i].filename); |
| 23:40:18 | vs73nx | but i got,... |
| 23:40:19 | vs73nx | fp inside FileListLevelSource::populateLevelInfoFromSource is Null!: No such file or directory |
| 23:40:19 | vs73nx | fileName = Could not load level bm.level |
| 23:43:16 | Watusimoto_ | the way I would solve this is to set a breakpoint somewhere, then step through the code, watching what happens and trying to figure out what the ultimate filename it is looking for is, and why it can't find it |
| 23:43:34 | Watusimoto_ | this is a difficult problem to solve by printing a few values here and there, and it's doubly hard to do so remotely |
| 23:50:01 | | YoshiSmb Quit (Ping timeout: 272 seconds) |