Ben Cartwright writes: > > Arn't those two redundant? From my checking, you can have > > > > Person.inventory object->next->next->next > > \ \-contains->next > > \->contains->next->next->next > > \->contains > > > > without ever needing the next_content. Is that just around for historical > > reasons? I'm attempting to simplify somewhat and redo the load/save > routines. > > > > Am I totally off-base or can this be brought in-line? > > > > struct obj_data { > <...> > struct obj_data *next_content; /* For 'contains' lists */ > struct obj_data *next; /* For the object list */ > }; > > Actually, unless I am mistaken, the next pointer is used soley for the > global linked list of objects, and is not referenced at all when you are > moving objects around. next_content is used in separate linked lists, > headed by either room_data.contents, char_data.carrying, or > obj_data.contains. > For verification, you can just dig through handler.c, which contains all > the linked-list management functions. Ahh! Gotcha. That makes more sense, I was looking at it backwards. Handler.c is probably something I'm gonna need to print and sit at with a pencil and hilighter. :-) a few readings of it should clear out the cowebs here. --Dan +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 04/10/01 PDT