/*****************************************************************************
Name            :   sclist.h 
C Author        :   Stel Michael
Created         :   9 Sept 1993

Copyright       :   1992 by VideoLogic Limited. All rights reserved.
		    No part of this software, either material or conceptual
		    may be copied or distributed, transmitted, transcribed,
		    stored in a retrieval system or translated into any
		    human or computer language in any form by any means,
		    electronic, mechanical, manual or other-wise, or
		    disclosed to third parties without the express written
		    permission of VideoLogic Limited, HomePark Estate,
		    King's Langley, Hertfordshire, WD4 8LZ, U.K.

Description     :   Header for sclist.cpp
Program Type    :   Microsoft Visual C++ V2
*****************************************************************************/       

#define BASOBJ	0
#define LONOBJ	1
#define AEROBJ 	2              
       
#define DORMANT 0
#define ALIVE 	1
#define FADED	2
#define READY	6  
#define DEAD	9
#define HITIT	11 

#define CHASING 3
#define BENDING 5
  
#define ACTIVE 10 
 
class BasicObject {  
protected:  
	int id;
	int	tran;
	int group;
	int status;  
	float collRad;   
public:
	float pos[3];
	BasicObject(int trm=0, int grp=0);
	int	GetStatus() { return status; }
	int GetTran() { return tran; } 
	int GetGroup() { return group;}	 
	void SetStatus(int stat) { status=stat;}  
	void setPos(float xp,float yp,float zp); 
	float *GetPos() { return pos; }
	virtual	void Process();	
};



struct SceneNode {
	BasicObject *SceneItem;
	SceneNode	*Next;
};

	
class SceneList {
	 SceneNode *Scene;
public:
	SceneList();
	~SceneList();
	void AddObject(BasicObject *NewObject); 
	void RemoveObjects(); 
	int SphereTest(float range,float pnt[3]);   
	void ProcessScene();
};
	
	
	

