/**
 * $Id:$
 * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
 *
 * The contents of this file may be used under the terms of either the GNU
 * General Public License Version 2 or later (the "GPL", see
 * http://www.gnu.org/licenses/gpl.html ), or the Blender License 1.0 or
 * later (the "BL", see http://www.blender.org/BL/ ) which has to be
 * bought from the Blender Foundation to become active, in which case the
 * above mentioned GPL option does not apply.
 *
 * The Original Code is Copyright (C) 2002 by NaN Holding BV.
 * All rights reserved.
 *
 * The Original Code is: all of this file.
 *
 * Contributor(s): none yet.
 *
 * ***** END GPL/BL DUAL LICENSE BLOCK *****
 */



/* this file is only for the DNA, that it can recognize and
 * solve these structures.
 * You need this to be able to read from files generated by
 * the prototype.
 * 
 * removing this h file from makesdna is sufficient to disable
 * this hack, then also remove link_sector_or_life() from
 * readfile.c
 * 
 * Version: $Id: old_game.h,v 1.3 2000/07/25 08:53:07 nzc Exp $
 */

#define OLD_OB_SECTOR		23
#define OLD_OB_LIFE			24


/*
typedef struct LBuf {
	short tot, max;
	int pad;
	Object **ob;
} LBuf;
*/
typedef struct Sector {
	ID id;
	
	Object *ob;
	short type, flag, totport, actport;
	
	void *portals;
	LBuf lbuf;
	void *campos;
	void *camframe;
	
	ListBase ipo;
	
	Mesh *dynamesh;
	Mesh *texmesh;
	
	short totcam, cfra, totfra, sfra, depth, rt;	/* depth: van recursieve visible test */

		/* bbsize= boundbox size in wereld coords */
	float size[3], bbsize[3];
	float r, g, b;

} Sector;


typedef struct Life {
	ID id;

	void *sector;
	
	float oldloc[3], loc[3], speed[3];		/* loc ook in object zetten */
	float oldloc1[3], loc1[3], speed1[3];	/* lokale sector co's */
	float startloc[3], startrot[3];
	float rot[3], rotspeed[3];
	float oldimat[4][4];
	float mass, frict, rotfrict, axsize, frictfac;
	float r, g, b;
	float aero, padf;
	
	void *sensors;
	Material *contact;
	Object *collision, *from;
	void *floor;
	Mesh *dynamesh;
	Mesh *texmesh, *oldmesh;

	short totsens, actsens;
	char type, lay;
	short flag;
	
	short timer, sfra, cfra, dflag;		/* voor init/afhandeling ipoos, dflag: zit niet aan buttons */
	short state[4];						/* lokale variables */

	float colloc[3];					/* collision loc */
	float floorloc[3];
	
	LBuf links;							/* tijdens simul: de kinderen, in volgorde */
	
	ListBase ipo;
	
} Life;