home *** CD-ROM | disk | FTP | other *** search
/ Game Audio Programming / GameAudioProgramming.iso / Extras / Sensaura / SDK1.0 / data1.cab / Example_Files / DS3DDemo / Source / dxwldobj.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-06-13  |  3.0 KB  |  101 lines

  1. /*
  2.     Company:            Sensaura
  3.     Copyright:          (C) 1999
  4.  
  5.     Software Project:    Sensaura DirectSound3D Demo
  6.     File Name:            dxwldobj.h
  7.     File Description:    Header file for definition of DirectXWorld 3D object classes
  8.     Author:                Adam Philp
  9.     File Version:        1.02.000
  10.     Last Update:        11-FEB-99
  11.  
  12.     Target Compiler:    Microsoft Visual C++ Version 5.0
  13. */
  14.  
  15. #ifndef __dxwldobj_h                    // Sentry, only use file if not already included
  16. #define __dxwldobj_h
  17.  
  18. ///////////////////////    Included files ////////////////////////////////////////////////////////////
  19.  
  20. #include "object3d.h"                    // Declaration of 3D object base classes
  21.  
  22. ///////////////////////    Constants /////////////////////////////////////////////////////////////////
  23.  
  24. const int ID_GLOBE                = 0x0100;
  25. const int ID_SAUCER                = 0x0200;
  26. const int ID_METEOR                = 0x0300;
  27. const int ID_BULLET                = 0x0400;
  28. const int ID_EXPLOSION            = 0x1000;
  29.  
  30. ///////////////////////    DirectX world 3D object class declarations ////////////////////////////////
  31.  
  32. class D3DRMGlobeObject : public D3DRMSphereObject 
  33. {
  34. public:                                    // Public constructor & destructor
  35.     D3DRMGlobeObject(DirectXWorld*, LPDIRECT3DRMMESHBUILDER2*, DWORD, DWORD);
  36.     virtual ~D3DRMGlobeObject();
  37.  
  38. public:                                    // Public member functions
  39.  
  40. private:                                // Private member functions
  41.     bool SensauraWrap(LPDIRECT3DRMMESHBUILDER);
  42.  
  43. private:                                // Private member variables
  44.     LPDIRECT3DRMMESHBUILDER2* m_ppBuilder;
  45. };
  46.  
  47. class D3DRMSaucerObject : public D3DRMBoxObject 
  48. {
  49. public:                                    // Public constructor & destructor
  50.     D3DRMSaucerObject(DirectXWorld*, LPDIRECT3DRMMESHBUILDER, DWORD, DWORD);
  51.     virtual ~D3DRMSaucerObject() {}
  52.  
  53. public:                                    // Public member functions
  54.     virtual bool Update(D3DVALUE);
  55.  
  56. private:                                // Private member variables
  57.     D3DVALUE m_Velocity;
  58. };
  59.  
  60. class D3DRMMeteorObject : public D3DRMBoxObject 
  61. {
  62. public:                                    // Public constructor & destructor
  63.     D3DRMMeteorObject(DirectXWorld*, LPDIRECT3DRMMESHBUILDER, DWORD, DWORD);
  64.     ~D3DRMMeteorObject() {}
  65.  
  66. public:                                    // Public member functions
  67.     virtual bool Update(D3DVALUE);
  68. };
  69.  
  70. class D3DRMBulletObject : public D3DRMSphereObject 
  71. {
  72. public:                                    // Public constructor & destructor
  73.     D3DRMBulletObject(DirectXWorld*, LPDIRECT3DRMMESHBUILDER, DWORD, DWORD);
  74.     ~D3DRMBulletObject() {}
  75. };
  76.  
  77. class D3DRMExplosionObject : public D3DRMBoxObject 
  78. {
  79. public:                                    // Public constructor & destructor
  80.     D3DRMExplosionObject(DirectXWorld*, DWORD,        
  81.                          LPDIRECT3DRMMESHBUILDER, LPD3DVECTOR,
  82.                          DWORD,    DWORD);
  83.     ~D3DRMExplosionObject() {};
  84.  
  85. public:                                    // Public member functions
  86.     virtual bool Update(D3DVALUE);
  87.  
  88. private:                                // Private member variables
  89.     D3DVALUE m_Red;
  90.     D3DVALUE m_Green;
  91.     D3DVALUE m_Blue;
  92. };
  93.  
  94. typedef D3DRMGlobeObject*        LPD3DRMGLOBE;
  95. typedef D3DRMSaucerObject*        LPD3DRMSAUCER;
  96. typedef D3DRMMeteorObject*        LPD3DRMMETEOR;
  97. typedef D3DRMBulletObject*        LPD3DRMBULLET;
  98. typedef D3DRMExplosionObject*    LPD3DRMEXPLOSION;
  99.  
  100. #endif                                    // End of sentry
  101.