00001
00026 #ifndef _SOUND_
00027 #define _SOUND_
00028
00029 #include <ALApp.h>
00030 #include <ALObj.h>
00031 #include <ConfigFile.h>
00032 #include <Level2D.h>
00033 #include <Integrator.h>
00034 #include <Graphics.h>
00035 #include <vector3d.h>
00036 #include <disableWarnings.h>
00037
00038 #include <iostream>
00039 #include <fstream>
00040 #include <limits.h>
00041 #include <sstream>
00042 #include <string>
00043 #include <Windows.h>
00044
00045 namespace sonus
00046 {
00060 class Sound
00061 {
00062 public:
00063
00072 Sound();
00073
00078 ~Sound();
00079
00080
00089 void initLevel( std::string levelName, Level2D* level );
00090
00102 void update( Level2D* level );
00103
00107 void endLevel();
00108
00109 ALObj* portalSound;
00110 ALObj* portalSoundFinal;
00111 ALObj* speechLevel;
00112
00113 bool debug;
00114
00115
00116 private:
00117
00118 ALApp* alapp;
00119
00120 ALObj* sourcesRef[ 1 ];
00121 ALObj* sources[ 10 ];
00122 ALObj* sources3D[ 10 ];
00123
00124 ConfigFile* config;
00125
00126 int sourcesRefCount;
00127 int sourcesCount;
00128 int sources3DCount;
00129
00130 ALfloat masterVolume;
00131
00132 Vector2D* transform;
00133 double scale;
00134 Vector2D* playerPosition;
00135 Vector2D* playerOrientation;
00136 double playerRadius;
00137 Vector2D* portalPosition;
00138 double portalMaxBorderDistance;
00139
00140 int source3DTransitionCount;
00141 int* source3DTransitions;
00142
00143 char result[ 1000 ];
00144 };
00145
00146 }
00147
00148 #endif