Button Sound Control.c 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. #ifdef JA2_PRECOMPILED_HEADERS
  2. #include "JA2 SGP ALL.H"
  3. #elif defined( WIZ8_PRECOMPILED_HEADERS )
  4. #include "WIZ8 SGP ALL.H"
  5. #else
  6. #include "types.h"
  7. #include "Button System.h"
  8. #include "Button Sound Control.h"
  9. #include "Sound Control.h"
  10. #include "jascreens.h"
  11. #endif
  12. void SpecifyButtonSoundScheme( INT32 iButtonID, INT8 bSoundScheme )
  13. {
  14. ButtonList[ iButtonID ]->ubSoundSchemeID = (UINT8)bSoundScheme;
  15. if( bSoundScheme == BUTTON_SOUND_SCHEME_GENERIC )
  16. {
  17. #ifdef JA2
  18. switch( guiCurrentScreen )
  19. {
  20. case MAINMENU_SCREEN:
  21. case OPTIONS_SCREEN:
  22. case LOADSAVE_SCREEN:
  23. case SAVE_LOAD_SCREEN:
  24. case INIT_SCREEN:
  25. ButtonList[ iButtonID ]->ubSoundSchemeID = BUTTON_SOUND_SCHEME_BIGSWITCH3;
  26. break;
  27. case LAPTOP_SCREEN:
  28. ButtonList[ iButtonID ]->ubSoundSchemeID = BUTTON_SOUND_SCHEME_COMPUTERBEEP2;
  29. break;
  30. case AUTORESOLVE_SCREEN:
  31. case MAP_SCREEN:
  32. case GAME_SCREEN:
  33. case SHOPKEEPER_SCREEN:
  34. ButtonList[ iButtonID ]->ubSoundSchemeID = BUTTON_SOUND_SCHEME_SMALLSWITCH2;
  35. break;
  36. case GAME_INIT_OPTIONS_SCREEN:
  37. ButtonList[ iButtonID ]->ubSoundSchemeID = BUTTON_SOUND_SCHEME_VERYSMALLSWITCH2;
  38. break;
  39. //Anything not handled gets NO sound.
  40. //SHOPKEEPER_SCREEN,
  41. //GAME_SCREEN,
  42. //MSG_BOX_SCREEN,
  43. //ERROR_SCREEN,
  44. //ANIEDIT_SCREEN,
  45. //PALEDIT_SCREEN,
  46. //DEBUG_SCREEN,
  47. //SEX_SCREEN,
  48. }
  49. #endif
  50. if( bSoundScheme == BUTTON_SOUND_SCHEME_GENERIC )
  51. bSoundScheme = BUTTON_SOUND_SCHEME_NONE;
  52. }
  53. }
  54. void PlayButtonSound( INT32 iButtonID, INT32 iSoundType )
  55. {
  56. if ( ButtonList[ iButtonID ] == NULL )
  57. {
  58. return;
  59. }
  60. switch( ButtonList[ iButtonID ]->ubSoundSchemeID )
  61. {
  62. case BUTTON_SOUND_SCHEME_NONE:
  63. case BUTTON_SOUND_SCHEME_GENERIC:
  64. break;
  65. #ifdef JA2
  66. case BUTTON_SOUND_SCHEME_VERYSMALLSWITCH1:
  67. switch( iSoundType )
  68. {
  69. case BUTTON_SOUND_CLICKED_ON:
  70. PlayJA2Sample( VSM_SWITCH1_IN, RATE_11025, 15, 1, MIDDLEPAN );
  71. break;
  72. case BUTTON_SOUND_CLICKED_OFF:
  73. PlayJA2Sample( VSM_SWITCH1_OUT, RATE_11025, 15, 1, MIDDLEPAN );
  74. break;
  75. case BUTTON_SOUND_DISABLED_CLICK:
  76. PlayJA2SampleFromFile( "Sounds\\Disabled Button.wav", RATE_11025, 15, 1, MIDDLEPAN );
  77. break;
  78. }
  79. break;
  80. case BUTTON_SOUND_SCHEME_VERYSMALLSWITCH2:
  81. switch( iSoundType )
  82. {
  83. case BUTTON_SOUND_CLICKED_ON:
  84. PlayJA2Sample( VSM_SWITCH2_IN, RATE_11025, 15, 1, MIDDLEPAN );
  85. break;
  86. case BUTTON_SOUND_CLICKED_OFF:
  87. PlayJA2Sample( VSM_SWITCH2_OUT, RATE_11025, 15, 1, MIDDLEPAN );
  88. break;
  89. case BUTTON_SOUND_DISABLED_CLICK:
  90. PlayJA2SampleFromFile( "Sounds\\Disabled Button.wav", RATE_11025, 15, 1, MIDDLEPAN );
  91. break;
  92. }
  93. break;
  94. case BUTTON_SOUND_SCHEME_SMALLSWITCH1:
  95. switch( iSoundType )
  96. {
  97. case BUTTON_SOUND_CLICKED_ON:
  98. PlayJA2Sample( SM_SWITCH1_IN, RATE_11025, 15, 1, MIDDLEPAN );
  99. break;
  100. case BUTTON_SOUND_CLICKED_OFF:
  101. PlayJA2Sample( SM_SWITCH1_OUT, RATE_11025, 15, 1, MIDDLEPAN );
  102. break;
  103. case BUTTON_SOUND_DISABLED_CLICK:
  104. PlayJA2SampleFromFile( "Sounds\\Disabled Button.wav", RATE_11025, 15, 1, MIDDLEPAN );
  105. break;
  106. }
  107. break;
  108. case BUTTON_SOUND_SCHEME_SMALLSWITCH2:
  109. switch( iSoundType )
  110. {
  111. case BUTTON_SOUND_CLICKED_ON:
  112. PlayJA2Sample( SM_SWITCH2_IN, RATE_11025, 15, 1, MIDDLEPAN );
  113. break;
  114. case BUTTON_SOUND_CLICKED_OFF:
  115. PlayJA2Sample( SM_SWITCH2_OUT, RATE_11025, 15, 1, MIDDLEPAN );
  116. break;
  117. case BUTTON_SOUND_DISABLED_CLICK:
  118. PlayJA2SampleFromFile( "Sounds\\Disabled Button.wav", RATE_11025, 15, 1, MIDDLEPAN );
  119. break;
  120. }
  121. break;
  122. case BUTTON_SOUND_SCHEME_SMALLSWITCH3:
  123. switch( iSoundType )
  124. {
  125. case BUTTON_SOUND_CLICKED_ON:
  126. PlayJA2Sample( SM_SWITCH3_IN, RATE_11025, 15, 1, MIDDLEPAN );
  127. break;
  128. case BUTTON_SOUND_CLICKED_OFF:
  129. PlayJA2Sample( SM_SWITCH3_OUT, RATE_11025, 15, 1, MIDDLEPAN );
  130. break;
  131. case BUTTON_SOUND_DISABLED_CLICK:
  132. PlayJA2SampleFromFile( "Sounds\\Disabled Button.wav", RATE_11025, 15, 1, MIDDLEPAN );
  133. break;
  134. }
  135. break;
  136. case BUTTON_SOUND_SCHEME_BIGSWITCH3:
  137. switch( iSoundType )
  138. {
  139. case BUTTON_SOUND_CLICKED_ON:
  140. PlayJA2Sample( BIG_SWITCH3_IN, RATE_11025, 15, 1, MIDDLEPAN );
  141. break;
  142. case BUTTON_SOUND_CLICKED_OFF:
  143. PlayJA2Sample( BIG_SWITCH3_OUT, RATE_11025, 15, 1, MIDDLEPAN );
  144. break;
  145. case BUTTON_SOUND_DISABLED_CLICK:
  146. PlayJA2SampleFromFile( "Sounds\\Disabled Button.wav", RATE_11025, 15, 1, MIDDLEPAN );
  147. break;
  148. }
  149. break;
  150. case BUTTON_SOUND_SCHEME_COMPUTERBEEP2:
  151. switch( iSoundType )
  152. {
  153. case BUTTON_SOUND_CLICKED_ON:
  154. PlayJA2Sample( COMPUTER_BEEP2_IN, RATE_11025, 15, 1, MIDDLEPAN );
  155. break;
  156. case BUTTON_SOUND_CLICKED_OFF:
  157. PlayJA2Sample( COMPUTER_BEEP2_OUT, RATE_11025, 15, 1, MIDDLEPAN );
  158. break;
  159. case BUTTON_SOUND_DISABLED_CLICK:
  160. PlayJA2SampleFromFile( "Sounds\\Disabled Button.wav", RATE_11025, 15, 1, MIDDLEPAN );
  161. break;
  162. }
  163. break;
  164. case BUTTON_SOUND_SCHEME_COMPUTERSWITCH1:
  165. switch( iSoundType )
  166. {
  167. case BUTTON_SOUND_CLICKED_ON:
  168. PlayJA2Sample( COMPUTER_SWITCH1_IN, RATE_11025, 15, 1, MIDDLEPAN );
  169. break;
  170. case BUTTON_SOUND_CLICKED_OFF:
  171. PlayJA2Sample( COMPUTER_SWITCH1_OUT, RATE_11025, 15, 1, MIDDLEPAN );
  172. break;
  173. case BUTTON_SOUND_DISABLED_CLICK:
  174. PlayJA2SampleFromFile( "Sounds\\Disabled Button.wav", RATE_11025, 15, 1, MIDDLEPAN );
  175. break;
  176. }
  177. break;
  178. #endif
  179. }
  180. }