#exult@irc.freenode.net logs for 24 Jul 2008 (GMT)

Archive Today Yesterday Tomorrow
Exult homepage

[00:54:57] --> Keelhaul has joined #exult
[01:02:06] <-- Kirben has left IRC ()
[01:10:49] --> Kirben has joined #exult
[01:10:49] --- ChanServ gives channel operator status to Kirben
[01:34:25] --> ShadwChsr has joined #exult
[02:43:52] --> servus_ has joined #exult
[03:00:52] <-- servus has left IRC (Read error: 110 (Connection timed out))
[04:04:28] <-- Cahaan has left IRC (Read error: 104 (Connection reset by peer))
[04:08:45] --- Marzo is now known as Marzo_away
[04:11:18] <-- Keelhaul has left IRC ()
[06:31:35] <-- ShadwChsr has left IRC ()
[07:17:39] <-- Kirben has left IRC (kornbluth.freenode.net irc.freenode.net)
[07:17:39] <-- exim3 has left IRC (kornbluth.freenode.net irc.freenode.net)
[07:17:39] <-- Echidna has left IRC (kornbluth.freenode.net irc.freenode.net)
[07:17:39] <-- ettin has left IRC (kornbluth.freenode.net irc.freenode.net)
[07:17:39] <-- servus_ has left IRC (kornbluth.freenode.net irc.freenode.net)
[07:17:39] <-- ParuNexus has left IRC (kornbluth.freenode.net irc.freenode.net)
[07:17:39] <-- Lord_Nightmare has left IRC (kornbluth.freenode.net irc.freenode.net)
[07:17:39] <-- Darke has left IRC (kornbluth.freenode.net irc.freenode.net)
[07:17:39] <-- Marzo_away has left IRC (kornbluth.freenode.net irc.freenode.net)
[07:17:39] <-- Colourless has left IRC (kornbluth.freenode.net irc.freenode.net)
[07:17:39] <-- wjp has left IRC (kornbluth.freenode.net irc.freenode.net)
[07:18:33] --> Kirben has joined #exult
[07:18:33] --> servus_ has joined #exult
[07:18:33] --> exim3 has joined #exult
[07:18:33] --> Colourless has joined #exult
[07:18:33] --> Darke has joined #exult
[07:18:33] --> ParuNexus has joined #exult
[07:18:33] --> Lord_Nightmare has joined #exult
[07:18:33] --> ettin has joined #exult
[07:18:33] --> Echidna has joined #exult
[07:18:33] --> Marzo_away has joined #exult
[07:18:33] --> wjp has joined #exult
[13:34:50] --- Marzo_away is now known as Marzo
[15:01:21] <-- Kirben has left IRC (Read error: 110 (Connection timed out))
[15:28:53] --- Marzo is now known as Marzo_away
[15:34:39] --- Marzo_away is now known as Marzo
[16:59:45] --> Sevalecan has joined #exult
[19:02:40] <Marzo> Ugh
[19:03:08] <Marzo> We will need reference counting for objects (as well as a way to find and remove references for them)
[19:03:48] <Marzo> Some schedules (such as the waiter schedule) maintain lists of objects and may access them after they are deleted (e.g., from a cache-out)
[19:04:51] <wjp> hm, not sure if refcounting is the way to handle that
[19:05:05] <Marzo> Maybe, maybe not
[19:05:20] <Marzo> With refcounts, we will at least know if the object is still used
[19:05:29] <Marzo> (before deleting it)
[19:06:28] <wjp> how do we store the objects that those schedules use in savegames currently?
[19:06:41] <Marzo> We don't
[19:07:18] <wjp> schedules are recreated on load?
[19:07:52] <wjp> that side-steps the issue nicely :/
[19:08:10] <Marzo> :-)
[19:08:21] <Marzo> Not completely, though
[19:08:42] <Marzo> I have the valgrind logs to show otherwise
[19:09:24] <Marzo> (table deleted due to cache-out, waiter schedule trying to use it because it was on a list of nearby tables it keeps)
[19:09:56] <Marzo> And in some cases, it would actually be good to be able to save the objects (e.g., for static usecode vars)
[19:18:49] * wjp ponders
[19:18:57] <wjp> (back from phone)
[19:19:55] <wjp> this is something we've postponed handling for quite a number of times
[19:20:16] <Marzo> Hm
[19:20:22] <wjp> I wonder if we ever discussed explicit solution on the mailing list
[19:20:28] <wjp> s/ion/ions/
[19:20:51] <Marzo> It is worth a look
[19:21:03] <Marzo> (or a discussion, in any case)
[19:27:32] <Marzo> Heh, SF mailing-list search doesn't seem to work
[19:28:19] <wjp> I can't find it in my local archive
[19:28:45] <wjp> nor in IRC logs
[19:29:18] <Marzo> And the SF archives are a pain to search anything in
[19:29:44] <Marzo> Well, I guess I will assume it hasn't happened and start the discussion
[19:31:00] * wjp nods
[19:31:10] * wjp continues pondering :-)
[20:56:58] --- Marzo is now known as Marzo_away
[21:04:30] --- Marzo_away is now known as Marzo
[21:19:34] <wjp> I haven't quite convinced myself that any particular solution is 'right' yet, but here's how U8 did things: *points at mailing list*
[21:22:14] <Marzo> Reading it right now
[21:24:28] <wjp> basically kind of a low-tech weak_ptr-like system, but persistent between saves
[21:25:03] <Marzo> The one problem I can think of (and which I will send to the list too) is that static usecode vars mes this up
[21:25:18] <Marzo> (you can theoretically have one pointing to a cached-out object)
[21:25:28] <Marzo> s/mes/mess
[21:25:51] <Marzo> It is an interesting system, though
[21:30:48] <wjp> I have to go, but a couple of last thoughts (I'll post them to the ML tomorrow morning when my thoughts are more coherent): one thing that doesn't make game objects fit the shared_ptr system perfectly is that there is a main copy. If that copy is deleted, the object is 'really' gone. Also, what prevents static usecode vars from being ObjIDs/weak_ptrs?
[21:32:05] <wjp> anyway, time for bed now. Will read/reply in the morning.
[21:32:34] <Marzo> Good night
[21:34:04] <Marzo> (and I was intending the usecode vars as weak_ptrs -- except for 'item', for safety -- and the 'master' copy -- the one linked to the chunk/container object as a shared_ptr; the weak_ptr would be locked into a shared_ptr when the item was needed, which checks to see if it is still valid)
[23:44:12] --- Marzo is now known as Marzo_away