#exult@irc.freenode.net logs for 9 Oct 2012 (GMT)

Archive Today Yesterday Tomorrow
Exult homepage


[01:01:33] --> Dominus1 has joined #exult
[01:01:46] --- ChanServ gives channel operator status to Dominus1
[01:01:46] <-- Dominus has left IRC (Killed (morgan.freenode.net (Nickname regained by services)))
[01:01:46] --- Dominus1 is now known as Dominus
[02:40:49] --> Dominus1 has joined #exult
[02:41:15] --- ChanServ gives channel operator status to Dominus1
[02:41:16] <-- Dominus has left IRC (Killed (barjavel.freenode.net (Nickname regained by services)))
[02:41:16] --- Dominus1 is now known as Dominus
[03:12:29] <-- ettin has left IRC (Read error: Operation timed out)
[03:12:43] --> ettin has joined #exult
[04:05:04] <-- Dominus has left IRC (Read error: Connection reset by peer)
[04:05:15] --> Dominus has joined #exult
[04:05:16] --- ChanServ gives channel operator status to Dominus
[04:17:58] <-- Kirben has left IRC (Ping timeout: 246 seconds)
[04:18:30] --> Kirben has joined #exult
[04:18:30] --- ChanServ gives channel operator status to Kirben
[04:25:16] --> Kirben_ has joined #exult
[04:25:17] --- ChanServ gives channel operator status to Kirben_
[04:25:51] <-- Kirben has left IRC (Ping timeout: 276 seconds)
[04:46:33] --> Dominus1 has joined #exult
[04:46:33] <-- Dominus has left IRC (Read error: Connection reset by peer)
[04:46:50] --- ChanServ gives channel operator status to Dominus1
[04:46:51] --- Dominus1 is now known as Dominus
[06:24:02] --- Kirben_ is now known as Kirben
[07:35:57] <-- Dominus has left IRC (Read error: Connection reset by peer)
[07:36:07] --> Dominus1 has joined #exult
[07:36:31] --- ChanServ gives channel operator status to Dominus1
[07:36:31] --- Dominus1 is now known as Dominus
[08:45:33] --> Rottingbeef has joined #exult
[11:36:42] <-- Marzo has left IRC (Ping timeout: 244 seconds)
[11:56:25] --> TheCycoONE has joined #exult
[12:08:30] <-- Kirben has left IRC ()
[12:41:08] --> Marzo has joined #exult
[13:35:15] <-- Marzo has left IRC (Read error: Connection reset by peer)
[13:36:46] --> Marzo has joined #exult
[14:00:01] <-- Marzo has left IRC (Ping timeout: 245 seconds)
[15:34:26] --> Marzo has joined #exult
[16:09:42] <-- Marzo has left IRC (Ping timeout: 264 seconds)
[18:53:56] --> Marzo has joined #exult
[19:07:40] --> Marzo1 has joined #exult
[19:10:15] <-- Marzo has left IRC (Ping timeout: 260 seconds)
[20:04:54] <-- Marzo1 has left IRC (Read error: Connection reset by peer)
[20:05:07] --> Marzo has joined #exult
[20:22:11] --> Dominus1 has joined #exult
[20:22:45] --- ChanServ gives channel operator status to Dominus1
[20:22:46] <-- Dominus has left IRC (Killed (wright.freenode.net (Nickname regained by services)))
[20:22:46] --- Dominus1 is now known as Dominus
[20:35:32] <-- Dominus has left IRC (Read error: Connection reset by peer)
[20:35:56] --> Dominus has joined #exult
[20:35:56] --- ChanServ gives channel operator status to Dominus
[20:43:32] <Dominus> I think I might have solved that problem by first checking whether the actor is actually asleep before clearing the asleep flag
[20:49:49] <Dominus> (the problem of dying npcs in fire fields produce clones of themselves)
[20:50:52] <wjp> clearing that asleep flag does trigger a whole lot of behaviour
[20:51:30] <wjp> so that might indeed be quite undesirable if the actor wasn't actually asleep
[20:51:47] <Dominus> yes, and I think when an npc is dead it might be producing those clones
[21:04:48] <-- Marzo has left IRC (Read error: Connection reset by peer)
[21:05:37] --> Marzo has joined #exult
[21:08:38] <-- TheCycoONE has left IRC (Read error: Connection reset by peer)
[21:22:45] <Dominus> wjp: do you think I can just commit this with the if asleep check?
[21:26:31] <wjp> if you tested it in multiple locations/fire fields and both in BG/SI, it does sound very reasonable
[21:26:40] <wjp> but I haven't looked at it in detail...
[21:27:22] <Dominus> hmmm... nope, haven't tested it more than in this spot. I have no idea where to find fire fields...
[21:27:36] <Dominus> will take a look if I find some or can produce some :)
[21:35:56] <Dominus> with casted fire fields I got the good behavior as well (and unpatched I got clones)
[21:40:53] <wjp> ok, that's promising
[21:41:04] <Dominus> in both bg and si
[21:41:41] <Dominus> so it's either I commit this fix for the fire field or the actual cause of the clones needs to be investigated
[21:42:56] <-- Marzo has left IRC (Ping timeout: 245 seconds)
[21:45:03] <wjp> can you describe the clones?
[21:46:03] <wjp> fully "alive" actors, or just passively standing sprites?
[21:46:13] <Dominus> passive standing sprites
[21:46:31] <wjp> and there's still a dead body?
[21:47:10] <wjp> I kind of forgot how we handled dead bodies exactly, but clearing the asleep flag does seem to force the actor to a standing sprite under some conditions
[21:47:42] <Dominus> yes, also the body
[21:49:53] <wjp> if you want to see if this indeed caused those sprites, see Actor::clear_flag in actors.cc
[21:50:21] <wjp> if removing the line change_frame(Actor::standing) gets rid of the clones, it's definitely this
[21:53:06] <wjp> but it's getting past my bedtime, so good night :-)
[21:53:07] <Dominus> it's not that
[21:53:15] <Dominus> he he good night
[21:53:40] <wjp> oh, could also be the stand schedule above I suppose
[21:53:54] <Dominus> will try
[21:53:59] <wjp> do dead actors have a sleep schedule?
[21:54:08] <Dominus> no idea
[21:54:24] <wjp> (if you kill that set_schedule_type() line, you have to add {}'s around it)
[21:54:29] <Dominus> their schedules should keep intact in case of resurrection
[21:54:45] <wjp> (since you can't have an empty if block with an else immediately following the if)
[21:57:32] <Dominus> hmm, still didn't help still standing but I might need to make clean first
[21:58:50] <wjp> hmm
[21:59:03] <wjp> anyway, really gone now :-)
[21:59:09] <Dominus> yup yup :)
[21:59:12] <Dominus> sleep well
[21:59:16] <Dominus> I should too :)
[22:02:46] <Dominus> ok this is weird, it's neither of these two :( (commented both out, made clean, make)