diff options
Diffstat (limited to 'hge')
-rw-r--r-- | hge/CxImage/ximapng.cpp | 2 | ||||
-rw-r--r-- | hge/hge_impl.h | 6 | ||||
-rw-r--r-- | hge/sound.cpp | 26 |
3 files changed, 17 insertions, 17 deletions
diff --git a/hge/CxImage/ximapng.cpp b/hge/CxImage/ximapng.cpp index 2e39d1b..db2f636 100644 --- a/hge/CxImage/ximapng.cpp +++ b/hge/CxImage/ximapng.cpp @@ -85,7 +85,7 @@ bool CxImagePNG::Decode(CxFile *hFile) png_read_info(png_ptr, info_ptr);
png_uint_32 _width,_height;
- int _bit_depth,_color_type,_interlace_type/*,_compression_type,_filter_type*/;
+ int _bit_depth,_color_type,_interlace_type,_compression_type,_filter_type;
#if PNG_LIBPNG_VER > 10399
png_get_IHDR(png_ptr,info_ptr,&_width,&_height,&_bit_depth,&_color_type,
&_interlace_type,&_compression_type,&_filter_type);
diff --git a/hge/hge_impl.h b/hge/hge_impl.h index 26cb850..bf42c2f 100644 --- a/hge/hge_impl.h +++ b/hge/hge_impl.h @@ -156,7 +156,7 @@ public: virtual HEFFECT CALL Effect_Load(const char *filename, DWORD size=0); virtual void CALL Effect_Free(HEFFECT eff); virtual HCHANNEL CALL Effect_Play(HEFFECT eff); - virtual HCHANNEL CALL Effect_PlayEx(HEFFECT eff, int volume=100, int pan=0, float pitch=1.0f, bool loop=false); + virtual HCHANNEL CALL Effect_PlayEx(HEFFECT eff, float volume=1.0, float pan=0.0, float pitch=1.0f, bool loop=false); virtual HMUSIC CALL Music_Load(const char *filename, DWORD size=0); virtual void CALL Music_Free(HMUSIC mus); @@ -175,8 +175,8 @@ public: virtual void CALL Stream_Free(HSTREAM stream); virtual HCHANNEL CALL Stream_Play(HSTREAM stream, bool loop, int volume = 100); - virtual void CALL Channel_SetPanning(HCHANNEL chn, int pan); - virtual void CALL Channel_SetVolume(HCHANNEL chn, int volume); + virtual void CALL Channel_SetPanning(HCHANNEL chn, float pan); + virtual void CALL Channel_SetVolume(HCHANNEL chn, float volume); virtual void CALL Channel_SetPitch(HCHANNEL chn, float pitch); virtual void CALL Channel_Pause(HCHANNEL chn); virtual void CALL Channel_Resume(HCHANNEL chn); diff --git a/hge/sound.cpp b/hge/sound.cpp index 9f6869c..9024652 100644 --- a/hge/sound.cpp +++ b/hge/sound.cpp @@ -217,23 +217,23 @@ HEFFECT CALL HGE_Impl::Effect_Load(const char *filename, DWORD size) HCHANNEL CALL HGE_Impl::Effect_Play(HEFFECT eff) { - return Effect_PlayEx(eff, 100, 0, 1.0f, false); + return Effect_PlayEx(eff, 1.0f, 0, 1.0f, false); } -HCHANNEL CALL HGE_Impl::Effect_PlayEx(HEFFECT eff, int volume, int pan, float pitch, bool loop) +HCHANNEL CALL HGE_Impl::Effect_PlayEx(HEFFECT eff, float volume, float pan, float pitch, bool loop) { if(hOpenAL) { const ALuint sid = get_source(); // find an unused sid, or generate a new one. if (sid != 0) { - if (volume < 0) volume = 0; else if (volume > 100) volume = 100; - if (pan < -100) pan = -100; else if (pan > 100) pan = 100; + if (volume < 0) volume = 0; else if (volume > 1.0) volume = 1.0; + if (pan < -1.0) pan = -1.0; else if (pan > 1.0) pan = 1.0; alSourceStop(sid); alSourcei(sid, AL_BUFFER, (ALint) eff); - alSourcef(sid, AL_GAIN, ((ALfloat) volume) / 100.0f); + alSourcef(sid, AL_GAIN, volume); alSourcef(sid, AL_PITCH, pitch); - alSource3f(sid, AL_POSITION, ((ALfloat) pan) / 100.0f, 0.0f, 0.0f); + alSource3f(sid, AL_POSITION, pan, 0.0f, 0.0f); alSourcei(sid, AL_LOOPING, loop ? AL_TRUE : AL_FALSE); alSourcePlay(sid); } @@ -281,22 +281,22 @@ void CALL HGE_Impl::Stream_Free(HSTREAM stream){} HCHANNEL CALL HGE_Impl::Stream_Play(HSTREAM stream, bool loop, int volume){return 0;} -void CALL HGE_Impl::Channel_SetPanning(HCHANNEL chn, int pan) +void CALL HGE_Impl::Channel_SetPanning(HCHANNEL chn, float pan) { - assert(pan >= -100); - assert(pan <= 100); + if(pan>1.0)pan=1.0; + if(pan<-1.0)pan=-1.0; if(hOpenAL) { - alSource3f((ALuint) chn, AL_POSITION, ((ALfloat) pan) / 100.0f, 0.0f, 0.0f); + alSource3f((ALuint) chn, AL_POSITION, pan, 0.0f, 0.0f); } } -void CALL HGE_Impl::Channel_SetVolume(HCHANNEL chn, int volume) +void CALL HGE_Impl::Channel_SetVolume(HCHANNEL chn, float volume) { if(hOpenAL) { - if (volume < 0) volume = 0; else if (volume > 100) volume = 100; - alSourcef((ALuint) chn, AL_GAIN, ((ALfloat) volume) / 100.0f); + if (volume < 0) volume = 0; else if (volume > 1.0f) volume = 1.0f; + alSourcef((ALuint) chn, AL_GAIN, volume); } } |