• R/O
  • SSH
  • HTTPS

Commit

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

X operations(XOPS)に非常に近いFPSゲームを制作・リメイクし、成果物をオープンソースとして公開することを目的としたプロジェクトです。


Commit MetaInfo

Revision225 (tree)
Time2019-12-31 01:38:54
Authorxops-mikan

Log Message

Configの「ENABLE SOUND」設定に対応するためマスターボリューム機能を追加(ezds版はR220から復活、DirectSound版は新規対応)

Change Summary

Incremental Difference

--- trunk/sound-directsound.cpp (revision 224)
+++ trunk/sound-directsound.cpp (revision 225)
@@ -119,7 +119,7 @@
119119 //! @param volume 再生音量 (0.0=無音 1.0=100%)
120120 void SoundControl::SetVolume(float volume)
121121 {
122- //
122+ mastervolume = volume;
123123 }
124124
125125 //! @brief カメラの座標と角度を設定
@@ -481,7 +481,8 @@
481481 if( volume <= -100 ){ return DSBVOLUME_MIN; }
482482 if( volume >= 100 ){ return DSBVOLUME_MAX; }
483483
484- float volume2 = 1.0f/200 * (volume + 100);
484+ //float volume2 = 1.0f/200 * (volume + 100);
485+ float volume2 = 1.0f/200 * (volume + 100) * mastervolume;
485486 int retn = (int)((DSBVOLUME_MIN-DSBVOLUME_MAX) * (1.0f - volume2));
486487 return retn;
487488 }
--- trunk/sound-ezds.cpp (revision 224)
+++ trunk/sound-ezds.cpp (revision 225)
@@ -132,7 +132,7 @@
132132 //! @param volume 再生音量 (0.0=無音 1.0=100%)
133133 void SoundControl::SetVolume(float volume)
134134 {
135- //mastervolume = volume;
135+ mastervolume = volume;
136136 }
137137
138138 //! @brief カメラの座標と角度を設定
@@ -211,8 +211,8 @@
211211
212212 //サウンドを再生
213213 if( DSplay == NULL ){ return 0; }
214- //return DSplay(id, (int)(mastervolume * volume), pan);
215- return DSplay(id, volume, pan);
214+ //return DSplay(id, volume, pan);
215+ return DSplay(id, (int)(mastervolume * (volume + 100)) - 100, pan);
216216 }
217217
218218 //! @brief サウンドを再生(3D再生)
--- trunk/sound.h (revision 224)
+++ trunk/sound.h (revision 225)
@@ -71,6 +71,7 @@
7171 LPDIRECTSOUND8 pDSound; //!< DIRECTSOUND8のポインタ
7272 LPDIRECTSOUNDBUFFER pDSBuffer[MAX_LOADSOUND][MAX_SOUNDLISTS]; //!< セカンダリーバッファー
7373 LPDIRECTSOUND3DLISTENER8 p3DListener; //!< リスナー
74+ float mastervolume; //!< 音量
7475
7576 bool CheckSoundFile(char* filename, int *filesize, int *fileoffset, WAVEFORMATEX** pwfex);
7677 int GetDSVolume(int volume);
@@ -101,7 +102,7 @@
101102 float camera_y; //!< カメラ座標
102103 float camera_z; //!< カメラ座標
103104 float camera_rx; //!< カメラX軸角度
104- //float mastervolume; //!< 音量
105+ float mastervolume; //!< 音量
105106
106107
107108 bool CheckSourceDist(float x, float y, float z, bool near, float *out_dist);