--- deliantra/server/include/object.h 2007/06/04 13:04:00 1.130 +++ deliantra/server/include/object.h 2007/06/24 00:33:54 1.134 @@ -248,8 +248,8 @@ UUID ACC (RW, uuid); // Unique Identifier, survives saves etc. int ACC (RO, count); - int ACC (RO, index); // index into objects - int ACC (RO, active); // index into actives + object_vector_index ACC (RO, index); // index into objects + object_vector_index ACC (RO, active); // index into actives player_ptr ACC (RW, contr); /* Pointer to the player which control this object */ @@ -555,18 +555,21 @@ void link (); void unlink (); - int ACC (RW, archid); // index in archvector + object_vector_index ACC (RW, archid); // index in archvector shstr ACC (RW, archname); /* More definite name, like "generate_kobold" */ bool ACC (RW, stub); // if true, this is an invalid archetype - struct archetype *ACC (RW, next); /* Next archetype in a linked list */ - struct archetype *ACC (RW, head); /* The main part of a linked object */ - struct archetype *ACC (RW, more); /* Next part of a linked object */ uint32 ACC (RW, editable); /* editable flags (mainly for editor) */ sint8 ACC (RW, min_x), ACC (RW, min_y); /* extents, compared to the head (min_x, min_y should be zero, but aren't...) */ sint8 ACC (RW, max_x), ACC (RW, max_y); }; +inline void +object_freezer::put (keyword k, archetype *v) +{ + put (k, v ? &v->archname : (const char *)0); +} + typedef object_vector objectvec; typedef object_vector activevec; typedef object_vector archvec; @@ -629,10 +632,7 @@ #define INS_BELOW_ORIGINATOR 0x0010 #define INS_MAP_LOAD 0x0020 -#define ARCH_SINGULARITY "singularity" -#define ARCH_DETECT_MAGIC "detect_magic" #define ARCH_DEPLETION "depletion" -#define ARCH_SYMPTOM "symptom" #endif