#ifndef OBJECT_H_
#define OBJECT_H_

#include "vgi.h"

extern void init_object_instance(void);
extern void init_object_mgmt(void);
extern void init_object_call(void);
extern void init_object_collision(void);

#define VGI_OBJID_NONE "[none]"

struct vgi_instance {  /* struct for instance-IDs */
  unsigned int id_start;   /* start of next free instance-ID to search */
  struct SML3_hash *hiid;  /* <instance-ID> = <pointer to object> */
};

struct vgi_objlist {  /* list of object-instances */
  struct vgi_objlist *prev, *next;
  struct VG_Object obje;
};

extern void vg4_object_mgmt_dump(FILE *);
extern void vg4_object_collision_dump(FILE *);

#endif /* OBJECT_H_ */
