… | |
… | |
240 | static vector active; // active objects, not yet used |
240 | static vector active; // active objects, not yet used |
241 | static vector objects; // not used yet, use first->next->... |
241 | static vector objects; // not used yet, use first->next->... |
242 | static object *first; // will be replaced by "objects" |
242 | static object *first; // will be replaced by "objects" |
243 | |
243 | |
244 | static object *create (); |
244 | static object *create (); |
245 | void free (bool free_inventory = false); |
245 | void destroy (bool destroy_inventory = false); |
246 | |
246 | |
247 | static void free_mortals (); |
247 | static void free_mortals (); |
248 | static bool can_merge (object *op1, object *op2); |
248 | static bool can_merge (object *op1, object *op2); |
249 | |
249 | |
250 | void clear (); |
250 | void clear (); |
… | |
… | |
310 | object (); |
310 | object (); |
311 | ~object (); |
311 | ~object (); |
312 | }; |
312 | }; |
313 | |
313 | |
314 | #define get_object() object::create () |
314 | #define get_object() object::create () |
315 | #define free_object(op) (op)->free (0) |
315 | #define free_object(op) (op)->destroy (0) |
316 | #define free_object2(op, free_inv) (op)->free (free_inv) |
316 | #define free_object2(op, free_inv) (op)->destroy (free_inv) |
317 | #define clear_owner(op) (op)->owner = 0 |
317 | #define clear_owner(op) (op)->owner = 0 |
318 | #define copy_owner(op,other) (op)->owner = (other)->owner |
318 | #define copy_owner(op,other) (op)->owner = (other)->owner |
319 | #define get_owner(op) (op)->owner |
319 | #define get_owner(op) (op)->owner |
320 | #define clear_object(op) (op)->clear () |
320 | #define clear_object(op) (op)->clear () |
321 | |
321 | |