From 0ea5fc66924303d1bf73ba283a383e2aadee02f2 Mon Sep 17 00:00:00 2001 From: neodarz Date: Sat, 11 Aug 2018 20:21:34 +0200 Subject: Initial commit --- docs/doxygen/nel/env__effect_8h-source.html | 207 ++++++++++++++++++++++++++++ 1 file changed, 207 insertions(+) create mode 100644 docs/doxygen/nel/env__effect_8h-source.html (limited to 'docs/doxygen/nel/env__effect_8h-source.html') diff --git a/docs/doxygen/nel/env__effect_8h-source.html b/docs/doxygen/nel/env__effect_8h-source.html new file mode 100644 index 00000000..533bd280 --- /dev/null +++ b/docs/doxygen/nel/env__effect_8h-source.html @@ -0,0 +1,207 @@ + + + + nevrax.org : docs + + + + + + + + + + + + + + +
# Home   # nevrax.com   
+ + + + +
Nevrax
+ + + + + + + + + + +
+ + +
+ Nevrax.org
+ + + + + + + +
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
+
+ + +
+ + +
+Docs + +
+  + + + + + +
Documentation 
+ +
+Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  
+

env_effect.h

Go to the documentation of this file.
00001 
+00007 /* Copyright, 2001 Nevrax Ltd.
+00008  *
+00009  * This file is part of NEVRAX NEL.
+00010  * NEVRAX NEL is free software; you can redistribute it and/or modify
+00011  * it under the terms of the GNU General Public License as published by
+00012  * the Free Software Foundation; either version 2, or (at your option)
+00013  * any later version.
+00014 
+00015  * NEVRAX NEL is distributed in the hope that it will be useful, but
+00016  * WITHOUT ANY WARRANTY; without even the implied warranty of
+00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+00018  * General Public License for more details.
+00019 
+00020  * You should have received a copy of the GNU General Public License
+00021  * along with NEVRAX NEL; see the file COPYING. If not, write to the
+00022  * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+00023  * MA 02111-1307, USA.
+00024  */
+00025 #error "Deprecated"
+00026 
+00027 #ifndef NL_ENV_EFFECT_H
+00028 #define NL_ENV_EFFECT_H
+00029 
+00030 #include "nel/misc/types_nl.h"
+00031 #include "nel/misc/stream.h"
+00032 #include "bounding_shape.h"
+00033 
+00034 namespace NLSOUND {
+00035 
+00036 
+00038 enum TEnvEffectPreset
+00039 {
+00040     ENVEFFECT_GENERIC,
+00041     ENVEFFECT_PADDEDCELL,
+00042     ENVEFFECT_ROOM,
+00043     ENVEFFECT_BATHROOM,
+00044     ENVEFFECT_LIVINGROOM,
+00045     ENVEFFECT_STONEROOM,
+00046     ENVEFFECT_AUDITORIUM,
+00047     ENVEFFECT_CONCERTHALL,
+00048     ENVEFFECT_CAVE,
+00049     ENVEFFECT_ARENA,
+00050     ENVEFFECT_HANGAR,
+00051     ENVEFFECT_CARPETEDHALLWAY,
+00052     ENVEFFECT_HALLWAY,
+00053     ENVEFFECT_STONECORRIDOR,
+00054     ENVEFFECT_ALLEY,
+00055     ENVEFFECT_FOREST,
+00056     ENVEFFECT_CITY,
+00057     ENVEFFECT_MOUNTAINS,
+00058     ENVEFFECT_QUARRY,
+00059     ENVEFFECT_PLAIN,
+00060     ENVEFFECT_PARKINGLOT,
+00061     ENVEFFECT_SEWERPIPE,
+00062     ENVEFFECT_UNDERWATER,
+00063     ENVEFFECT_DRUGGED,
+00064     ENVEFFECT_DIZZY,
+00065     ENVEFFECT_PSYCHOTIC,
+00066 
+00067     ENVEFFECT_COUNT
+00068 }; // Note: must follow the EAX enum
+00069 
+00070 
+00072 struct TEnvEffectRoom
+00073 {
+00074         TEnvEffectPreset        Preset;
+00075         float                           Size;
+00076 
+00078         TEnvEffectRoom( const TEnvEffectPreset& preset=ENVEFFECT_ROOM, float size=7.5 ) : Preset(preset), Size(size) {}
+00079 
+00081         void serial ( NLMISC::IStream& s )
+00082         {
+00083                 uint8 preset8 = (uint8)Preset; // out
+00084                 s.serial( preset8 );
+00085                 Preset = (TEnvEffectPreset)preset8; // in
+00086                 s.serial( Size );
+00087         }
+00088 };
+00089 
+00090 
+00098 class CEnvEffect
+00099 {
+00100 public:
+00101 
+00103         CEnvEffect();
+00105         virtual ~CEnvEffect() {}
+00107         void                    serial( NLMISC::IStream& s )
+00108         {
+00109                 // If you change this, increment the version number in serialFileHeader()
+00110                 s.serialPolyPtr( _BoundingShape );
+00111                 s.serialCont( _EnvNums );
+00112                 s.serialCont( _Tags );
+00113         }
+00115         static void             serialFileHeader( NLMISC::IStream& s, uint32& nb );
+00117         static uint32   load( std::vector<CEnvEffect*>& container, NLMISC::IStream& s );
+00118 
+00120         bool                    include( const NLMISC::CVector& pos ) { return _BoundingShape->include( pos ); }
+00122         void                    selectEnv( const std::string& tag );
+00124         TEnvEffectPreset getEnvNum() const              { return _EnvNums[_Current].Preset; }
+00126         float                   getEnvSize() const;
+00127 
+00128 
+00133         void                    addEnvNum( TEnvEffectPreset num, const std::string& tag="", float customsize=-1.0f );
+00135         IBoundingShape  *getBoundingShape()             { return _BoundingShape; }
+00137         void                    setBoundingShape( IBoundingShape *bs ) { _BoundingShape = bs; }
+00139         static void             save( const std::vector<CEnvEffect>& container, NLMISC::IStream& s );
+00140 
+00141 
+00142 private:
+00143 
+00144         // Index of the current environment type
+00145         uint8                                                   _Current;
+00146 
+00147         // Types of environment
+00148         std::vector<TEnvEffectRoom>             _EnvNums;
+00149 
+00150         // Environment tags (indicate which env to select)
+00151         std::vector<std::string>                _Tags;
+00152 
+00153         // Bounding shape
+00154         IBoundingShape                                  *_BoundingShape;
+00155 };
+00156 
+00157 
+00158 } // NLSOUND
+00159 
+00160 
+00161 #endif // NL_ENV_EFFECT_H
+00162 
+00163 /* End of env_effect.h */
+00164 
+00165         
+
+ + +
                                                                                                                                                                    +
+ + -- cgit v1.2.1