--- deliantra/server/include/object.h 2006/08/25 17:11:53 1.5 +++ deliantra/server/include/object.h 2006/08/26 08:44:06 1.6 @@ -29,6 +29,8 @@ #ifndef OBJECT_H #define OBJECT_H +#include "cfperl.h" + typedef uint32 tag_t; #define NUM_BODY_LOCATIONS 12 #define BODY_ARMS 1 @@ -125,7 +127,9 @@ uint16 refcount; /* How many objects points to this object */ }; -struct object_special { +struct object_special : extendable { + data_type get_dt () const { return DT_OBJECT; } + /* These get an extra add_refcount(), after having been copied by memcpy(). * All fields beow this point are automatically copied by memcpy. If * adding something that needs a refcount updated, make sure you modify @@ -255,7 +259,6 @@ }; struct object : object_special, object_simple { - void *self, *cb; // CF+ perl's self and callback registry }; typedef struct oblnk { /* Used to link together several objects */ @@ -352,6 +355,4 @@ #define ARCH_DEPLETION "depletion" #define ARCH_SYMPTOM "symptom" -extern void (*object_free_callback)(object *ob); // called for every object_free - #endif