Timestamps are in GMT/BST.
| 00:29:59 | | Watusimoto Quit (Ping timeout: 256 seconds) |
| 00:31:23 | | Wuzzy Quit (*.net *.split) |
| 00:31:23 | | raptor Quit (*.net *.split) |
| 00:31:25 | | kaen Quit (*.net *.split) |
| 01:59:51 | | kaen has joined |
| 01:59:54 | | raptor has joined |
| 02:38:59 | | raptor Quit (Disconnected by services) |
| 02:39:04 | | raptor has joined |
| 02:39:04 | | ChanServ sets mode +o raptor |
| 02:39:13 | | koda has joined |
| 02:39:26 | | raptor_ has joined |
| 02:39:29 | | raptor Quit (Disconnected by services) |
| 02:39:29 | | raptor_ is now known as raptor |
| 02:39:30 | | raptor Quit (Changing host) |
| 02:39:30 | | raptor has joined |
| 02:39:30 | | ChanServ sets mode +o raptor |
| 02:39:40 | | raptor Quit (Client Quit) |
| 02:39:52 | | raptor has joined |
| 02:39:52 | | raptor has left |
| 02:40:00 | | raptor has joined |
| 02:40:00 | | ChanServ sets mode +o raptor |
| 03:35:01 | | bobdaduck has joined |
| 03:43:15 | raptor | I just have to say... yay for calibre |
| 03:43:33 | raptor | (speaking of the ebook world and all of its nonsense) |
| 03:49:11 | bobdaduck | I just have to say |
| 03:49:18 | bobdaduck | levelgen carnival is the funnest level ever |
| 03:49:55 | bobdaduck | Wanna see? |
| 03:49:59 | raptor | it's practically a different game... |
| 03:50:02 | bobdaduck | xD |
| 03:50:02 | raptor | sure! |
| 04:00:25 | bobdaduck | Woah it crashed |
| 04:02:40 | raptor | Lua or real? |
| 04:04:28 | bobdaduck | real |
| 04:04:58 | raptor | man... we have to track those down.. |
| 04:05:25 | raptor | actually - if you would consent to give me your level and levelgen, I could run it in a debugger to get a good stack trace |
| 04:08:32 | raptor | bobdaduck: no isAdmin() Lua methods :( |
| 04:08:39 | raptor | but that may be a good idea.. |
| 04:10:02 | bobdaduck | okay |
| 04:20:24 | | koda Quit (Read error: Connection reset by peer) |
| 04:24:27 | raptor | ok hosted |
| 04:26:19 | raptor | CRASH! |
| 04:26:26 | bobdaduck | WHOO |
| 04:26:30 | bobdaduck | So it was when I had Robbie |
| 04:26:32 | bobdaduck | and then left game |
| 04:26:36 | bobdaduck | I think. |
| 04:26:43 | bobdaduck | Stack trace give you anything? |
| 04:27:34 | raptor | http://pastie.org/pastes/7336567/text |
| 04:27:44 | bobdaduck | That tells me so little |
| 04:27:44 | raptor | Lua stuff is hard.. |
| 04:27:46 | bobdaduck | xD |
| 04:27:48 | raptor | hahaha |
| 04:29:25 | bobdaduck | Does it tell you anything? |
| 04:30:29 | raptor | looks like it was a TIck event |
| 04:30:58 | raptor | something to do with playerinfo |
| 04:32:20 | bobdaduck | There's only three tick events... |
| 04:32:26 | bobdaduck | healthpack, stoprock, and match robbie |
| 04:32:29 | bobdaduck | healthpack I assume |
| 04:37:44 | bobdaduck | found anything? |
| 04:38:33 | raptor | this is actually hard... so my guess is that it's trying to access a playerInfo object that has disappeared or has been replaced with different memory |
| 04:38:58 | raptor | would the level consistently crash with people exiting? |
| 04:39:06 | bobdaduck | I think so |
| 04:39:08 | bobdaduck | lets try it? |
| 04:39:11 | raptor | ok |
| 04:39:26 | raptor | uh, i'm not going to host because I have valuable debugging information running.. |
| 04:39:55 | bobdaduck | xD |
| 04:39:56 | bobdaduck | okay |
| 04:39:57 | bobdaduck | hosting |
| 04:40:10 | bobdaduck | join from stock |
| 04:40:15 | raptor | done |
| 04:40:41 | bobdaduck | crashed! |
| 04:40:43 | raptor | boom? |
| 04:40:46 | raptor | ok one more test |
| 04:40:48 | bobdaduck | one more |
| 04:41:29 | bobdaduck | crash! |
| 04:41:33 | raptor | huh |
| 04:41:35 | bobdaduck | one more then |
| 04:41:36 | raptor | ok |
| 04:41:56 | bobdaduck | no crash |
| 04:42:17 | bobdaduck | nope |
| 04:42:50 | bobdaduck | crash |
| 04:42:51 | raptor | ha |
| 04:42:53 | raptor | ok so |
| 04:42:53 | bobdaduck | consistent! YAYY |
| 04:42:57 | raptor | YAY |
| 04:44:36 | raptor | ok, so |
| 04:44:42 | bobdaduck | so |
| 04:44:50 | raptor | your script is HUGE |
| 04:45:12 | bobdaduck | ...yes. |
| 04:45:26 | bobdaduck | okay join again |
| 04:45:31 | bobdaduck | and run a crash |
| 04:45:57 | bobdaduck | crash! |
| 04:46:00 | bobdaduck | Okay |
| 04:46:00 | raptor | oooo |
| 04:46:03 | bobdaduck | send you simple case? |
| 04:46:04 | raptor | send me that script.. |
| 04:46:06 | raptor | yes please |
| 04:47:05 | bobdaduck | http://pastie.org/7336641 |
| 04:47:24 | bobdaduck | Might be a bit simpler than debugging carnival :P |
| 04:49:55 | raptor | ok, join please |
| 04:51:31 | raptor | bobdaduck: please join and try to crash my server.. |
| 04:51:36 | raptor | i'll be right back.. |
| 04:55:54 | raptor | ok |
| 04:55:59 | raptor | crash.. |
| 04:56:42 | raptor | did you crash me? |
| 04:57:19 | bobdaduck | yeah |
| 04:59:20 | bobdaduck | Changing a core's team doesn't seem to work in levelgen |
| 05:01:06 | bobdaduck | Nowait |
| 05:01:07 | bobdaduck | it does |
| 05:01:10 | bobdaduck | but it doesn't change color |
| 05:01:33 | raptor | heh, really? |
| 05:01:37 | raptor | hmmm... |
| 05:02:22 | bobdaduck | Out for a bit |
| 05:02:25 | bobdaduck | good luck |
| 05:02:41 | | bobdaduck Quit (Remote host closed the connection) |
| 05:36:41 | raptor | oh my |
| 05:50:05 | | Darrel has joined |
| 05:51:05 | raptor | kaen: are you still up? |
| 05:56:50 | | bobdaduck has joined |
| 05:56:51 | | bobdaduck Quit (Client Quit) |
| 05:57:07 | | bobdaduck has joined |
| 06:00:16 | bobdaduck | Any progress |
| 06:00:20 | bobdaduck | ? |
| 06:32:50 | raptor | hi bobdaduck |
| 06:33:17 | bobdaduck | (mostly afk here.) |
| 06:33:20 | raptor | I don't know what's going on, but if it what I think it is, then I won't be able to patch 018a |
| 06:33:39 | raptor | but I can test with some future code changes to 019... |
| 06:33:56 | raptor | if kaen were up, I could pick his brain some - but maybe tomorrow.. |
| 06:44:59 | bobdaduck | what do you think it is? |
| 06:45:24 | raptor | I think it's a memory corruption issue between c++ and our old Lua wrapper (Lunar) |
| 06:46:23 | raptor | take a look here, I narrowed it down to where it crashes: http://pastie.org/7337356 |
| 06:46:42 | raptor | it crashes between those two logprints |
| 06:46:48 | raptor | lines 9 an 14 |
| 06:46:55 | raptor | but it should never do that.. |
| 06:46:58 | raptor | ever |
| 06:47:29 | bobdaduck | xD |
| 06:48:45 | raptor | well, i'm officially too brain dead to try and figure this out further |
| 06:48:54 | raptor | so.. good night! |
| 06:49:16 | bobdaduck | night |
| 06:49:31 | | raptor Quit () |
| 06:59:00 | | bobdaduck Quit (Remote host closed the connection) |
| 09:03:04 | | LordDVG has joined |
| 09:12:15 | | LordDVG Quit (Ping timeout: 248 seconds) |
| 09:33:33 | | FlynnnNT has joined |
| 09:47:40 | | FlynnnNT Quit (Quit: Leaving) |
| 09:48:34 | | Watusimoto has joined |
| 11:24:14 | | Watusimoto Quit (Ping timeout: 245 seconds) |
| 11:32:05 | | LordDVG has joined |
| 11:54:02 | | Watusimoto has joined |
| 12:24:27 | | raptor has joined |
| 12:24:27 | | ChanServ sets mode +o raptor |
| 12:28:15 | raptor | good morning |
| 12:35:42 | Watusimoto | hi |
| 12:37:22 | Watusimoto | I've managed to exterminate a ton of duplicate code and clean up the score render widget; it's much less crazy now |
| 12:46:26 | raptor | oh good! |
| 12:52:20 | Watusimoto | unfortunately, the function isTeamCoreBeingAttacked can't be const in its current incarnation, so I either need to rip out a whole tree of const delcarations or refactor that a bit |
| 12:52:46 | Watusimoto | but I like this new code design much better |
| 12:52:58 | Watusimoto | lunchtime |
| 12:53:01 | Watusimoto | back in a bit |
| 13:08:35 | raptor | bobdaduck found a Lua crash that I don't understand |
| 13:10:11 | raptor | here is the script, it crashes between the two logprint lines: http://pastie.org/7340213 |
| 13:11:00 | raptor | and here is the stack trace: pastie.org/7340220 |
| 13:16:46 | raptor | 'value' is not nil, and the metatable for it looks fine (returns all the PlayerInfo methods) |
| 13:18:24 | raptor | it happens whenever a player leaves the level the script is on, after they're 'registered', but only after they've died at least once |
| 13:21:35 | raptor | it looks like the playerInfo object in Lunar has become corrupted somehow |
| 13:22:15 | Watusimoto | ok, got that figured out |
| 13:22:26 | Watusimoto | my problem, not yours :-) |
| 13:22:34 | raptor | heh |
| 13:22:43 | raptor | good |
| 13:23:03 | raptor | as for my problem, my research led me to an old post of yours here: http://stackoverflow.com/questions/1047212/detecting-stale-c-references-in-lua |
| 13:23:13 | raptor | but I'm not sure it's relevant |
| 13:25:19 | Watusimoto | I *think* the stack trace suggests that value has no getname method |
| 13:25:24 | Watusimoto | or something like that |
| 13:25:27 | raptor | but it DO |
| 13:25:29 | raptor | fds\a |
| 13:25:30 | raptor | fsa |
| 13:25:32 | raptor | fsdfdsa |
| 13:25:45 | Watusimoto | can you verify it is the value:getname() call that is failing? |
| 13:25:53 | raptor | sorry, child... |
| 13:26:05 | raptor | i print out the metatable and it's complete |
| 13:26:08 | raptor | it's there |
| 13:26:09 | Watusimoto | been there, done that :-) |
| 13:26:21 | Watusimoto | (both metatable and child) |
| 13:26:31 | raptor | haha yeah |
| 13:26:38 | Watusimoto | so the printtable works |
| 13:26:41 | Watusimoto | that's not the issue |
| 13:26:44 | Watusimoto | right? |
| 13:27:24 | raptor | right |
| 13:28:00 | raptor | it prints out the full table: http://pastie.org/7340340 |
| 13:28:09 | Watusimoto | well, it could be a stale reference problem |
| 13:28:12 | raptor | the '1', then the table, but no '2' |
| 13:29:14 | Watusimoto | if I recall correctly, the thunk is where lunar tries to convert a pointer from a lua thing to a c++ thing |
| 13:29:28 | Watusimoto | so... that would be consistent with a stale pointer |
| 13:29:36 | raptor | and this is whats really weird (if you can follow): http://pastie.org/7340344 |
| 13:30:03 | raptor | that is when it crashes, i go back 1 frame and print out all the relevant objects being called |
| 13:30:12 | Watusimoto | could the c++ object have been deleted when this code runs |
| 13:30:20 | Watusimoto | ? |
| 13:30:27 | raptor | it happens right when a player leaves the game |
| 13:30:48 | Watusimoto | then that's probably it |
| 13:30:50 | raptor | so it could be that playerInfo gets deleted right then, I suppose? |
| 13:30:56 | Watusimoto | exactly |
| 13:31:09 | Watusimoto | so the easiest fix is to convert to luawrapper |
| 13:31:13 | raptor | yes |
| 13:31:26 | Watusimoto | which I can do if you want to add it ot the list |
| 13:31:30 | raptor | that's what I'm thinking.. |
| 13:31:34 | raptor | I'll do it! |
| 13:31:37 | Watusimoto | really? |
| 13:31:39 | raptor | (I've already started) |
| 13:31:53 | raptor | I've converted 1 of the 5 Lunar objects so far.. |
| 13:32:00 | Watusimoto | if you follow the patterns in the other codez you will end up with the getPlayer returning nil if the c++ object was deleted |
| 13:32:14 | Watusimoto | script might still crash, but at least it can detect the condition and respond |
| 13:32:21 | raptor | with LuaW you mean |
| 13:32:33 | Watusimoto | yes with luaW |
| 13:32:49 | raptor | ok, good - a nil check in the Lua code is definitely preferable to this craziness |
| 13:32:59 | Watusimoto | though it is also possible to retrofit proxy objects into lunar, but I think I deleted all the relevant code when I converted the objects that relied on it |
| 13:33:03 | Watusimoto | yes |
| 13:33:12 | Watusimoto | it actually makes sense :-) |
| 13:34:32 | Watusimoto | the new const-correct scoreboard renderer seems to work even when I kill cores |
| 13:34:35 | Watusimoto | that's good! |
| 13:34:42 | raptor | well great - then I'm not completely crazy |
| 13:36:23 | Watusimoto | no |
| 13:36:33 | Watusimoto | though lua has a way of making one think he is |
| 13:36:43 | raptor | yes! |
| 13:36:59 | Watusimoto | oops spoke too soon... core crashes when game is over |
| 13:37:52 | Watusimoto | add a null check and away we go |
| 13:38:52 | Watusimoto | well... I have to decide whether to do my taxes or play a board game with my kids |
| 13:39:01 | raptor | oh no! |
| 13:39:09 | Watusimoto | I think it's a pretty easy choice :-) |
| 13:39:19 | Watusimoto | I still have 9 days for taxes! |
| 13:39:28 | raptor | i'd say board game.. but maybe time dicta.... yes :) |
| 13:42:06 | Watusimoto | we're going to play Agricola |
| 13:42:12 | raptor | ? |
| 13:42:16 | Watusimoto | that game weighs about 12 kilos |
| 13:42:43 | Watusimoto | http://boardgamegeek.com/boardgame/31260/agricola |
| 13:43:12 | Watusimoto | You may know it by its other name: 農家樂 |
| 13:43:54 | raptor | ha |
| 13:44:10 | Watusimoto | ok, back later |
| 13:44:14 | raptor | ok |
| 13:44:15 | raptor | thanks |
| 13:44:21 | Watusimoto | welcome! |
| 13:48:51 | | Watusimoto Quit (Ping timeout: 258 seconds) |
| 13:51:43 | | LordDVG Quit (Remote host closed the connection) |
| 14:47:34 | | koda has joined |
| 14:52:00 | | LordDVG has joined |
| 15:00:14 | | LordDVG Quit (Remote host closed the connection) |
| 16:54:21 | kaen | raptor how do you feel about Delay=0 ? |
| 16:54:36 | kaen | I don't mind it but I think we should limit it to some reasonable threshold |
| 16:54:59 | kaen | or just actually support a 0 value, which is possible if we only allow them to trigger once per frame |
| 16:55:32 | raptor | hi |
| 16:55:43 | raptor | limit to delay=0.1 or something? |
| 16:55:56 | kaen | hello |
| 16:56:00 | kaen | that's what I did on kaen test |
| 16:56:23 | | Watusimoto has joined |
| 16:57:11 | kaen | but it's on a private member, and if we expose delay via lua then we'll have to duplicate the logic or else we'll get the bug again |
| 16:57:32 | kaen | so should we add delay get/setters? |
| 16:57:44 | raptor | i don't remember what Watusimoto's thoughts were on the matter... |
| 16:57:53 | kaen | I tried asking him but he was afk |
| 16:58:01 | raptor | did we determine it was good to keep? what do you think? |
| 16:58:21 | kaen | there are interesting things that can be done with it |
| 16:58:40 | kaen | although one could achieve them through levelgens |
| 16:59:01 | kaen | even without exposing delay directly i.e. add/remove the teleporter |
| 16:59:21 | raptor | so maybe only expose it via levelgen? |
| 16:59:46 | kaen | maybe. if we expose it I say we might as well keep it in levelcode too |
| 17:02:15 | kaen | this cockatiel will not stop chirping at me if I program without putting him on my shoulder now |
| 17:02:26 | kaen | I think he likes the warmth. |
| 17:03:28 | raptor | haha |
| 17:03:44 | | koda Quit (Read error: Connection reset by peer) |
| 17:07:33 | kaen | rofl I'd never seen this issue until just now: http://code.google.com/p/bitfighter/issues/detail?id=143 |
| 17:08:56 | raptor | that can probably be handled in pleasdidses |
| 17:09:21 | kaen | I'd actually been pondering how to allow ratings in-game. I too came up with hashing the code (and levelgen). It could be submitted with the rating to make sure that someone hasn't spoofed their ID into geo war or something |
| 17:12:12 | kaen | also I still have not thought of a better name for pleiades |
| 17:13:06 | kaen | maybe a well-named star cluster is too much to hope for |
| 17:13:47 | raptor | it works fine for a code name |
| 17:15:00 | kaen | yes but I think something more pronounceable and easy to spell would be nice |
| 17:15:10 | raptor | :) |
| 17:15:40 | kaen | I typed "star clusters with cool names" into google |
| 17:15:47 | kaen | top three results are articles about pleiades |
| 17:16:17 | raptor | maybe it's time to go to somewhere drastic: http://en.memory-alpha.org/wiki/Portal:Main |
| 17:16:56 | raptor | http://en.memory-alpha.org/wiki/Stellar_cluster |
| 17:17:10 | kaen | I also had the idea of picking a scientist |
| 17:17:20 | kaen | "father of space flight" gave me "Konstantin Tsiolkovsky" |
| 17:17:29 | kaen | so I stopped. |
| 17:17:32 | raptor | heh |
| 17:18:04 | kaen | star trek :< |
| 17:19:35 | kaen | how about "Yuri" |
| 17:19:50 | kaen | after the first man into space? |
| 17:19:55 | raptor | sure |
| 17:19:57 | raptor | i like that |
| 17:20:40 | raptor | Watusimoto: if you're around, I have a question regarding the PlayerInfo object that uses Lunar |
| 17:20:53 | kaen | Ю́рий |
| 17:21:10 | raptor | that first letter looks like a federation star ship! |
| 17:21:16 | kaen | hehe |
| 17:21:30 | kaen | it's yuri in cyrillic |
| 17:41:30 | | Watusimoto Quit (Ping timeout: 240 seconds) |
| 19:17:40 | | raptor Quit () |
| 19:19:28 | | raptor has joined |
| 19:19:28 | | ChanServ sets mode +o raptor |
| 19:20:20 | | bobdaduck has joined |
| 20:04:50 | raptor | bobdaduck: I think I found the crash... testing |
| 20:04:57 | bobdaduck | yay |
| 20:10:01 | raptor | we use onShipSpawned to register because 'onPlayerJoined' was broken, right? |
| 20:11:50 | bobdaduck | uh |
| 20:11:52 | bobdaduck | something like that |
| 20:12:33 | raptor | otherwise why are we using onShipSpawned? we don't want to register everytime a ship is spawned do we? |
| 20:16:19 | raptor | fixed! |
| 20:20:53 | raptor | ok bobdaduck here is the fix: http://pastie.org/7344009 |
| 20:21:13 | raptor | basically what was happening was that every time a player spawned, they be added again to the registered players list |
| 20:22:47 | raptor | so if they were registered twice, then they left, only one registration was removed - then when looping through it would see the first registration still in the table and crash (because they were gone) |
| 20:25:36 | raptor | so I created a method to only insert if it wasn't already found in the table |
| 20:31:22 | | Watusimoto has joined |
| 20:31:54 | Watusimoto | hey there |
| 20:32:09 | Watusimoto | my kids were on earlier; I wasn't ignoring you |
| 20:32:16 | raptor | :) |
| 20:34:55 | raptor | can you answer me a question about Lunar? |
| 20:37:53 | raptor | a LuaPlayerInfo object is created for each ClientInfo |
| 20:38:02 | raptor | but robots don't have a ClientInfo object, correct? |
| 20:53:32 | Watusimoto | I think this is correct |
| 20:53:40 | Watusimoto | sorry, this time I was ignoring you ;-) |
| 20:54:10 | raptor | heh |
| 20:54:12 | raptor | next question: |
| 20:54:50 | raptor | RobotPlayerInfo and PlayerInfo are child classes of LuaPlayerInfo, which override virtual methods from LuaPlayerInfo. |
| 20:55:12 | Watusimoto | ok |
| 20:55:21 | | bobdaduck_m has joined |
| 20:55:35 | raptor | Will I have to do do LuaW stuff in those child classes? or will just adding them to the parent be all that's necessary? |
| 20:56:06 | Watusimoto | hmmmm |
| 20:56:32 | | bobdaduck Quit (Ping timeout: 260 seconds) |
| 20:56:59 | Watusimoto | My first thought would be parent classes shoudl work |
| 20:57:10 | raptor | well, I will try it first :) |
| 20:57:22 | Watusimoto | I assume that the methods will all be the same |
| 20:57:44 | Watusimoto | so you should be able to implement in the parent class, and have the children inherit |
| 20:57:54 | raptor | ys |
| 20:57:56 | raptor | yes |
| 20:58:19 | Watusimoto | would this be a similar situation to, say, implmeenting methods in MoveObject that get inherited by their children? |
| 20:58:24 | Watusimoto | because that all works fine |
| 20:58:24 | raptor | no |
| 20:59:38 | raptor | because the children of this class *only* override the parrent and aren't grabbed explicitly with Lua |
| 20:59:49 | raptor | they dont' add any other methods |
| 21:00:14 | bobdaduck_m | Request: lua method for adjusting ship health |
| 21:00:20 | Watusimoto | I think it will work |
| 21:00:45 | bobdaduck_m | Also the luadocs display really weird on my phone. Also what is he pointt of ship:isAlive()? |
| 21:01:02 | raptor | too many Qs! |
| 21:01:10 | Watusimoto | bobdaduck_m: you could have a ship objec that is in fact no longer alive |
| 21:01:22 | Watusimoto | like if it were in the process of exploding |
| 21:01:56 | bobdaduck_m | But couldn't I just subscribe to Event.shipKilled? |
| 21:02:28 | Watusimoto | you could |
| 21:02:39 | Watusimoto | but if you were holding a ship object, you might want to ask it |
| 21:03:09 | bobdaduck_m | but you can't even stick IDs on ships anyway... |
| 21:03:35 | Watusimoto | no; but you might have a table of all the ships that you visit every now and again for whatever reason |
| 21:03:35 | raptor | Watusimoto: third question: LuaPlayerInfo overrides Lunar::push with the following comment: |
| 21:03:37 | raptor | / false ==> We do not want Lunar to try and delete the C++ object when Lua is done with it |
| 21:03:49 | raptor | is that safe to remove? |
| 21:04:01 | | Darrel Quit (Read error: Connection reset by peer) |
| 21:04:04 | Watusimoto | if you wanted to, say, add health to all ships, it might be useful to know if one was dead |
| 21:04:28 | bobdaduck_m | There's no method to adding healh to ships |
| 21:04:53 | Watusimoto | we check if a ship has exploded for all sorts of reason sin the C++ code, so it seemed natural to expose that to lua. (I know, but since you asked about it it seemed topical) |
| 21:05:01 | raptor | bobdaduck_m: can you do negative damage? |
| 21:05:35 | Watusimoto | raptor: yes, I think so; with the proxy system, that complexity should be handled |
| 21:05:39 | raptor | ok |
| 21:05:47 | raptor | bobdaduck_m: repair module does negative damage |
| 21:05:52 | raptor | if you want to be technical |
| 21:05:59 | Watusimoto | luaw never deletes the c++ objects |
| 21:06:08 | bobdaduck_m | Yeah but there's no methods for that |
| 21:06:57 | bobdaduck_m | in fact almost all ship methods are exclusively get methods. (getLoadout, getHealth) |
| 21:07:43 | bobdaduck_m | method request: ship:setPlayer() |
| 21:08:03 | raptor | bobdaduck_m: did you see my fix for your crash? it can be done in Lua |
| 21:08:35 | bobdaduck_m | haven't looked at it yet. Sort of busy right now ;) |
| 21:10:09 | bobdaduck_m | Also I'd like to make it publically known that the irc program I use on my phone doesn't do pings, so bobdaduck_m does nothing. |
| 21:12:31 | raptor | Watusimoto: fourth question: there is a setDefunct() method on LuaPlayerInfo, it is only triggered when a player leaves (in gameConnection), and only used as a check when grabbing the 'PlayerInfo:getShip()' method |
| 21:12:41 | raptor | do you think that is still needed? |
| 21:13:44 | | bobdaduck_m Quit () |
| 21:14:10 | Watusimoto | I don't think so... I think that would be covered by the proxy system as well... the methods will start returning nil when the player leaves, if I understand right |
| 21:14:33 | raptor | ok |
| 21:14:35 | Watusimoto | I would start by removing it, and if there is a problem, we can look at how to best address it |
| 21:14:41 | raptor | ok |
| 21:14:56 | Watusimoto | if the player object were deleted, getShip should return nil |
| 21:15:18 | Watusimoto | so that should work |
| 21:27:24 | | fordcars has joined |
| 21:35:03 | raptor | yay compiled |
| 21:35:54 | Watusimoto | :-) |
| 21:36:01 | raptor | ok Watusimoto PlayerInfo object has been converted to LuaW; however... |
| 21:36:30 | raptor | wait doubel checking.. |
| 21:38:37 | raptor | huh... it seems like playerInfo object does not persist anymore |
| 21:40:09 | raptor | didn't we have this problem with something before? like the Ship object? |
| 21:40:38 | Watusimoto | what do you mean it doesn't persist? |
| 21:40:56 | raptor | as in when this event is triggered: onShipSpawned(ship) |
| 21:41:04 | raptor | and you do ship:getPlayerInfo() |
| 21:41:21 | raptor | and it returns a memory address: 0x1234 |
| 21:41:33 | raptor | with Lunar, that address was always the same, now it's different |
| 21:41:44 | raptor | different playerinfo is being created for some reason |
| 21:43:39 | Watusimoto | interesting. we did have this issue previously. With all the back and forth, I do not know if the fix is still in. Let me look |
| 21:44:39 | Watusimoto | I searced luaw.h for cache, and found nothing |
| 21:44:47 | raptor | oh |
| 21:45:00 | raptor | was it because when updating from upstream, the cache was broken |
| 21:45:12 | Watusimoto | I think that we might have removed the userdata caching code, and that was, I think, what ensured that we would have a consistent object ref |
| 21:45:51 | raptor | yes - we decided to use upstream but add the memory leak |
| 21:46:11 | Watusimoto | so if my thinking is correct (and I'm a little addled at the moment due to an "irregular" sleep event), I wouldn't expect the ref to be consistent |
| 21:46:24 | raptor | ok |
| 21:47:19 | raptor | sadly many levelgens were using the consistency of the playerInfo as unique identifiers |
| 21:47:33 | raptor | should I commit my changes anyways? |
| 21:48:31 | Watusimoto | how many is "many"? |
| 21:49:08 | Watusimoto | I think they can easily be fixed, by retrieving some attribute from the playerInfo that will remain consistent (I recall looking into this before, and forget what attribute makes sense) |
| 21:49:10 | raptor | pretty much every script that bobdaduck and little_apple use (because they deal with 'registration' of players) |
| 21:49:17 | Watusimoto | ah |
| 21:49:19 | raptor | yes, probably the name instead? |
| 21:50:26 | Watusimoto | looking at playerinfo.h, I think I am misremembering. I think the name would make a good short-term standin |
| 21:50:47 | Watusimoto | but I also hope that we can fix the lua issue for the next release |
| 21:51:22 | Watusimoto | so maybe if they fix their code, they could comment out the current check with the idea of reinstating it later |
| 21:54:56 | raptor | well, this is obviously a LuaW problem now, not with the c++... so think I'll commit, are you ok with that? |
| 21:55:15 | raptor | or is it in our interest to not remove Lunar until we can fix LuaW? |
| 21:58:17 | Watusimoto | yes, commit |
| 21:58:33 | Watusimoto | it's a global problem we need to fix for all our classes |
| 21:59:02 | Watusimoto | I'm ok with brekaing bdd and la scripts because it is all still in development/transition |
| 21:59:16 | raptor | ok |
| 21:59:19 | Watusimoto | and this is clearly the direction we want to go |
| 21:59:24 | raptor | yes |
| 21:59:25 | raptor | ok |
| 21:59:27 | raptor | committing... |
| 21:59:37 | Watusimoto | are you ready to extinguish lunar? |
| 21:59:45 | raptor | yes! |
| 22:01:43 | | bobdaduck has joined |
| 22:03:55 | raptor | yay |
| 22:04:00 | | BFLogBot Commit: 75e1c7fa6ce3 | Author: buckyballreaction | Message: Convert the Lua PlayerInfo object to use LuaW. Note that within Lua the object reference is not consistent anymore until we fix LuaW's caching |
| 22:04:13 | bobdaduck | The levelgen didn't crash immediately... |
| 22:04:15 | bobdaduck | want to test it? |
| 22:05:52 | raptor | sure |
| 22:08:47 | bobdaduck | Footloose says you should run for president |
| 22:12:14 | Watusimoto | raptor is president of bitfighterville! |
| 22:14:26 | raptor | my wife is the president of our home owner's association - I think I wouldn't ever want to be president of anything ever... ever |
| 22:14:31 | bobdaduck | uh |
| 22:14:35 | bobdaduck | okay I have a bug for you. |
| 22:15:14 | raptor | bobdaduck: do you understand the problem behind that crash, and my fix for it? |
| 22:15:18 | raptor | (just to check..) |
| 22:15:19 | bobdaduck | yeah |
| 22:15:21 | bobdaduck | I got that |
| 22:15:28 | bobdaduck | makes sense, really. |
| 22:15:36 | bobdaduck | Rubber duck programming would have solved that fast. |
| 22:15:49 | bobdaduck | So I have something really weird |
| 22:15:51 | bobdaduck | for SOMEONE. |
| 22:17:37 | bobdaduck | Its not game crashing its just really odd |
| 22:20:48 | raptor | waiting for this weird thing... |
| 22:22:03 | Watusimoto | I was chair of my neighborhood association for a couple of years |
| 22:22:13 | Watusimoto | but that's different than a homeowner's association |
| 22:22:30 | bobdaduck | in my server? |
| 22:22:41 | bobdaduck | like, have to show you |
| 22:24:49 | bobdaduck | It has to do with engineering Robbie |
| 22:24:51 | raptor | oh ok |
| 22:24:53 | raptor | i'll join.. |
| 22:27:02 | raptor | actually, it's dinner.. back later |
| 22:32:48 | bobdaduck | can I disable chat flood filters? |
| 22:41:59 | raptor | hi |
| 22:42:03 | raptor | bobdaduck: looking... |
| 22:42:12 | bobdaduck | nah come see this first |
| 22:42:57 | raptor | looks like no... |
| 22:42:59 | raptor | ok |
| 22:54:59 | | Watusimoto Quit (Remote host closed the connection) |
| 22:58:25 | | Watusimoto has joined |
| 22:59:15 | raptor | Watusimoto: have you ever seen craziness like this?: http://stackoverflow.com/questions/7986412/c-how-to-check-1-ind-in-array |
| 22:59:20 | raptor | and look at the solution |
| 22:59:51 | raptor | somehow bobdaduck got that "-1.#IND" in a Lua script getting the coords of an object |
| 23:02:15 | Watusimoto | what? really? I've never heard of that before |
| 23:04:12 | Watusimoto | could we be dividing by 0 for some reason? like gridsize = 0 somewhere... or soemthing like that??? |
| 23:04:59 | raptor | oh! that might be it! |
| 23:05:16 | raptor | divide by zero makes sense... |
| 23:08:01 | Watusimoto | though we usualy mult by gridSize, not sure where else we divide coords |
| 23:08:29 | raptor | he probably is doing something goofy in his script (it is the 'Carnival' one, after all..) |
| 23:08:51 | raptor | 3 Lunar classes left! |
| 23:18:24 | | bobdaduck Quit (Ping timeout: 260 seconds) |
| 23:28:25 | | fordcars Quit (Ping timeout: 245 seconds) |
| 23:36:19 | | bobdaduck has joined |
| 23:37:31 | raptor | ok, i'll be back in about 2.5 hours - good night Watusimoto |
| 23:37:43 | Watusimoto | ok, good bye! |
| 23:38:09 | bobdaduck | What'd I miss? |
| 23:38:10 | bobdaduck | xD |
| 23:39:12 | raptor | bobdaduck: are you dividing by zero in your robbie code |
| 23:39:19 | bobdaduck | uhhhh |
| 23:39:20 | raptor | because that would return that weird 'number' |
| 23:39:23 | bobdaduck | not that I'm aware of! |
| 23:43:55 | raptor | ok leaving for real now.. |
| 23:43:56 | raptor | back later |
| 23:43:59 | | raptor Quit () |
| 23:47:04 | | bobdaduck Quit (Remote host closed the connection) |
| 23:59:21 | | fordcars has joined |