AUXILLARY CONSTRUCTS OF THE OTWDRIVER

enum
{
 // enums for CHAT Messages
 MAX_CHAT_LINES  =10,
 MAX_CHAT_LENGTH  =100,

 // flags for Displaying at the very end if the display loop
 SHOW_CHATBOX  =0x00000001,
 SHOW_MESSAGES  =0x00000002,
 SHOW_PAUSE   =0x00000010,
 SHOW_X2    =0x00000020,
 SHOW_X4    =0x00000040,
 SHOW_TE_SCORES  =0x00000100,
 SHOW_DOGFIGHT_SCORES=0x00000200,
};

// Defines for Virtual Cockpit Head Motion
#define YAW_PITCH 1
#define PITCH_YAW 0

#define HEAD_TRANSISTION1 2
#define HEAD_TRANSISTION2 3
#define HEAD_TRANSISTION3 4

#define STOP_STATE0 0
#define STOP_STATE1 1
#define STOP_STATE2 2
#define STOP_STATE3 3

#define LTOR 1
#define RTOL -1

#define PAN_AND_TILT  0
#define PAN_ONLY   1
#define TILT_ONLY   2
#define NO_PAN_OR_TILT 3
// End V Cockpit Defines

DISPLAYLIST

class displayList
{
  public:
 displayList( void );
 ~displayList( void );

 DrawableObject* object;
 DrawableObject* object1;
 float x, y, z;
 int data1;
 displayList* next;

#ifdef USE_SH_POOLS
  public:
 // Overload new/delete to use a SmartHeap fixed size pool
 void *operator new(size_t size) { ShiAssert( size == sizeof(displayList) ); return MemAllocFS(pool); };
 void operator delete(void *mem) { if (mem) MemFreeFS(mem); };
 static void InitializeStorage() { pool = MemPoolInitFS( sizeof(displayList), 200, 0 ); };
 static void ReleaseStorage() { MemPoolFree( pool ); };
 static MEM_POOL pool;
#endif
};

drawPtrList

class drawPtrList
{
  public:
 drawPtrList( void ) {};
 ~drawPtrList( void ) {};

 DrawableObject*drawPointer;
 float   value;

 drawPtrList *prev;
 drawPtrList *next;

#ifdef USE_SH_POOLS
  public:
 // Overload new/delete to use a SmartHeap fixed size pool
 void *operator new(size_t size) { ShiAssert( size == sizeof(drawPtrList) ); return MemAllocFS(pool); };
 void operator delete(void *mem) { if (mem) MemFreeFS(mem); };
 static void InitializeStorage() { pool = MemPoolInitFS( sizeof(drawPtrList), 10, 0 ); };
 static void ReleaseStorage() { MemPoolFree( pool ); };
 static MEM_POOL pool;
#endif
};

sfxRequest

class sfxRequest
{
#ifdef USE_SH_POOLS
   public:
      // Overload new/delete to use a SmartHeap fixed size pool
      void *operator new(size_t size) { ShiAssert( size == sizeof(sfxRequest) ); return MemAllocFS(pool); };
      void operator delete(void *mem) { if (mem) MemFreeFS(mem); };
      static void InitializeStorage() { pool = MemPoolInitFS( sizeof(sfxRequest), 200, 0 ); };
      static void ReleaseStorage() { MemPoolFree( pool ); };
      static MEM_POOL pool;
#endif
  public:
  sfxRequest( void );
  ~sfxRequest( void );

     sfxRequest *next;  // next in Q
     SfxClass *sfx;  // pointer to sfx object
};

// this structire is used for the virtual cockpit instrumentation
typedef struct
{
 Canvas3D *vHUDrenderer;
 Canvas3D *vRWRrenderer;
 Canvas3D *vMACHrenderer;
 Canvas3D *vDEDrenderer;
} VirtualCockpitInfo;