@adatechnology/game-audio 0.8.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1071) hide show
  1. package/README.md +31 -6
  2. package/assets/sfx/CREDITOS.md +2 -2
  3. package/assets/sfx/ambiente/ambience_city_day_01.ogg +0 -0
  4. package/assets/sfx/ambiente/ambience_city_day_02.ogg +0 -0
  5. package/assets/sfx/ambiente/ambience_construction_01.ogg +0 -0
  6. package/assets/sfx/ambiente/ambience_night_01.ogg +0 -0
  7. package/assets/sfx/ambiente/ambience_room_tone_01.ogg +0 -0
  8. package/assets/sfx/ambiente/ambience_room_tone_02.ogg +0 -0
  9. package/assets/sfx/ambiente/ambience_rural_day_01.ogg +0 -0
  10. package/assets/sfx/ambiente/ambience_rural_day_02.ogg +0 -0
  11. package/assets/sfx/ambiente/rain_loop_01.ogg +0 -0
  12. package/assets/sfx/ambiente/water_river_loop_01.ogg +0 -0
  13. package/assets/sfx/ambiente/water_river_loop_02.ogg +0 -0
  14. package/assets/sfx/ambiente/water_river_loop_03.ogg +0 -0
  15. package/assets/sfx/ambiente/water_splash_01.ogg +0 -0
  16. package/assets/sfx/ambiente/water_splash_02.ogg +0 -0
  17. package/assets/sfx/ambiente/water_splash_03.ogg +0 -0
  18. package/assets/sfx/ambiente/water_splash_04.ogg +0 -0
  19. package/assets/sfx/ambiente/water_splash_05.ogg +0 -0
  20. package/assets/sfx/ambiente/water_splash_06.ogg +0 -0
  21. package/assets/sfx/ambiente/water_splash_07.ogg +0 -0
  22. package/assets/sfx/ambiente/water_splash_08.ogg +0 -0
  23. package/assets/sfx/ambiente/water_splash_09.ogg +0 -0
  24. package/assets/sfx/ambiente/water_splash_10.ogg +0 -0
  25. package/assets/sfx/ambiente/water_splash_11.ogg +0 -0
  26. package/assets/sfx/ambiente/water_splash_12.ogg +0 -0
  27. package/assets/sfx/ambiente/water_splash_13.ogg +0 -0
  28. package/assets/sfx/ambiente/water_splash_14.ogg +0 -0
  29. package/assets/sfx/ambiente/water_splash_15.ogg +0 -0
  30. package/assets/sfx/armas/bolt_lift_medium_01.ogg +0 -0
  31. package/assets/sfx/armas/bolt_lift_medium_02.ogg +0 -0
  32. package/assets/sfx/armas/bolt_lift_medium_03.ogg +0 -0
  33. package/assets/sfx/armas/bolt_lift_medium_04.ogg +0 -0
  34. package/assets/sfx/armas/bolt_lift_medium_05.ogg +0 -0
  35. package/assets/sfx/armas/bolt_lock_medium_01.ogg +0 -0
  36. package/assets/sfx/armas/bolt_lock_medium_02.ogg +0 -0
  37. package/assets/sfx/armas/bolt_lock_medium_03.ogg +0 -0
  38. package/assets/sfx/armas/bolt_lock_medium_04.ogg +0 -0
  39. package/assets/sfx/armas/bolt_lock_medium_05.ogg +0 -0
  40. package/assets/sfx/armas/bolt_pull_heavy_01.ogg +0 -0
  41. package/assets/sfx/armas/bolt_pull_medium_01.ogg +0 -0
  42. package/assets/sfx/armas/bolt_pull_medium_02.ogg +0 -0
  43. package/assets/sfx/armas/bolt_pull_medium_03.ogg +0 -0
  44. package/assets/sfx/armas/bolt_pull_medium_04.ogg +0 -0
  45. package/assets/sfx/armas/bolt_pull_medium_05.ogg +0 -0
  46. package/assets/sfx/armas/bolt_pull_medium_06.ogg +0 -0
  47. package/assets/sfx/armas/bolt_push_heavy_01.ogg +0 -0
  48. package/assets/sfx/armas/bolt_push_medium_01.ogg +0 -0
  49. package/assets/sfx/armas/bolt_push_medium_02.ogg +0 -0
  50. package/assets/sfx/armas/bolt_push_medium_03.ogg +0 -0
  51. package/assets/sfx/armas/bolt_push_medium_04.ogg +0 -0
  52. package/assets/sfx/armas/bolt_push_medium_05.ogg +0 -0
  53. package/assets/sfx/armas/bolt_push_medium_06.ogg +0 -0
  54. package/assets/sfx/armas/casing_drop_concreto_01.ogg +0 -0
  55. package/assets/sfx/armas/casing_drop_concreto_02.ogg +0 -0
  56. package/assets/sfx/armas/casing_drop_concreto_03.ogg +0 -0
  57. package/assets/sfx/armas/casing_drop_metal_01.ogg +0 -0
  58. package/assets/sfx/armas/casing_drop_metal_02.ogg +0 -0
  59. package/assets/sfx/armas/casing_drop_metal_03.ogg +0 -0
  60. package/assets/sfx/armas/casing_drop_terra_01.ogg +0 -0
  61. package/assets/sfx/armas/casing_drop_terra_02.ogg +0 -0
  62. package/assets/sfx/armas/casing_drop_terra_03.ogg +0 -0
  63. package/assets/sfx/armas/charging_handle_pull_light_01.ogg +0 -0
  64. package/assets/sfx/armas/charging_handle_pull_light_02.ogg +0 -0
  65. package/assets/sfx/armas/charging_handle_pull_light_03.ogg +0 -0
  66. package/assets/sfx/armas/charging_handle_pull_light_04.ogg +0 -0
  67. package/assets/sfx/armas/charging_handle_pull_medium_01.ogg +0 -0
  68. package/assets/sfx/armas/charging_handle_pull_medium_02.ogg +0 -0
  69. package/assets/sfx/armas/charging_handle_pull_medium_03.ogg +0 -0
  70. package/assets/sfx/armas/charging_handle_pull_medium_04.ogg +0 -0
  71. package/assets/sfx/armas/charging_handle_pull_medium_05.ogg +0 -0
  72. package/assets/sfx/armas/charging_handle_release_medium_01.ogg +0 -0
  73. package/assets/sfx/armas/charging_handle_release_medium_02.ogg +0 -0
  74. package/assets/sfx/armas/charging_handle_release_medium_03.ogg +0 -0
  75. package/assets/sfx/armas/charging_handle_release_medium_04.ogg +0 -0
  76. package/assets/sfx/armas/charging_handle_release_medium_05.ogg +0 -0
  77. package/assets/sfx/armas/cylinder_close_light_01.ogg +0 -0
  78. package/assets/sfx/armas/cylinder_close_light_02.ogg +0 -0
  79. package/assets/sfx/armas/cylinder_close_light_03.ogg +0 -0
  80. package/assets/sfx/armas/cylinder_close_light_04.ogg +0 -0
  81. package/assets/sfx/armas/cylinder_close_light_05.ogg +0 -0
  82. package/assets/sfx/armas/cylinder_eject_light_01.ogg +0 -0
  83. package/assets/sfx/armas/cylinder_eject_light_02.ogg +0 -0
  84. package/assets/sfx/armas/cylinder_eject_light_03.ogg +0 -0
  85. package/assets/sfx/armas/cylinder_open_light_01.ogg +0 -0
  86. package/assets/sfx/armas/cylinder_open_light_02.ogg +0 -0
  87. package/assets/sfx/armas/cylinder_open_light_03.ogg +0 -0
  88. package/assets/sfx/armas/cylinder_open_light_04.ogg +0 -0
  89. package/assets/sfx/armas/cylinder_open_light_05.ogg +0 -0
  90. package/assets/sfx/armas/lever_close_medium_01.ogg +0 -0
  91. package/assets/sfx/armas/lever_close_medium_02.ogg +0 -0
  92. package/assets/sfx/armas/lever_open_medium_01.ogg +0 -0
  93. package/assets/sfx/armas/lever_open_medium_02.ogg +0 -0
  94. package/assets/sfx/armas/mag_out_heavy_01.ogg +0 -0
  95. package/assets/sfx/armas/mag_out_heavy_02.ogg +0 -0
  96. package/assets/sfx/armas/mag_out_light_01.ogg +0 -0
  97. package/assets/sfx/armas/mag_out_light_02.ogg +0 -0
  98. package/assets/sfx/armas/mag_out_light_03.ogg +0 -0
  99. package/assets/sfx/armas/mag_out_light_04.ogg +0 -0
  100. package/assets/sfx/armas/mag_out_medium_01.ogg +0 -0
  101. package/assets/sfx/armas/mag_out_medium_02.ogg +0 -0
  102. package/assets/sfx/armas/mag_out_medium_03.ogg +0 -0
  103. package/assets/sfx/armas/mag_seat_heavy_01.ogg +0 -0
  104. package/assets/sfx/armas/mag_seat_heavy_02.ogg +0 -0
  105. package/assets/sfx/armas/mag_seat_light_01.ogg +0 -0
  106. package/assets/sfx/armas/mag_seat_light_02.ogg +0 -0
  107. package/assets/sfx/armas/mag_seat_light_03.ogg +0 -0
  108. package/assets/sfx/armas/mag_seat_light_04.ogg +0 -0
  109. package/assets/sfx/armas/mag_seat_light_05.ogg +0 -0
  110. package/assets/sfx/armas/mag_seat_light_06.ogg +0 -0
  111. package/assets/sfx/armas/mag_seat_medium_01.ogg +0 -0
  112. package/assets/sfx/armas/mag_seat_medium_02.ogg +0 -0
  113. package/assets/sfx/armas/mag_seat_medium_03.ogg +0 -0
  114. package/assets/sfx/armas/pistol_22lr_close_01.ogg +0 -0
  115. package/assets/sfx/armas/pistol_22lr_close_02.ogg +0 -0
  116. package/assets/sfx/armas/pistol_22lr_far_01.ogg +0 -0
  117. package/assets/sfx/armas/pistol_22lr_far_02.ogg +0 -0
  118. package/assets/sfx/armas/pistol_22lr_far_03.ogg +0 -0
  119. package/assets/sfx/armas/pistol_22lr_far_04.ogg +0 -0
  120. package/assets/sfx/armas/pistol_45_close_01.ogg +0 -0
  121. package/assets/sfx/armas/pistol_45_close_02.ogg +0 -0
  122. package/assets/sfx/armas/pistol_45_close_03.ogg +0 -0
  123. package/assets/sfx/armas/pistol_45_close_04.ogg +0 -0
  124. package/assets/sfx/armas/pistol_45_close_05.ogg +0 -0
  125. package/assets/sfx/armas/pistol_45_far_01.ogg +0 -0
  126. package/assets/sfx/armas/pistol_45_far_02.ogg +0 -0
  127. package/assets/sfx/armas/pistol_45_far_03.ogg +0 -0
  128. package/assets/sfx/armas/pistol_45_far_04.ogg +0 -0
  129. package/assets/sfx/armas/pistol_9mm_close_01.ogg +0 -0
  130. package/assets/sfx/armas/pistol_9mm_close_02.ogg +0 -0
  131. package/assets/sfx/armas/pistol_9mm_close_03.ogg +0 -0
  132. package/assets/sfx/armas/pistol_9mm_close_04.ogg +0 -0
  133. package/assets/sfx/armas/pistol_9mm_close_05.ogg +0 -0
  134. package/assets/sfx/armas/pistol_9mm_close_06.ogg +0 -0
  135. package/assets/sfx/armas/pistol_9mm_far_01.ogg +0 -0
  136. package/assets/sfx/armas/pistol_9mm_far_02.ogg +0 -0
  137. package/assets/sfx/armas/pistol_9mm_far_03.ogg +0 -0
  138. package/assets/sfx/armas/pistol_9mm_far_04.ogg +0 -0
  139. package/assets/sfx/armas/pump_back_heavy_01.ogg +0 -0
  140. package/assets/sfx/armas/pump_back_heavy_02.ogg +0 -0
  141. package/assets/sfx/armas/pump_back_heavy_03.ogg +0 -0
  142. package/assets/sfx/armas/pump_back_heavy_04.ogg +0 -0
  143. package/assets/sfx/armas/pump_back_heavy_05.ogg +0 -0
  144. package/assets/sfx/armas/pump_forward_heavy_01.ogg +0 -0
  145. package/assets/sfx/armas/pump_forward_heavy_02.ogg +0 -0
  146. package/assets/sfx/armas/pump_forward_heavy_03.ogg +0 -0
  147. package/assets/sfx/armas/revolver_38_357_close_01.ogg +0 -0
  148. package/assets/sfx/armas/revolver_38_357_close_02.ogg +0 -0
  149. package/assets/sfx/armas/revolver_38_357_close_03.ogg +0 -0
  150. package/assets/sfx/armas/revolver_38_357_close_04.ogg +0 -0
  151. package/assets/sfx/armas/revolver_38_357_far_01.ogg +0 -0
  152. package/assets/sfx/armas/revolver_38_357_far_02.ogg +0 -0
  153. package/assets/sfx/armas/revolver_38_357_far_03.ogg +0 -0
  154. package/assets/sfx/armas/revolver_38_357_far_04.ogg +0 -0
  155. package/assets/sfx/armas/rifle_308_3006_close_01.ogg +0 -0
  156. package/assets/sfx/armas/rifle_308_3006_close_02.ogg +0 -0
  157. package/assets/sfx/armas/rifle_308_3006_close_03.ogg +0 -0
  158. package/assets/sfx/armas/rifle_308_3006_close_04.ogg +0 -0
  159. package/assets/sfx/armas/rifle_308_3006_close_05.ogg +0 -0
  160. package/assets/sfx/armas/rifle_308_3006_close_06.ogg +0 -0
  161. package/assets/sfx/armas/rifle_308_3006_far_01.ogg +0 -0
  162. package/assets/sfx/armas/rifle_308_3006_far_02.ogg +0 -0
  163. package/assets/sfx/armas/rifle_308_3006_far_03.ogg +0 -0
  164. package/assets/sfx/armas/rifle_308_3006_far_04.ogg +0 -0
  165. package/assets/sfx/armas/rifle_308_3006_far_05.ogg +0 -0
  166. package/assets/sfx/armas/rifle_308_3006_far_06.ogg +0 -0
  167. package/assets/sfx/armas/rifle_5_56_close_01.ogg +0 -0
  168. package/assets/sfx/armas/rifle_5_56_close_02.ogg +0 -0
  169. package/assets/sfx/armas/rifle_5_56_close_03.ogg +0 -0
  170. package/assets/sfx/armas/rifle_5_56_close_04.ogg +0 -0
  171. package/assets/sfx/armas/rifle_5_56_close_05.ogg +0 -0
  172. package/assets/sfx/armas/rifle_5_56_far_01.ogg +0 -0
  173. package/assets/sfx/armas/rifle_5_56_far_02.ogg +0 -0
  174. package/assets/sfx/armas/rifle_5_56_far_03.ogg +0 -0
  175. package/assets/sfx/armas/rifle_5_56_far_04.ogg +0 -0
  176. package/assets/sfx/armas/rifle_7_62x39_close_01.ogg +0 -0
  177. package/assets/sfx/armas/rifle_7_62x39_close_02.ogg +0 -0
  178. package/assets/sfx/armas/rifle_7_62x39_close_03.ogg +0 -0
  179. package/assets/sfx/armas/rifle_7_62x39_close_04.ogg +0 -0
  180. package/assets/sfx/armas/rifle_7_62x39_close_05.ogg +0 -0
  181. package/assets/sfx/armas/rifle_7_62x39_close_06.ogg +0 -0
  182. package/assets/sfx/armas/rifle_7_62x39_close_07.ogg +0 -0
  183. package/assets/sfx/armas/rifle_7_62x39_close_08.ogg +0 -0
  184. package/assets/sfx/armas/rifle_7_62x39_close_09.ogg +0 -0
  185. package/assets/sfx/armas/rifle_7_62x39_close_10.ogg +0 -0
  186. package/assets/sfx/armas/rifle_7_62x39_close_11.ogg +0 -0
  187. package/assets/sfx/armas/rifle_7_62x39_close_12.ogg +0 -0
  188. package/assets/sfx/armas/rifle_7_62x39_far_01.ogg +0 -0
  189. package/assets/sfx/armas/rifle_7_62x39_far_02.ogg +0 -0
  190. package/assets/sfx/armas/rifle_7_62x39_far_03.ogg +0 -0
  191. package/assets/sfx/armas/shell_insert_heavy_01.ogg +0 -0
  192. package/assets/sfx/armas/shell_insert_heavy_02.ogg +0 -0
  193. package/assets/sfx/armas/shell_insert_heavy_03.ogg +0 -0
  194. package/assets/sfx/armas/shell_insert_heavy_04.ogg +0 -0
  195. package/assets/sfx/armas/shell_insert_heavy_05.ogg +0 -0
  196. package/assets/sfx/armas/shell_insert_heavy_06.ogg +0 -0
  197. package/assets/sfx/armas/shell_insert_heavy_07.ogg +0 -0
  198. package/assets/sfx/armas/shell_insert_heavy_08.ogg +0 -0
  199. package/assets/sfx/armas/shell_insert_heavy_09.ogg +0 -0
  200. package/assets/sfx/armas/shotgun_12_close_01.ogg +0 -0
  201. package/assets/sfx/armas/shotgun_12_close_02.ogg +0 -0
  202. package/assets/sfx/armas/shotgun_12_close_03.ogg +0 -0
  203. package/assets/sfx/armas/shotgun_12_close_04.ogg +0 -0
  204. package/assets/sfx/armas/shotgun_12_close_05.ogg +0 -0
  205. package/assets/sfx/armas/shotgun_12_close_06.ogg +0 -0
  206. package/assets/sfx/armas/shotgun_12_far_01.ogg +0 -0
  207. package/assets/sfx/armas/shotgun_12_far_02.ogg +0 -0
  208. package/assets/sfx/armas/shotgun_12_far_03.ogg +0 -0
  209. package/assets/sfx/armas/shotgun_12_far_04.ogg +0 -0
  210. package/assets/sfx/armas/shotgun_12_far_05.ogg +0 -0
  211. package/assets/sfx/armas/shotgun_12_far_06.ogg +0 -0
  212. package/assets/sfx/armas/slide_release_light_01.ogg +0 -0
  213. package/assets/sfx/armas/slide_release_light_02.ogg +0 -0
  214. package/assets/sfx/armas/slide_release_light_03.ogg +0 -0
  215. package/assets/sfx/armas/slide_release_light_04.ogg +0 -0
  216. package/assets/sfx/armas/slide_release_light_05.ogg +0 -0
  217. package/assets/sfx/armas/slide_release_light_06.ogg +0 -0
  218. package/assets/sfx/armas/slide_release_medium_01.ogg +0 -0
  219. package/assets/sfx/armas/slide_release_medium_02.ogg +0 -0
  220. package/assets/sfx/armas/slide_release_medium_03.ogg +0 -0
  221. package/assets/sfx/armas/slide_release_medium_04.ogg +0 -0
  222. package/assets/sfx/armas/sniper_338_300wm_close_01.ogg +0 -0
  223. package/assets/sfx/armas/sniper_338_300wm_close_02.ogg +0 -0
  224. package/assets/sfx/armas/sniper_338_300wm_close_03.ogg +0 -0
  225. package/assets/sfx/armas/sniper_338_300wm_close_04.ogg +0 -0
  226. package/assets/sfx/armas/sniper_338_300wm_close_05.ogg +0 -0
  227. package/assets/sfx/armas/sniper_338_300wm_close_06.ogg +0 -0
  228. package/assets/sfx/armas/sniper_338_300wm_close_07.ogg +0 -0
  229. package/assets/sfx/armas/sniper_338_300wm_far_01.ogg +0 -0
  230. package/assets/sfx/armas/sniper_338_300wm_far_02.ogg +0 -0
  231. package/assets/sfx/armas/sniper_338_300wm_far_03.ogg +0 -0
  232. package/assets/sfx/armas/sniper_338_300wm_far_04.ogg +0 -0
  233. package/assets/sfx/armas/sniper_338_300wm_far_05.ogg +0 -0
  234. package/assets/sfx/armas/sniper_338_300wm_far_06.ogg +0 -0
  235. package/assets/sfx/armas/speedloader_light_01.ogg +0 -0
  236. package/assets/sfx/armas/speedloader_light_02.ogg +0 -0
  237. package/assets/sfx/armas/speedloader_light_03.ogg +0 -0
  238. package/assets/sfx/armas/speedloader_light_04.ogg +0 -0
  239. package/assets/sfx/armas/speedloader_light_05.ogg +0 -0
  240. package/assets/sfx/armas/speedloader_light_06.ogg +0 -0
  241. package/assets/sfx/armas/speedloader_light_07.ogg +0 -0
  242. package/assets/sfx/armas/speedloader_light_08.ogg +0 -0
  243. package/assets/sfx/armas/suppressed_pistol_close_01.ogg +0 -0
  244. package/assets/sfx/armas/suppressed_pistol_close_02.ogg +0 -0
  245. package/assets/sfx/armas/suppressed_pistol_close_03.ogg +0 -0
  246. package/assets/sfx/armas/suppressed_pistol_close_04.ogg +0 -0
  247. package/assets/sfx/armas/suppressed_pistol_close_05.ogg +0 -0
  248. package/assets/sfx/armas/suppressed_pistol_far_01.ogg +0 -0
  249. package/assets/sfx/armas/suppressed_pistol_far_02.ogg +0 -0
  250. package/assets/sfx/armas/suppressed_pistol_far_03.ogg +0 -0
  251. package/assets/sfx/armas/suppressed_pistol_far_04.ogg +0 -0
  252. package/assets/sfx/armas/suppressed_pistol_far_05.ogg +0 -0
  253. package/assets/sfx/armas/suppressed_rifle_close_01.ogg +0 -0
  254. package/assets/sfx/armas/suppressed_rifle_close_02.ogg +0 -0
  255. package/assets/sfx/armas/suppressed_rifle_close_03.ogg +0 -0
  256. package/assets/sfx/armas/suppressed_rifle_close_04.ogg +0 -0
  257. package/assets/sfx/armas/suppressed_rifle_far_01.ogg +0 -0
  258. package/assets/sfx/armas/suppressed_rifle_far_02.ogg +0 -0
  259. package/assets/sfx/armas/suppressed_rifle_far_03.ogg +0 -0
  260. package/assets/sfx/armas/suppressed_rifle_far_04.ogg +0 -0
  261. package/assets/sfx/explosoes-fogo/debris_rain_mixed_01.ogg +0 -0
  262. package/assets/sfx/explosoes-fogo/debris_rain_mixed_02.ogg +0 -0
  263. package/assets/sfx/explosoes-fogo/debris_rain_mixed_03.ogg +0 -0
  264. package/assets/sfx/explosoes-fogo/debris_rain_mixed_04.ogg +0 -0
  265. package/assets/sfx/explosoes-fogo/debris_rain_mixed_05.ogg +0 -0
  266. package/assets/sfx/explosoes-fogo/debris_rain_mixed_06.ogg +0 -0
  267. package/assets/sfx/explosoes-fogo/debris_rain_mixed_07.ogg +0 -0
  268. package/assets/sfx/explosoes-fogo/debris_rain_stone_01.ogg +0 -0
  269. package/assets/sfx/explosoes-fogo/debris_rain_stone_02.ogg +0 -0
  270. package/assets/sfx/explosoes-fogo/debris_rain_stone_03.ogg +0 -0
  271. package/assets/sfx/explosoes-fogo/debris_rain_stone_04.ogg +0 -0
  272. package/assets/sfx/explosoes-fogo/debris_rain_stone_05.ogg +0 -0
  273. package/assets/sfx/explosoes-fogo/debris_rain_stone_06.ogg +0 -0
  274. package/assets/sfx/explosoes-fogo/debris_rain_stone_07.ogg +0 -0
  275. package/assets/sfx/explosoes-fogo/debris_rain_stone_08.ogg +0 -0
  276. package/assets/sfx/explosoes-fogo/debris_rain_stone_09.ogg +0 -0
  277. package/assets/sfx/explosoes-fogo/explosion_big_01.ogg +0 -0
  278. package/assets/sfx/explosoes-fogo/explosion_big_02.ogg +0 -0
  279. package/assets/sfx/explosoes-fogo/explosion_big_03.ogg +0 -0
  280. package/assets/sfx/explosoes-fogo/explosion_big_04.ogg +0 -0
  281. package/assets/sfx/explosoes-fogo/explosion_big_05.ogg +0 -0
  282. package/assets/sfx/explosoes-fogo/explosion_car_01.ogg +0 -0
  283. package/assets/sfx/explosoes-fogo/explosion_car_02.ogg +0 -0
  284. package/assets/sfx/explosoes-fogo/explosion_car_03.ogg +0 -0
  285. package/assets/sfx/explosoes-fogo/explosion_car_04.ogg +0 -0
  286. package/assets/sfx/explosoes-fogo/explosion_far_close_01.ogg +0 -0
  287. package/assets/sfx/explosoes-fogo/explosion_far_close_02.ogg +0 -0
  288. package/assets/sfx/explosoes-fogo/explosion_far_close_03.ogg +0 -0
  289. package/assets/sfx/explosoes-fogo/explosion_far_close_04.ogg +0 -0
  290. package/assets/sfx/explosoes-fogo/explosion_flashbang_01.ogg +0 -0
  291. package/assets/sfx/explosoes-fogo/explosion_flashbang_02.ogg +0 -0
  292. package/assets/sfx/explosoes-fogo/explosion_grenade_01.ogg +0 -0
  293. package/assets/sfx/explosoes-fogo/explosion_grenade_02.ogg +0 -0
  294. package/assets/sfx/explosoes-fogo/explosion_grenade_03.ogg +0 -0
  295. package/assets/sfx/explosoes-fogo/explosion_grenade_04.ogg +0 -0
  296. package/assets/sfx/explosoes-fogo/explosion_grenade_05.ogg +0 -0
  297. package/assets/sfx/explosoes-fogo/explosion_grenade_06.ogg +0 -0
  298. package/assets/sfx/explosoes-fogo/explosion_small_bang_01.ogg +0 -0
  299. package/assets/sfx/explosoes-fogo/explosion_small_bang_02.ogg +0 -0
  300. package/assets/sfx/explosoes-fogo/explosion_small_bang_03.ogg +0 -0
  301. package/assets/sfx/explosoes-fogo/explosion_small_bang_04.ogg +0 -0
  302. package/assets/sfx/explosoes-fogo/explosion_small_bang_05.ogg +0 -0
  303. package/assets/sfx/explosoes-fogo/explosion_small_bang_06.ogg +0 -0
  304. package/assets/sfx/explosoes-fogo/explosion_small_bang_07.ogg +0 -0
  305. package/assets/sfx/explosoes-fogo/explosion_small_bang_08.ogg +0 -0
  306. package/assets/sfx/explosoes-fogo/explosion_small_bang_09.ogg +0 -0
  307. package/assets/sfx/explosoes-fogo/explosion_small_bang_10.ogg +0 -0
  308. package/assets/sfx/explosoes-fogo/fire_crackle_01.ogg +0 -0
  309. package/assets/sfx/explosoes-fogo/fire_crackle_02.ogg +0 -0
  310. package/assets/sfx/explosoes-fogo/fire_crackle_03.ogg +0 -0
  311. package/assets/sfx/explosoes-fogo/fire_crackle_05.ogg +0 -0
  312. package/assets/sfx/explosoes-fogo/fire_crackle_07.ogg +0 -0
  313. package/assets/sfx/explosoes-fogo/fire_extinguish_01.ogg +0 -0
  314. package/assets/sfx/explosoes-fogo/fire_extinguish_02.ogg +0 -0
  315. package/assets/sfx/explosoes-fogo/fire_ignite_01.ogg +0 -0
  316. package/assets/sfx/explosoes-fogo/fire_ignite_02.ogg +0 -0
  317. package/assets/sfx/explosoes-fogo/fire_ignite_03.ogg +0 -0
  318. package/assets/sfx/explosoes-fogo/fire_ignite_04.ogg +0 -0
  319. package/assets/sfx/explosoes-fogo/fire_loop_01.ogg +0 -0
  320. package/assets/sfx/explosoes-fogo/fire_loop_03.ogg +0 -0
  321. package/assets/sfx/explosoes-fogo/fire_loop_04.ogg +0 -0
  322. package/assets/sfx/explosoes-fogo/fire_loop_gas_01.ogg +0 -0
  323. package/assets/sfx/explosoes-fogo/fire_loop_gas_02.ogg +0 -0
  324. package/assets/sfx/explosoes-fogo/fire_loop_gas_03.ogg +0 -0
  325. package/assets/sfx/explosoes-fogo/fire_loop_gas_04.ogg +0 -0
  326. package/assets/sfx/explosoes-fogo/fire_loop_liquid_01.ogg +0 -0
  327. package/assets/sfx/explosoes-fogo/fire_loop_liquid_02.ogg +0 -0
  328. package/assets/sfx/explosoes-fogo/fire_loop_liquid_03.ogg +0 -0
  329. package/assets/sfx/explosoes-fogo/fire_loop_plastic_01.ogg +0 -0
  330. package/assets/sfx/explosoes-fogo/fire_loop_plastic_02.ogg +0 -0
  331. package/assets/sfx/explosoes-fogo/fire_loop_plastic_03.ogg +0 -0
  332. package/assets/sfx/explosoes-fogo/fire_loop_plastic_04.ogg +0 -0
  333. package/assets/sfx/explosoes-fogo/fire_loop_small_01.ogg +0 -0
  334. package/assets/sfx/explosoes-fogo/fire_pop_01.ogg +0 -0
  335. package/assets/sfx/explosoes-fogo/fire_pop_02.ogg +0 -0
  336. package/assets/sfx/explosoes-fogo/fire_pop_03.ogg +0 -0
  337. package/assets/sfx/explosoes-fogo/flamethrower_loop_01.ogg +0 -0
  338. package/assets/sfx/explosoes-fogo/gas_leak_01.ogg +0 -0
  339. package/assets/sfx/explosoes-fogo/molotov_break_ignite_01.ogg +0 -0
  340. package/assets/sfx/explosoes-fogo/molotov_break_ignite_02.ogg +0 -0
  341. package/assets/sfx/impactos/ceramic_hit_close_01.ogg +0 -0
  342. package/assets/sfx/impactos/concrete_block_drag_close_01.ogg +0 -0
  343. package/assets/sfx/impactos/concrete_block_drag_close_02.ogg +0 -0
  344. package/assets/sfx/impactos/concrete_block_drag_close_03.ogg +0 -0
  345. package/assets/sfx/impactos/concrete_block_drag_close_04.ogg +0 -0
  346. package/assets/sfx/impactos/concrete_block_drag_close_05.ogg +0 -0
  347. package/assets/sfx/impactos/concrete_block_drag_close_06.ogg +0 -0
  348. package/assets/sfx/impactos/concrete_block_drag_close_07.ogg +0 -0
  349. package/assets/sfx/impactos/crack_close_01.ogg +0 -0
  350. package/assets/sfx/impactos/crack_close_02.ogg +0 -0
  351. package/assets/sfx/impactos/crack_close_03.ogg +0 -0
  352. package/assets/sfx/impactos/crack_close_04.ogg +0 -0
  353. package/assets/sfx/impactos/crack_close_05.ogg +0 -0
  354. package/assets/sfx/impactos/crack_close_06.ogg +0 -0
  355. package/assets/sfx/impactos/crack_close_07.ogg +0 -0
  356. package/assets/sfx/impactos/crack_close_08.ogg +0 -0
  357. package/assets/sfx/impactos/crack_close_09.ogg +0 -0
  358. package/assets/sfx/impactos/crack_close_10.ogg +0 -0
  359. package/assets/sfx/impactos/crumble_close_01.ogg +0 -0
  360. package/assets/sfx/impactos/crumble_close_02.ogg +0 -0
  361. package/assets/sfx/impactos/crumble_close_03.ogg +0 -0
  362. package/assets/sfx/impactos/crumble_close_04.ogg +0 -0
  363. package/assets/sfx/impactos/crumble_close_05.ogg +0 -0
  364. package/assets/sfx/impactos/flesh_fruit_splat_close_01.ogg +0 -0
  365. package/assets/sfx/impactos/flesh_fruit_splat_close_02.ogg +0 -0
  366. package/assets/sfx/impactos/flesh_fruit_splat_close_03.ogg +0 -0
  367. package/assets/sfx/impactos/furniture_push_wood_close_01.ogg +0 -0
  368. package/assets/sfx/impactos/glass_blunt_heavy_close_01.ogg +0 -0
  369. package/assets/sfx/impactos/glass_blunt_heavy_close_02.ogg +0 -0
  370. package/assets/sfx/impactos/glass_blunt_heavy_close_03.ogg +0 -0
  371. package/assets/sfx/impactos/glass_blunt_heavy_close_04.ogg +0 -0
  372. package/assets/sfx/impactos/glass_blunt_heavy_close_05.ogg +0 -0
  373. package/assets/sfx/impactos/glass_blunt_light_close_01.ogg +0 -0
  374. package/assets/sfx/impactos/glass_blunt_light_close_02.ogg +0 -0
  375. package/assets/sfx/impactos/glass_blunt_light_close_03.ogg +0 -0
  376. package/assets/sfx/impactos/glass_blunt_light_close_04.ogg +0 -0
  377. package/assets/sfx/impactos/glass_blunt_light_close_05.ogg +0 -0
  378. package/assets/sfx/impactos/glass_blunt_medium_close_01.ogg +0 -0
  379. package/assets/sfx/impactos/glass_blunt_medium_close_02.ogg +0 -0
  380. package/assets/sfx/impactos/glass_blunt_medium_close_03.ogg +0 -0
  381. package/assets/sfx/impactos/glass_blunt_medium_close_04.ogg +0 -0
  382. package/assets/sfx/impactos/glass_blunt_medium_close_05.ogg +0 -0
  383. package/assets/sfx/impactos/glass_bottle_break_close_01.ogg +0 -0
  384. package/assets/sfx/impactos/glass_debris_fall_close_01.ogg +0 -0
  385. package/assets/sfx/impactos/glass_debris_fall_close_02.ogg +0 -0
  386. package/assets/sfx/impactos/glass_debris_fall_close_03.ogg +0 -0
  387. package/assets/sfx/impactos/glass_debris_fall_close_04.ogg +0 -0
  388. package/assets/sfx/impactos/glass_shatter_close_01.ogg +0 -0
  389. package/assets/sfx/impactos/glass_shatter_close_02.ogg +0 -0
  390. package/assets/sfx/impactos/glass_shatter_close_03.ogg +0 -0
  391. package/assets/sfx/impactos/glass_shatter_close_04.ogg +0 -0
  392. package/assets/sfx/impactos/glass_shatter_close_05.ogg +0 -0
  393. package/assets/sfx/impactos/glass_shatter_close_06.ogg +0 -0
  394. package/assets/sfx/impactos/glass_shatter_close_07.ogg +0 -0
  395. package/assets/sfx/impactos/glass_shatter_close_08.ogg +0 -0
  396. package/assets/sfx/impactos/glass_shatter_close_09.ogg +0 -0
  397. package/assets/sfx/impactos/gravel_hit_close_21.ogg +0 -0
  398. package/assets/sfx/impactos/gravel_hit_close_22.ogg +0 -0
  399. package/assets/sfx/impactos/gravel_hit_close_23.ogg +0 -0
  400. package/assets/sfx/impactos/gravel_hit_close_24.ogg +0 -0
  401. package/assets/sfx/impactos/gravel_hit_close_25.ogg +0 -0
  402. package/assets/sfx/impactos/gravel_hit_close_26.ogg +0 -0
  403. package/assets/sfx/impactos/gravel_hit_close_27.ogg +0 -0
  404. package/assets/sfx/impactos/gravel_hit_close_28.ogg +0 -0
  405. package/assets/sfx/impactos/gravel_hit_close_29.ogg +0 -0
  406. package/assets/sfx/impactos/impact_generic_light_close_01.ogg +0 -0
  407. package/assets/sfx/impactos/impact_generic_light_close_02.ogg +0 -0
  408. package/assets/sfx/impactos/impact_generic_light_close_03.ogg +0 -0
  409. package/assets/sfx/impactos/impact_generic_light_close_04.ogg +0 -0
  410. package/assets/sfx/impactos/impact_generic_light_close_05.ogg +0 -0
  411. package/assets/sfx/impactos/masonry_blunt_close_01.ogg +0 -0
  412. package/assets/sfx/impactos/masonry_blunt_close_02.ogg +0 -0
  413. package/assets/sfx/impactos/masonry_blunt_close_03.ogg +0 -0
  414. package/assets/sfx/impactos/masonry_blunt_close_04.ogg +0 -0
  415. package/assets/sfx/impactos/masonry_blunt_close_05.ogg +0 -0
  416. package/assets/sfx/impactos/masonry_blunt_close_06.ogg +0 -0
  417. package/assets/sfx/impactos/masonry_blunt_close_07.ogg +0 -0
  418. package/assets/sfx/impactos/masonry_bullet_close_01.ogg +0 -0
  419. package/assets/sfx/impactos/masonry_bullet_close_02.ogg +0 -0
  420. package/assets/sfx/impactos/masonry_bullet_close_03.ogg +0 -0
  421. package/assets/sfx/impactos/masonry_bullet_close_04.ogg +0 -0
  422. package/assets/sfx/impactos/masonry_bullet_close_05.ogg +0 -0
  423. package/assets/sfx/impactos/masonry_bullet_close_21.ogg +0 -0
  424. package/assets/sfx/impactos/masonry_bullet_close_22.ogg +0 -0
  425. package/assets/sfx/impactos/masonry_bullet_close_23.ogg +0 -0
  426. package/assets/sfx/impactos/masonry_bullet_close_24.ogg +0 -0
  427. package/assets/sfx/impactos/masonry_bullet_close_25.ogg +0 -0
  428. package/assets/sfx/impactos/masonry_bullet_close_26.ogg +0 -0
  429. package/assets/sfx/impactos/masonry_bullet_close_27.ogg +0 -0
  430. package/assets/sfx/impactos/masonry_bullet_close_28.ogg +0 -0
  431. package/assets/sfx/impactos/metal_blunt_close_01.ogg +0 -0
  432. package/assets/sfx/impactos/metal_blunt_close_02.ogg +0 -0
  433. package/assets/sfx/impactos/metal_blunt_close_03.ogg +0 -0
  434. package/assets/sfx/impactos/metal_blunt_close_04.ogg +0 -0
  435. package/assets/sfx/impactos/metal_blunt_close_05.ogg +0 -0
  436. package/assets/sfx/impactos/metal_blunt_heavy_close_01.ogg +0 -0
  437. package/assets/sfx/impactos/metal_blunt_heavy_close_02.ogg +0 -0
  438. package/assets/sfx/impactos/metal_blunt_heavy_close_03.ogg +0 -0
  439. package/assets/sfx/impactos/metal_blunt_heavy_close_04.ogg +0 -0
  440. package/assets/sfx/impactos/metal_blunt_heavy_close_05.ogg +0 -0
  441. package/assets/sfx/impactos/metal_blunt_light_close_01.ogg +0 -0
  442. package/assets/sfx/impactos/metal_blunt_light_close_02.ogg +0 -0
  443. package/assets/sfx/impactos/metal_blunt_light_close_03.ogg +0 -0
  444. package/assets/sfx/impactos/metal_blunt_light_close_04.ogg +0 -0
  445. package/assets/sfx/impactos/metal_blunt_light_close_05.ogg +0 -0
  446. package/assets/sfx/impactos/metal_blunt_medium_close_01.ogg +0 -0
  447. package/assets/sfx/impactos/metal_blunt_medium_close_02.ogg +0 -0
  448. package/assets/sfx/impactos/metal_blunt_medium_close_03.ogg +0 -0
  449. package/assets/sfx/impactos/metal_blunt_medium_close_04.ogg +0 -0
  450. package/assets/sfx/impactos/metal_blunt_medium_close_05.ogg +0 -0
  451. package/assets/sfx/impactos/metal_bullet_close_01.ogg +0 -0
  452. package/assets/sfx/impactos/metal_bullet_close_02.ogg +0 -0
  453. package/assets/sfx/impactos/metal_bullet_close_03.ogg +0 -0
  454. package/assets/sfx/impactos/metal_bullet_close_04.ogg +0 -0
  455. package/assets/sfx/impactos/metal_bullet_close_05.ogg +0 -0
  456. package/assets/sfx/impactos/metal_bullet_close_06.ogg +0 -0
  457. package/assets/sfx/impactos/metal_bullet_close_21.ogg +0 -0
  458. package/assets/sfx/impactos/metal_bullet_close_22.ogg +0 -0
  459. package/assets/sfx/impactos/metal_bullet_close_23.ogg +0 -0
  460. package/assets/sfx/impactos/metal_bullet_close_24.ogg +0 -0
  461. package/assets/sfx/impactos/metal_bullet_close_25.ogg +0 -0
  462. package/assets/sfx/impactos/metal_bullet_close_26.ogg +0 -0
  463. package/assets/sfx/impactos/metal_bullet_close_27.ogg +0 -0
  464. package/assets/sfx/impactos/metal_bullet_close_28.ogg +0 -0
  465. package/assets/sfx/impactos/metal_bullet_close_29.ogg +0 -0
  466. package/assets/sfx/impactos/metal_bullet_close_30.ogg +0 -0
  467. package/assets/sfx/impactos/metal_bullet_close_31.ogg +0 -0
  468. package/assets/sfx/impactos/metal_bullet_close_32.ogg +0 -0
  469. package/assets/sfx/impactos/metal_bullet_close_33.ogg +0 -0
  470. package/assets/sfx/impactos/metal_bullet_close_34.ogg +0 -0
  471. package/assets/sfx/impactos/metal_fall_close_01.ogg +0 -0
  472. package/assets/sfx/impactos/metal_fall_close_02.ogg +0 -0
  473. package/assets/sfx/impactos/metal_fall_close_03.ogg +0 -0
  474. package/assets/sfx/impactos/metal_fall_close_04.ogg +0 -0
  475. package/assets/sfx/impactos/metal_fall_close_05.ogg +0 -0
  476. package/assets/sfx/impactos/metal_fall_close_06.ogg +0 -0
  477. package/assets/sfx/impactos/metal_fall_close_07.ogg +0 -0
  478. package/assets/sfx/impactos/metal_fall_close_08.ogg +0 -0
  479. package/assets/sfx/impactos/metal_fall_close_09.ogg +0 -0
  480. package/assets/sfx/impactos/metal_fall_close_10.ogg +0 -0
  481. package/assets/sfx/impactos/metal_thin_close_01.ogg +0 -0
  482. package/assets/sfx/impactos/metal_thin_close_02.ogg +0 -0
  483. package/assets/sfx/impactos/metal_thin_close_03.ogg +0 -0
  484. package/assets/sfx/impactos/metal_thin_close_04.ogg +0 -0
  485. package/assets/sfx/impactos/metal_thin_close_05.ogg +0 -0
  486. package/assets/sfx/impactos/metal_thin_close_06.ogg +0 -0
  487. package/assets/sfx/impactos/metal_thin_close_07.ogg +0 -0
  488. package/assets/sfx/impactos/metal_thin_close_08.ogg +0 -0
  489. package/assets/sfx/impactos/metal_thin_close_09.ogg +0 -0
  490. package/assets/sfx/impactos/metal_thin_close_10.ogg +0 -0
  491. package/assets/sfx/impactos/metal_thin_close_11.ogg +0 -0
  492. package/assets/sfx/impactos/metal_thin_close_12.ogg +0 -0
  493. package/assets/sfx/impactos/metal_thin_close_13.ogg +0 -0
  494. package/assets/sfx/impactos/metal_thin_close_14.ogg +0 -0
  495. package/assets/sfx/impactos/metal_thin_close_15.ogg +0 -0
  496. package/assets/sfx/impactos/metal_thin_close_16.ogg +0 -0
  497. package/assets/sfx/impactos/metal_thin_close_17.ogg +0 -0
  498. package/assets/sfx/impactos/metal_thin_close_18.ogg +0 -0
  499. package/assets/sfx/impactos/metal_thin_close_19.ogg +0 -0
  500. package/assets/sfx/impactos/metal_thin_close_20.ogg +0 -0
  501. package/assets/sfx/impactos/metal_thin_close_21.ogg +0 -0
  502. package/assets/sfx/impactos/metal_thin_close_22.ogg +0 -0
  503. package/assets/sfx/impactos/metal_thin_close_23.ogg +0 -0
  504. package/assets/sfx/impactos/metal_thin_close_24.ogg +0 -0
  505. package/assets/sfx/impactos/metal_thin_close_25.ogg +0 -0
  506. package/assets/sfx/impactos/metal_thin_close_26.ogg +0 -0
  507. package/assets/sfx/impactos/paper_tear_close_01.ogg +0 -0
  508. package/assets/sfx/impactos/paper_tear_close_02.ogg +0 -0
  509. package/assets/sfx/impactos/plastic_hit_close_01.ogg +0 -0
  510. package/assets/sfx/impactos/plastic_hit_close_02.ogg +0 -0
  511. package/assets/sfx/impactos/plastic_hit_close_03.ogg +0 -0
  512. package/assets/sfx/impactos/plastic_hit_close_04.ogg +0 -0
  513. package/assets/sfx/impactos/ricochet_metal_close_21.ogg +0 -0
  514. package/assets/sfx/impactos/ricochet_metal_close_22.ogg +0 -0
  515. package/assets/sfx/impactos/ricochet_metal_close_23.ogg +0 -0
  516. package/assets/sfx/impactos/ricochet_metal_close_24.ogg +0 -0
  517. package/assets/sfx/impactos/ricochet_metal_close_25.ogg +0 -0
  518. package/assets/sfx/impactos/ricochet_metal_close_26.ogg +0 -0
  519. package/assets/sfx/impactos/ricochet_metal_close_27.ogg +0 -0
  520. package/assets/sfx/impactos/ricochet_metal_close_28.ogg +0 -0
  521. package/assets/sfx/impactos/rubble_falling_close_01.ogg +0 -0
  522. package/assets/sfx/impactos/rubble_falling_close_02.ogg +0 -0
  523. package/assets/sfx/impactos/rubble_falling_close_03.ogg +0 -0
  524. package/assets/sfx/impactos/rubble_falling_close_04.ogg +0 -0
  525. package/assets/sfx/impactos/rubble_falling_close_05.ogg +0 -0
  526. package/assets/sfx/impactos/rubble_falling_close_06.ogg +0 -0
  527. package/assets/sfx/impactos/rubble_falling_close_07.ogg +0 -0
  528. package/assets/sfx/impactos/rubble_falling_close_08.ogg +0 -0
  529. package/assets/sfx/impactos/rubble_falling_close_09.ogg +0 -0
  530. package/assets/sfx/impactos/soft_bullet_close_01.ogg +0 -0
  531. package/assets/sfx/impactos/soft_bullet_close_02.ogg +0 -0
  532. package/assets/sfx/impactos/soft_bullet_close_03.ogg +0 -0
  533. package/assets/sfx/impactos/soft_bullet_close_04.ogg +0 -0
  534. package/assets/sfx/impactos/soft_bullet_close_05.ogg +0 -0
  535. package/assets/sfx/impactos/soft_bullet_close_06.ogg +0 -0
  536. package/assets/sfx/impactos/soft_bullet_close_07.ogg +0 -0
  537. package/assets/sfx/impactos/soft_bullet_close_08.ogg +0 -0
  538. package/assets/sfx/impactos/soft_bullet_close_09.ogg +0 -0
  539. package/assets/sfx/impactos/soft_bullet_close_10.ogg +0 -0
  540. package/assets/sfx/impactos/soil_bullet_close_21.ogg +0 -0
  541. package/assets/sfx/impactos/soil_bullet_close_22.ogg +0 -0
  542. package/assets/sfx/impactos/soil_bullet_close_23.ogg +0 -0
  543. package/assets/sfx/impactos/wood_blunt_heavy_close_01.ogg +0 -0
  544. package/assets/sfx/impactos/wood_blunt_heavy_close_02.ogg +0 -0
  545. package/assets/sfx/impactos/wood_blunt_heavy_close_03.ogg +0 -0
  546. package/assets/sfx/impactos/wood_blunt_heavy_close_04.ogg +0 -0
  547. package/assets/sfx/impactos/wood_blunt_heavy_close_05.ogg +0 -0
  548. package/assets/sfx/impactos/wood_blunt_light_close_01.ogg +0 -0
  549. package/assets/sfx/impactos/wood_blunt_light_close_02.ogg +0 -0
  550. package/assets/sfx/impactos/wood_blunt_light_close_03.ogg +0 -0
  551. package/assets/sfx/impactos/wood_blunt_light_close_04.ogg +0 -0
  552. package/assets/sfx/impactos/wood_blunt_light_close_05.ogg +0 -0
  553. package/assets/sfx/impactos/wood_blunt_medium_close_01.ogg +0 -0
  554. package/assets/sfx/impactos/wood_blunt_medium_close_02.ogg +0 -0
  555. package/assets/sfx/impactos/wood_blunt_medium_close_03.ogg +0 -0
  556. package/assets/sfx/impactos/wood_blunt_medium_close_04.ogg +0 -0
  557. package/assets/sfx/impactos/wood_blunt_medium_close_05.ogg +0 -0
  558. package/assets/sfx/impactos/wood_fall_close_01.ogg +0 -0
  559. package/assets/sfx/impactos/wood_fall_close_02.ogg +0 -0
  560. package/assets/sfx/impactos/wood_fall_close_03.ogg +0 -0
  561. package/assets/sfx/impactos/wood_fall_close_04.ogg +0 -0
  562. package/assets/sfx/impactos/wood_fall_close_05.ogg +0 -0
  563. package/assets/sfx/impactos/wood_fall_close_06.ogg +0 -0
  564. package/assets/sfx/impactos/wood_fall_close_07.ogg +0 -0
  565. package/assets/sfx/impactos/wood_fall_close_08.ogg +0 -0
  566. package/assets/sfx/impactos/wood_fall_close_09.ogg +0 -0
  567. package/assets/sfx/impactos/wood_hit_close_01.ogg +0 -0
  568. package/assets/sfx/impactos/wood_hit_close_02.ogg +0 -0
  569. package/assets/sfx/impactos/wood_hit_close_03.ogg +0 -0
  570. package/assets/sfx/impactos/wood_hit_close_04.ogg +0 -0
  571. package/assets/sfx/impactos/wood_hit_close_05.ogg +0 -0
  572. package/assets/sfx/impactos/wood_hit_close_06.ogg +0 -0
  573. package/assets/sfx/impactos/wood_hit_close_07.ogg +0 -0
  574. package/assets/sfx/impactos/wood_hit_close_08.ogg +0 -0
  575. package/assets/sfx/impactos/wood_hit_close_09.ogg +0 -0
  576. package/assets/sfx/impactos/wood_hit_close_10.ogg +0 -0
  577. package/assets/sfx/impactos/wood_hit_close_11.ogg +0 -0
  578. package/assets/sfx/impactos/wood_hit_close_12.ogg +0 -0
  579. package/assets/sfx/impactos/wood_hit_close_13.ogg +0 -0
  580. package/assets/sfx/impactos/wood_hit_close_14.ogg +0 -0
  581. package/assets/sfx/impactos/wood_hit_close_21.ogg +0 -0
  582. package/assets/sfx/impactos/wood_hit_close_22.ogg +0 -0
  583. package/assets/sfx/impactos/wood_hit_close_23.ogg +0 -0
  584. package/assets/sfx/impactos/wood_hit_close_24.ogg +0 -0
  585. package/assets/sfx/impactos/wood_hit_close_25.ogg +0 -0
  586. package/assets/sfx/impactos/wood_hit_close_26.ogg +0 -0
  587. package/assets/sfx/impactos/wood_hit_close_27.ogg +0 -0
  588. package/assets/sfx/itens-portas/backpack_open_shut_01.ogg +0 -0
  589. package/assets/sfx/itens-portas/backpack_open_shut_02.ogg +0 -0
  590. package/assets/sfx/itens-portas/backpack_open_shut_03.ogg +0 -0
  591. package/assets/sfx/itens-portas/backpack_open_shut_04.ogg +0 -0
  592. package/assets/sfx/itens-portas/backpack_open_shut_05.ogg +0 -0
  593. package/assets/sfx/itens-portas/backpack_open_shut_06.ogg +0 -0
  594. package/assets/sfx/itens-portas/book_open_shut_01.ogg +0 -0
  595. package/assets/sfx/itens-portas/book_open_shut_02.ogg +0 -0
  596. package/assets/sfx/itens-portas/book_open_shut_03.ogg +0 -0
  597. package/assets/sfx/itens-portas/book_open_shut_04.ogg +0 -0
  598. package/assets/sfx/itens-portas/book_open_shut_05.ogg +0 -0
  599. package/assets/sfx/itens-portas/book_open_shut_06.ogg +0 -0
  600. package/assets/sfx/itens-portas/book_open_shut_07.ogg +0 -0
  601. package/assets/sfx/itens-portas/book_open_shut_08.ogg +0 -0
  602. package/assets/sfx/itens-portas/book_open_shut_09.ogg +0 -0
  603. package/assets/sfx/itens-portas/book_open_shut_10.ogg +0 -0
  604. package/assets/sfx/itens-portas/book_open_shut_11.ogg +0 -0
  605. package/assets/sfx/itens-portas/door_creak_01.ogg +0 -0
  606. package/assets/sfx/itens-portas/door_creak_02.ogg +0 -0
  607. package/assets/sfx/itens-portas/door_creak_03.ogg +0 -0
  608. package/assets/sfx/itens-portas/door_creak_06.ogg +0 -0
  609. package/assets/sfx/itens-portas/door_creak_07.ogg +0 -0
  610. package/assets/sfx/itens-portas/door_glass_sliding_01.ogg +0 -0
  611. package/assets/sfx/itens-portas/door_glass_sliding_02.ogg +0 -0
  612. package/assets/sfx/itens-portas/door_glass_sliding_03.ogg +0 -0
  613. package/assets/sfx/itens-portas/door_glass_sliding_04.ogg +0 -0
  614. package/assets/sfx/itens-portas/door_knock_01.ogg +0 -0
  615. package/assets/sfx/itens-portas/door_lock_unlock_01.ogg +0 -0
  616. package/assets/sfx/itens-portas/door_lock_unlock_02.ogg +0 -0
  617. package/assets/sfx/itens-portas/door_lock_unlock_03.ogg +0 -0
  618. package/assets/sfx/itens-portas/door_lock_unlock_04.ogg +0 -0
  619. package/assets/sfx/itens-portas/door_lock_unlock_05.ogg +0 -0
  620. package/assets/sfx/itens-portas/door_lock_unlock_06.ogg +0 -0
  621. package/assets/sfx/itens-portas/door_lock_unlock_07.ogg +0 -0
  622. package/assets/sfx/itens-portas/door_lock_unlock_08.ogg +0 -0
  623. package/assets/sfx/itens-portas/door_lock_unlock_09.ogg +0 -0
  624. package/assets/sfx/itens-portas/door_lock_unlock_10.ogg +0 -0
  625. package/assets/sfx/itens-portas/door_lock_unlock_11.ogg +0 -0
  626. package/assets/sfx/itens-portas/door_locked_rattle_01.ogg +0 -0
  627. package/assets/sfx/itens-portas/door_locked_rattle_02.ogg +0 -0
  628. package/assets/sfx/itens-portas/door_locked_rattle_03.ogg +0 -0
  629. package/assets/sfx/itens-portas/door_metal_open_shut_01.ogg +0 -0
  630. package/assets/sfx/itens-portas/door_metal_open_shut_02.ogg +0 -0
  631. package/assets/sfx/itens-portas/door_metal_open_shut_03.ogg +0 -0
  632. package/assets/sfx/itens-portas/door_metal_open_shut_04.ogg +0 -0
  633. package/assets/sfx/itens-portas/door_metal_open_shut_05.ogg +0 -0
  634. package/assets/sfx/itens-portas/door_metal_open_shut_06.ogg +0 -0
  635. package/assets/sfx/itens-portas/door_metal_open_shut_07.ogg +0 -0
  636. package/assets/sfx/itens-portas/door_slam_wood_01.ogg +0 -0
  637. package/assets/sfx/itens-portas/door_slam_wood_02.ogg +0 -0
  638. package/assets/sfx/itens-portas/door_slam_wood_03.ogg +0 -0
  639. package/assets/sfx/itens-portas/door_slam_wood_04.ogg +0 -0
  640. package/assets/sfx/itens-portas/door_wood_open_01.ogg +0 -0
  641. package/assets/sfx/itens-portas/door_wood_open_02.ogg +0 -0
  642. package/assets/sfx/itens-portas/door_wood_open_03.ogg +0 -0
  643. package/assets/sfx/itens-portas/door_wood_open_04.ogg +0 -0
  644. package/assets/sfx/itens-portas/door_wood_shut_01.ogg +0 -0
  645. package/assets/sfx/itens-portas/door_wood_shut_02.ogg +0 -0
  646. package/assets/sfx/itens-portas/door_wood_shut_03.ogg +0 -0
  647. package/assets/sfx/itens-portas/door_wood_shut_04.ogg +0 -0
  648. package/assets/sfx/itens-portas/door_wood_shut_05.ogg +0 -0
  649. package/assets/sfx/itens-portas/door_wood_shut_06.ogg +0 -0
  650. package/assets/sfx/itens-portas/door_wood_shut_07.ogg +0 -0
  651. package/assets/sfx/itens-portas/door_wood_shut_08.ogg +0 -0
  652. package/assets/sfx/itens-portas/drawer_open_01.ogg +0 -0
  653. package/assets/sfx/itens-portas/drawer_open_02.ogg +0 -0
  654. package/assets/sfx/itens-portas/drawer_shut_01.ogg +0 -0
  655. package/assets/sfx/itens-portas/drawer_shut_02.ogg +0 -0
  656. package/assets/sfx/itens-portas/item_drop_bag_01.ogg +0 -0
  657. package/assets/sfx/itens-portas/item_drop_bag_02.ogg +0 -0
  658. package/assets/sfx/itens-portas/item_drop_glass_01.ogg +0 -0
  659. package/assets/sfx/itens-portas/item_drop_metal_01.ogg +0 -0
  660. package/assets/sfx/itens-portas/item_drop_metal_02.ogg +0 -0
  661. package/assets/sfx/itens-portas/item_drop_metal_03.ogg +0 -0
  662. package/assets/sfx/itens-portas/item_drop_metal_04.ogg +0 -0
  663. package/assets/sfx/itens-portas/item_drop_metal_05.ogg +0 -0
  664. package/assets/sfx/itens-portas/item_drop_paper_01.ogg +0 -0
  665. package/assets/sfx/itens-portas/item_pickup_coins_01.ogg +0 -0
  666. package/assets/sfx/itens-portas/item_pickup_coins_02.ogg +0 -0
  667. package/assets/sfx/itens-portas/item_pickup_generic_01.ogg +0 -0
  668. package/assets/sfx/itens-portas/item_pickup_generic_02.ogg +0 -0
  669. package/assets/sfx/itens-portas/item_pickup_generic_03.ogg +0 -0
  670. package/assets/sfx/itens-portas/item_pickup_generic_04.ogg +0 -0
  671. package/assets/sfx/itens-portas/item_pickup_leather_01.ogg +0 -0
  672. package/assets/sfx/itens-portas/item_pickup_leather_02.ogg +0 -0
  673. package/assets/sfx/itens-portas/item_pickup_leather_03.ogg +0 -0
  674. package/assets/sfx/itens-portas/item_pickup_leather_04.ogg +0 -0
  675. package/assets/sfx/itens-portas/item_pickup_leather_05.ogg +0 -0
  676. package/assets/sfx/itens-portas/item_setdown_01.ogg +0 -0
  677. package/assets/sfx/itens-portas/item_setdown_02.ogg +0 -0
  678. package/assets/sfx/itens-portas/keys_jingle_01.ogg +0 -0
  679. package/assets/sfx/itens-portas/keys_jingle_02.ogg +0 -0
  680. package/assets/sfx/itens-portas/keys_jingle_03.ogg +0 -0
  681. package/assets/sfx/itens-portas/keys_jingle_04.ogg +0 -0
  682. package/assets/sfx/itens-portas/keys_jingle_05.ogg +0 -0
  683. package/assets/sfx/itens-portas/keys_jingle_06.ogg +0 -0
  684. package/assets/sfx/itens-portas/keys_jingle_07.ogg +0 -0
  685. package/assets/sfx/itens-portas/lever_pull_01.ogg +0 -0
  686. package/assets/sfx/itens-portas/lever_pull_02.ogg +0 -0
  687. package/assets/sfx/itens-portas/lever_pull_03.ogg +0 -0
  688. package/assets/sfx/itens-portas/lever_pull_04.ogg +0 -0
  689. package/assets/sfx/itens-portas/lever_pull_05.ogg +0 -0
  690. package/assets/sfx/itens-portas/lever_pull_06.ogg +0 -0
  691. package/assets/sfx/itens-portas/metal_latch_01.ogg +0 -0
  692. package/assets/sfx/itens-portas/metal_latch_02.ogg +0 -0
  693. package/assets/sfx/itens-portas/plates_hit_01.ogg +0 -0
  694. package/assets/sfx/itens-portas/plates_hit_02.ogg +0 -0
  695. package/assets/sfx/itens-portas/plates_hit_03.ogg +0 -0
  696. package/assets/sfx/itens-portas/plates_hit_04.ogg +0 -0
  697. package/assets/sfx/itens-portas/plates_hit_05.ogg +0 -0
  698. package/assets/sfx/itens-portas/plates_hit_06.ogg +0 -0
  699. package/assets/sfx/itens-portas/plates_hit_07.ogg +0 -0
  700. package/assets/sfx/itens-portas/plates_hit_08.ogg +0 -0
  701. package/assets/sfx/itens-portas/plates_hit_09.ogg +0 -0
  702. package/assets/sfx/itens-portas/plates_hit_10.ogg +0 -0
  703. package/assets/sfx/itens-portas/plates_slide_01.ogg +0 -0
  704. package/assets/sfx/itens-portas/plates_slide_02.ogg +0 -0
  705. package/assets/sfx/itens-portas/plates_slide_03.ogg +0 -0
  706. package/assets/sfx/itens-portas/plates_slide_04.ogg +0 -0
  707. package/assets/sfx/itens-portas/saw_wood_01.ogg +0 -0
  708. package/assets/sfx/itens-portas/switch_click_01.ogg +0 -0
  709. package/assets/sfx/itens-portas/switch_click_02.ogg +0 -0
  710. package/assets/sfx/itens-portas/switch_click_03.ogg +0 -0
  711. package/assets/sfx/itens-portas/switch_click_04.ogg +0 -0
  712. package/assets/sfx/itens-portas/toilet_flush_01.ogg +0 -0
  713. package/assets/sfx/itens-portas/tools_handling_01.ogg +0 -0
  714. package/assets/sfx/itens-portas/tools_handling_02.ogg +0 -0
  715. package/assets/sfx/itens-portas/tools_handling_03.ogg +0 -0
  716. package/assets/sfx/itens-portas/tools_handling_04.ogg +0 -0
  717. package/assets/sfx/itens-portas/tools_handling_05.ogg +0 -0
  718. package/assets/sfx/itens-portas/tools_handling_06.ogg +0 -0
  719. package/assets/sfx/itens-portas/tools_handling_07.ogg +0 -0
  720. package/assets/sfx/itens-portas/tools_handling_08.ogg +0 -0
  721. package/assets/sfx/itens-portas/tools_handling_09.ogg +0 -0
  722. package/assets/sfx/itens-portas/tools_handling_10.ogg +0 -0
  723. package/assets/sfx/itens-portas/tools_handling_11.ogg +0 -0
  724. package/assets/sfx/itens-portas/tools_handling_12.ogg +0 -0
  725. package/assets/sfx/itens-portas/tools_handling_13.ogg +0 -0
  726. package/assets/sfx/itens-portas/tools_handling_14.ogg +0 -0
  727. package/assets/sfx/itens-portas/tools_handling_15.ogg +0 -0
  728. package/assets/sfx/itens-portas/tools_handling_16.ogg +0 -0
  729. package/assets/sfx/itens-portas/water_drip_01.ogg +0 -0
  730. package/assets/sfx/itens-portas/water_drip_02.ogg +0 -0
  731. package/assets/sfx/itens-portas/water_drip_03.ogg +0 -0
  732. package/assets/sfx/itens-portas/water_drip_04.ogg +0 -0
  733. package/assets/sfx/itens-portas/water_faucet_01.ogg +0 -0
  734. package/assets/sfx/itens-portas/water_faucet_02.ogg +0 -0
  735. package/assets/sfx/itens-portas/water_faucet_03.ogg +0 -0
  736. package/assets/sfx/itens-portas/water_faucet_04.ogg +0 -0
  737. package/assets/sfx/itens-portas/water_faucet_05.ogg +0 -0
  738. package/assets/sfx/itens-portas/water_faucet_06.ogg +0 -0
  739. package/assets/sfx/itens-portas/water_faucet_07.ogg +0 -0
  740. package/assets/sfx/itens-portas/water_faucet_08.ogg +0 -0
  741. package/assets/sfx/itens-portas/water_faucet_09.ogg +0 -0
  742. package/assets/sfx/itens-portas/water_faucet_10.ogg +0 -0
  743. package/assets/sfx/manifest.json +48 -0
  744. package/assets/sfx/personagem/axe_chop_01.ogg +0 -0
  745. package/assets/sfx/personagem/axe_chop_02.ogg +0 -0
  746. package/assets/sfx/personagem/blunt_hit_metal_01.ogg +0 -0
  747. package/assets/sfx/personagem/blunt_hit_metal_02.ogg +0 -0
  748. package/assets/sfx/personagem/blunt_hit_metal_03.ogg +0 -0
  749. package/assets/sfx/personagem/blunt_hit_metal_04.ogg +0 -0
  750. package/assets/sfx/personagem/blunt_hit_metal_05.ogg +0 -0
  751. package/assets/sfx/personagem/body_fall_01.ogg +0 -0
  752. package/assets/sfx/personagem/body_fall_02.ogg +0 -0
  753. package/assets/sfx/personagem/body_fall_03.ogg +0 -0
  754. package/assets/sfx/personagem/body_fall_04.ogg +0 -0
  755. package/assets/sfx/personagem/body_fall_05.ogg +0 -0
  756. package/assets/sfx/personagem/cloth_rustle_01.ogg +0 -0
  757. package/assets/sfx/personagem/cloth_rustle_02.ogg +0 -0
  758. package/assets/sfx/personagem/cloth_rustle_03.ogg +0 -0
  759. package/assets/sfx/personagem/cloth_rustle_04.ogg +0 -0
  760. package/assets/sfx/personagem/cloth_rustle_05.ogg +0 -0
  761. package/assets/sfx/personagem/cloth_rustle_06.ogg +0 -0
  762. package/assets/sfx/personagem/cloth_rustle_07.ogg +0 -0
  763. package/assets/sfx/personagem/cloth_rustle_08.ogg +0 -0
  764. package/assets/sfx/personagem/cloth_rustle_09.ogg +0 -0
  765. package/assets/sfx/personagem/cloth_rustle_10.ogg +0 -0
  766. package/assets/sfx/personagem/cloth_rustle_11.ogg +0 -0
  767. package/assets/sfx/personagem/cloth_rustle_12.ogg +0 -0
  768. package/assets/sfx/personagem/cloth_rustle_13.ogg +0 -0
  769. package/assets/sfx/personagem/cloth_rustle_14.ogg +0 -0
  770. package/assets/sfx/personagem/drink_gulp_01.ogg +0 -0
  771. package/assets/sfx/personagem/drink_gulp_02.ogg +0 -0
  772. package/assets/sfx/personagem/drink_gulp_03.ogg +0 -0
  773. package/assets/sfx/personagem/footstep_carpet_alt_01.ogg +0 -0
  774. package/assets/sfx/personagem/footstep_carpet_alt_02.ogg +0 -0
  775. package/assets/sfx/personagem/footstep_carpet_alt_03.ogg +0 -0
  776. package/assets/sfx/personagem/footstep_carpet_alt_04.ogg +0 -0
  777. package/assets/sfx/personagem/footstep_carpet_alt_05.ogg +0 -0
  778. package/assets/sfx/personagem/footstep_concrete_alt_01.ogg +0 -0
  779. package/assets/sfx/personagem/footstep_concrete_alt_02.ogg +0 -0
  780. package/assets/sfx/personagem/footstep_concrete_alt_03.ogg +0 -0
  781. package/assets/sfx/personagem/footstep_concrete_alt_04.ogg +0 -0
  782. package/assets/sfx/personagem/footstep_concrete_alt_05.ogg +0 -0
  783. package/assets/sfx/personagem/footstep_concrete_run_01.ogg +0 -0
  784. package/assets/sfx/personagem/footstep_concrete_run_02.ogg +0 -0
  785. package/assets/sfx/personagem/footstep_concrete_run_03.ogg +0 -0
  786. package/assets/sfx/personagem/footstep_concrete_run_04.ogg +0 -0
  787. package/assets/sfx/personagem/footstep_concrete_run_05.ogg +0 -0
  788. package/assets/sfx/personagem/footstep_concrete_walk_01.ogg +0 -0
  789. package/assets/sfx/personagem/footstep_concrete_walk_02.ogg +0 -0
  790. package/assets/sfx/personagem/footstep_concrete_walk_03.ogg +0 -0
  791. package/assets/sfx/personagem/footstep_concrete_walk_04.ogg +0 -0
  792. package/assets/sfx/personagem/footstep_concrete_walk_05.ogg +0 -0
  793. package/assets/sfx/personagem/footstep_dirt_run_01.ogg +0 -0
  794. package/assets/sfx/personagem/footstep_dirt_run_02.ogg +0 -0
  795. package/assets/sfx/personagem/footstep_dirt_run_03.ogg +0 -0
  796. package/assets/sfx/personagem/footstep_dirt_run_04.ogg +0 -0
  797. package/assets/sfx/personagem/footstep_dirt_run_05.ogg +0 -0
  798. package/assets/sfx/personagem/footstep_dirt_walk_01.ogg +0 -0
  799. package/assets/sfx/personagem/footstep_dirt_walk_02.ogg +0 -0
  800. package/assets/sfx/personagem/footstep_dirt_walk_03.ogg +0 -0
  801. package/assets/sfx/personagem/footstep_dirt_walk_04.ogg +0 -0
  802. package/assets/sfx/personagem/footstep_dirt_walk_05.ogg +0 -0
  803. package/assets/sfx/personagem/footstep_generic_alt_01.ogg +0 -0
  804. package/assets/sfx/personagem/footstep_generic_alt_02.ogg +0 -0
  805. package/assets/sfx/personagem/footstep_generic_alt_03.ogg +0 -0
  806. package/assets/sfx/personagem/footstep_generic_alt_04.ogg +0 -0
  807. package/assets/sfx/personagem/footstep_generic_alt_05.ogg +0 -0
  808. package/assets/sfx/personagem/footstep_generic_alt_06.ogg +0 -0
  809. package/assets/sfx/personagem/footstep_generic_alt_07.ogg +0 -0
  810. package/assets/sfx/personagem/footstep_generic_alt_08.ogg +0 -0
  811. package/assets/sfx/personagem/footstep_generic_alt_09.ogg +0 -0
  812. package/assets/sfx/personagem/footstep_generic_alt_10.ogg +0 -0
  813. package/assets/sfx/personagem/footstep_grass_alt2_01.ogg +0 -0
  814. package/assets/sfx/personagem/footstep_grass_alt2_02.ogg +0 -0
  815. package/assets/sfx/personagem/footstep_grass_alt2_03.ogg +0 -0
  816. package/assets/sfx/personagem/footstep_grass_alt2_04.ogg +0 -0
  817. package/assets/sfx/personagem/footstep_grass_alt_01.ogg +0 -0
  818. package/assets/sfx/personagem/footstep_grass_alt_02.ogg +0 -0
  819. package/assets/sfx/personagem/footstep_grass_alt_03.ogg +0 -0
  820. package/assets/sfx/personagem/footstep_grass_alt_04.ogg +0 -0
  821. package/assets/sfx/personagem/footstep_grass_alt_05.ogg +0 -0
  822. package/assets/sfx/personagem/footstep_grass_run_01.ogg +0 -0
  823. package/assets/sfx/personagem/footstep_grass_run_02.ogg +0 -0
  824. package/assets/sfx/personagem/footstep_grass_run_03.ogg +0 -0
  825. package/assets/sfx/personagem/footstep_grass_run_04.ogg +0 -0
  826. package/assets/sfx/personagem/footstep_grass_run_05.ogg +0 -0
  827. package/assets/sfx/personagem/footstep_grass_walk_01.ogg +0 -0
  828. package/assets/sfx/personagem/footstep_grass_walk_02.ogg +0 -0
  829. package/assets/sfx/personagem/footstep_grass_walk_03.ogg +0 -0
  830. package/assets/sfx/personagem/footstep_grass_walk_04.ogg +0 -0
  831. package/assets/sfx/personagem/footstep_grass_walk_05.ogg +0 -0
  832. package/assets/sfx/personagem/footstep_hard_alt_01.ogg +0 -0
  833. package/assets/sfx/personagem/footstep_hard_alt_02.ogg +0 -0
  834. package/assets/sfx/personagem/footstep_hard_alt_03.ogg +0 -0
  835. package/assets/sfx/personagem/footstep_hard_alt_04.ogg +0 -0
  836. package/assets/sfx/personagem/footstep_hard_alt_05.ogg +0 -0
  837. package/assets/sfx/personagem/footstep_hard_alt_06.ogg +0 -0
  838. package/assets/sfx/personagem/footstep_hard_alt_07.ogg +0 -0
  839. package/assets/sfx/personagem/footstep_hard_alt_08.ogg +0 -0
  840. package/assets/sfx/personagem/footstep_hard_alt_09.ogg +0 -0
  841. package/assets/sfx/personagem/footstep_metal_run_01.ogg +0 -0
  842. package/assets/sfx/personagem/footstep_metal_run_02.ogg +0 -0
  843. package/assets/sfx/personagem/footstep_metal_run_03.ogg +0 -0
  844. package/assets/sfx/personagem/footstep_metal_run_04.ogg +0 -0
  845. package/assets/sfx/personagem/footstep_metal_run_05.ogg +0 -0
  846. package/assets/sfx/personagem/footstep_metal_walk_01.ogg +0 -0
  847. package/assets/sfx/personagem/footstep_metal_walk_02.ogg +0 -0
  848. package/assets/sfx/personagem/footstep_metal_walk_03.ogg +0 -0
  849. package/assets/sfx/personagem/footstep_metal_walk_04.ogg +0 -0
  850. package/assets/sfx/personagem/footstep_metal_walk_05.ogg +0 -0
  851. package/assets/sfx/personagem/footstep_snow_alt_01.ogg +0 -0
  852. package/assets/sfx/personagem/footstep_snow_alt_02.ogg +0 -0
  853. package/assets/sfx/personagem/footstep_snow_alt_03.ogg +0 -0
  854. package/assets/sfx/personagem/footstep_snow_alt_04.ogg +0 -0
  855. package/assets/sfx/personagem/footstep_snow_alt_05.ogg +0 -0
  856. package/assets/sfx/personagem/footstep_snow_run_01.ogg +0 -0
  857. package/assets/sfx/personagem/footstep_snow_run_02.ogg +0 -0
  858. package/assets/sfx/personagem/footstep_snow_run_03.ogg +0 -0
  859. package/assets/sfx/personagem/footstep_snow_run_04.ogg +0 -0
  860. package/assets/sfx/personagem/footstep_snow_run_05.ogg +0 -0
  861. package/assets/sfx/personagem/footstep_snow_walk_01.ogg +0 -0
  862. package/assets/sfx/personagem/footstep_snow_walk_02.ogg +0 -0
  863. package/assets/sfx/personagem/footstep_snow_walk_03.ogg +0 -0
  864. package/assets/sfx/personagem/footstep_snow_walk_04.ogg +0 -0
  865. package/assets/sfx/personagem/footstep_snow_walk_05.ogg +0 -0
  866. package/assets/sfx/personagem/footstep_wood_alt_01.ogg +0 -0
  867. package/assets/sfx/personagem/footstep_wood_alt_02.ogg +0 -0
  868. package/assets/sfx/personagem/footstep_wood_alt_03.ogg +0 -0
  869. package/assets/sfx/personagem/footstep_wood_alt_04.ogg +0 -0
  870. package/assets/sfx/personagem/footstep_wood_alt_05.ogg +0 -0
  871. package/assets/sfx/personagem/footstep_wood_run_01.ogg +0 -0
  872. package/assets/sfx/personagem/footstep_wood_run_02.ogg +0 -0
  873. package/assets/sfx/personagem/footstep_wood_run_03.ogg +0 -0
  874. package/assets/sfx/personagem/footstep_wood_run_04.ogg +0 -0
  875. package/assets/sfx/personagem/footstep_wood_run_05.ogg +0 -0
  876. package/assets/sfx/personagem/footstep_wood_walk_01.ogg +0 -0
  877. package/assets/sfx/personagem/footstep_wood_walk_02.ogg +0 -0
  878. package/assets/sfx/personagem/footstep_wood_walk_03.ogg +0 -0
  879. package/assets/sfx/personagem/footstep_wood_walk_04.ogg +0 -0
  880. package/assets/sfx/personagem/footstep_wood_walk_05.ogg +0 -0
  881. package/assets/sfx/personagem/frying_pan_hit_01.ogg +0 -0
  882. package/assets/sfx/personagem/frying_pan_hit_02.ogg +0 -0
  883. package/assets/sfx/personagem/frying_pan_hit_03.ogg +0 -0
  884. package/assets/sfx/personagem/grab_01.ogg +0 -0
  885. package/assets/sfx/personagem/kick_hit_01.ogg +0 -0
  886. package/assets/sfx/personagem/kick_hit_02.ogg +0 -0
  887. package/assets/sfx/personagem/kick_hit_03.ogg +0 -0
  888. package/assets/sfx/personagem/kick_hit_04.ogg +0 -0
  889. package/assets/sfx/personagem/kick_hit_05.ogg +0 -0
  890. package/assets/sfx/personagem/knife_draw_01.ogg +0 -0
  891. package/assets/sfx/personagem/knife_draw_02.ogg +0 -0
  892. package/assets/sfx/personagem/knife_draw_03.ogg +0 -0
  893. package/assets/sfx/personagem/knife_scrape_01.ogg +0 -0
  894. package/assets/sfx/personagem/knife_slash_01.ogg +0 -0
  895. package/assets/sfx/personagem/knife_slash_02.ogg +0 -0
  896. package/assets/sfx/personagem/land_concrete_01.ogg +0 -0
  897. package/assets/sfx/personagem/land_concrete_02.ogg +0 -0
  898. package/assets/sfx/personagem/land_dirt_01.ogg +0 -0
  899. package/assets/sfx/personagem/land_dirt_02.ogg +0 -0
  900. package/assets/sfx/personagem/land_grass_01.ogg +0 -0
  901. package/assets/sfx/personagem/land_grass_02.ogg +0 -0
  902. package/assets/sfx/personagem/land_metal_01.ogg +0 -0
  903. package/assets/sfx/personagem/land_metal_02.ogg +0 -0
  904. package/assets/sfx/personagem/land_snow_01.ogg +0 -0
  905. package/assets/sfx/personagem/land_snow_02.ogg +0 -0
  906. package/assets/sfx/personagem/land_wood_01.ogg +0 -0
  907. package/assets/sfx/personagem/land_wood_02.ogg +0 -0
  908. package/assets/sfx/personagem/player_breath_run_01.ogg +0 -0
  909. package/assets/sfx/personagem/player_breath_run_02.ogg +0 -0
  910. package/assets/sfx/personagem/player_breath_run_03.ogg +0 -0
  911. package/assets/sfx/personagem/player_breath_run_04.ogg +0 -0
  912. package/assets/sfx/personagem/player_breath_run_05.ogg +0 -0
  913. package/assets/sfx/personagem/player_death_female_01.ogg +0 -0
  914. package/assets/sfx/personagem/player_death_female_02.ogg +0 -0
  915. package/assets/sfx/personagem/player_death_female_03.ogg +0 -0
  916. package/assets/sfx/personagem/player_death_female_04.ogg +0 -0
  917. package/assets/sfx/personagem/player_death_female_05.ogg +0 -0
  918. package/assets/sfx/personagem/player_death_female_06.ogg +0 -0
  919. package/assets/sfx/personagem/player_death_female_07.ogg +0 -0
  920. package/assets/sfx/personagem/player_death_female_08.ogg +0 -0
  921. package/assets/sfx/personagem/player_death_male_01.ogg +0 -0
  922. package/assets/sfx/personagem/player_death_male_02.ogg +0 -0
  923. package/assets/sfx/personagem/player_death_male_03.ogg +0 -0
  924. package/assets/sfx/personagem/player_death_male_04.ogg +0 -0
  925. package/assets/sfx/personagem/player_death_male_05.ogg +0 -0
  926. package/assets/sfx/personagem/player_death_male_06.ogg +0 -0
  927. package/assets/sfx/personagem/player_death_male_07.ogg +0 -0
  928. package/assets/sfx/personagem/player_death_male_08.ogg +0 -0
  929. package/assets/sfx/personagem/player_effort_01.ogg +0 -0
  930. package/assets/sfx/personagem/player_effort_02.ogg +0 -0
  931. package/assets/sfx/personagem/player_effort_03.ogg +0 -0
  932. package/assets/sfx/personagem/player_effort_04.ogg +0 -0
  933. package/assets/sfx/personagem/player_hurt_female_01.ogg +0 -0
  934. package/assets/sfx/personagem/player_hurt_female_02.ogg +0 -0
  935. package/assets/sfx/personagem/player_hurt_female_03.ogg +0 -0
  936. package/assets/sfx/personagem/player_hurt_female_04.ogg +0 -0
  937. package/assets/sfx/personagem/player_hurt_female_05.ogg +0 -0
  938. package/assets/sfx/personagem/player_hurt_female_06.ogg +0 -0
  939. package/assets/sfx/personagem/player_hurt_male_01.ogg +0 -0
  940. package/assets/sfx/personagem/player_hurt_male_02.ogg +0 -0
  941. package/assets/sfx/personagem/player_hurt_male_03.ogg +0 -0
  942. package/assets/sfx/personagem/player_hurt_male_04.ogg +0 -0
  943. package/assets/sfx/personagem/player_hurt_male_05.ogg +0 -0
  944. package/assets/sfx/personagem/player_hurt_male_06.ogg +0 -0
  945. package/assets/sfx/personagem/punch_hit_alt_01.ogg +0 -0
  946. package/assets/sfx/personagem/punch_hit_alt_02.ogg +0 -0
  947. package/assets/sfx/personagem/punch_hit_alt_03.ogg +0 -0
  948. package/assets/sfx/personagem/punch_hit_alt_04.ogg +0 -0
  949. package/assets/sfx/personagem/punch_hit_alt_05.ogg +0 -0
  950. package/assets/sfx/personagem/punch_hit_alt_06.ogg +0 -0
  951. package/assets/sfx/personagem/punch_hit_alt_07.ogg +0 -0
  952. package/assets/sfx/personagem/punch_hit_alt_08.ogg +0 -0
  953. package/assets/sfx/personagem/punch_hit_alt_09.ogg +0 -0
  954. package/assets/sfx/personagem/punch_hit_alt_10.ogg +0 -0
  955. package/assets/sfx/personagem/punch_hit_body_01.ogg +0 -0
  956. package/assets/sfx/personagem/punch_hit_body_02.ogg +0 -0
  957. package/assets/sfx/personagem/punch_hit_body_03.ogg +0 -0
  958. package/assets/sfx/personagem/punch_hit_body_04.ogg +0 -0
  959. package/assets/sfx/personagem/punch_hit_body_05.ogg +0 -0
  960. package/assets/sfx/personagem/punch_hit_body_06.ogg +0 -0
  961. package/assets/sfx/personagem/punch_hit_face_01.ogg +0 -0
  962. package/assets/sfx/personagem/punch_hit_face_02.ogg +0 -0
  963. package/assets/sfx/personagem/punch_hit_face_03.ogg +0 -0
  964. package/assets/sfx/personagem/punch_hit_face_04.ogg +0 -0
  965. package/assets/sfx/personagem/punch_hit_face_05.ogg +0 -0
  966. package/assets/sfx/personagem/punch_swing_01.ogg +0 -0
  967. package/assets/sfx/personagem/punch_swing_02.ogg +0 -0
  968. package/assets/sfx/personagem/punch_swing_03.ogg +0 -0
  969. package/assets/sfx/personagem/punch_swing_04.ogg +0 -0
  970. package/assets/sfx/personagem/punch_swing_05.ogg +0 -0
  971. package/assets/sfx/personagem/punch_swing_06.ogg +0 -0
  972. package/assets/sfx/personagem/punch_swing_07.ogg +0 -0
  973. package/assets/sfx/personagem/punch_swing_08.ogg +0 -0
  974. package/assets/sfx/personagem/scream_01.ogg +0 -0
  975. package/assets/sfx/personagem/scream_02.ogg +0 -0
  976. package/assets/sfx/personagem/scream_03.ogg +0 -0
  977. package/assets/sfx/personagem/scream_04.ogg +0 -0
  978. package/assets/sfx/personagem/slap_01.ogg +0 -0
  979. package/assets/sfx/personagem/swing_whoosh_alt_01.ogg +0 -0
  980. package/assets/sfx/personagem/swing_whoosh_alt_02.ogg +0 -0
  981. package/assets/sfx/personagem/swing_whoosh_alt_03.ogg +0 -0
  982. package/assets/sfx/personagem/swing_whoosh_alt_04.ogg +0 -0
  983. package/assets/sfx/personagem/swing_whoosh_alt_05.ogg +0 -0
  984. package/assets/sfx/personagem/swing_whoosh_alt_06.ogg +0 -0
  985. package/assets/sfx/personagem/swing_whoosh_alt_07.ogg +0 -0
  986. package/assets/sfx/personagem/swing_whoosh_alt_08.ogg +0 -0
  987. package/assets/sfx/personagem/swing_whoosh_alt_09.ogg +0 -0
  988. package/assets/sfx/personagem/swing_whoosh_alt_10.ogg +0 -0
  989. package/assets/sfx/personagem/swing_whoosh_alt_11.ogg +0 -0
  990. package/assets/sfx/personagem/swing_whoosh_alt_12.ogg +0 -0
  991. package/assets/sfx/personagem/swing_whoosh_alt_13.ogg +0 -0
  992. package/assets/sfx/personagem/swing_whoosh_alt_14.ogg +0 -0
  993. package/assets/sfx/personagem/swing_whoosh_alt_15.ogg +0 -0
  994. package/assets/sfx/personagem/swing_whoosh_alt_16.ogg +0 -0
  995. package/assets/sfx/personagem/swing_whoosh_alt_17.ogg +0 -0
  996. package/assets/sfx/personagem/swing_whoosh_alt_18.ogg +0 -0
  997. package/assets/sfx/personagem/swing_whoosh_alt_19.ogg +0 -0
  998. package/assets/sfx/personagem/swing_whoosh_alt_20.ogg +0 -0
  999. package/assets/sfx/personagem/swing_whoosh_alt_21.ogg +0 -0
  1000. package/assets/sfx/personagem/swing_whoosh_alt_22.ogg +0 -0
  1001. package/assets/sfx/personagem/swing_whoosh_alt_23.ogg +0 -0
  1002. package/assets/sfx/personagem/swing_whoosh_alt_24.ogg +0 -0
  1003. package/assets/sfx/personagem/swing_whoosh_alt_25.ogg +0 -0
  1004. package/assets/sfx/personagem/swing_whoosh_alt_26.ogg +0 -0
  1005. package/assets/sfx/personagem/swing_whoosh_alt_27.ogg +0 -0
  1006. package/assets/sfx/personagem/swing_whoosh_alt_28.ogg +0 -0
  1007. package/assets/sfx/personagem/swing_whoosh_alt_29.ogg +0 -0
  1008. package/assets/sfx/personagem/swing_whoosh_alt_30.ogg +0 -0
  1009. package/assets/sfx/personagem/swing_whoosh_alt_31.ogg +0 -0
  1010. package/assets/sfx/personagem/swing_whoosh_alt_32.ogg +0 -0
  1011. package/assets/sfx/personagem/swing_whoosh_alt_33.ogg +0 -0
  1012. package/assets/sfx/personagem/swing_whoosh_alt_34.ogg +0 -0
  1013. package/assets/sfx/personagem/swing_whoosh_alt_35.ogg +0 -0
  1014. package/assets/sfx/personagem/swing_whoosh_alt_36.ogg +0 -0
  1015. package/assets/sfx/personagem/swing_whoosh_alt_37.ogg +0 -0
  1016. package/assets/sfx/personagem/swing_whoosh_alt_38.ogg +0 -0
  1017. package/assets/sfx/personagem/swing_whoosh_alt_39.ogg +0 -0
  1018. package/assets/sfx/personagem/swing_whoosh_alt_40.ogg +0 -0
  1019. package/assets/sfx/personagem/swing_whoosh_alt_41.ogg +0 -0
  1020. package/assets/sfx/personagem/swing_whoosh_alt_42.ogg +0 -0
  1021. package/assets/sfx/personagem/swing_whoosh_alt_43.ogg +0 -0
  1022. package/assets/sfx/personagem/zombie_creature_01.ogg +0 -0
  1023. package/assets/sfx/personagem/zombie_creature_02.ogg +0 -0
  1024. package/assets/sfx/personagem/zombie_creature_03.ogg +0 -0
  1025. package/assets/sfx/personagem/zombie_death_01.ogg +0 -0
  1026. package/assets/sfx/personagem/zombie_death_02.ogg +0 -0
  1027. package/assets/sfx/personagem/zombie_death_03.ogg +0 -0
  1028. package/assets/sfx/personagem/zombie_death_04.ogg +0 -0
  1029. package/assets/sfx/personagem/zombie_death_05.ogg +0 -0
  1030. package/assets/sfx/personagem/zombie_death_06.ogg +0 -0
  1031. package/assets/sfx/personagem/zombie_death_07.ogg +0 -0
  1032. package/assets/sfx/personagem/zombie_death_08.ogg +0 -0
  1033. package/assets/sfx/personagem/zombie_groan_01.ogg +0 -0
  1034. package/assets/sfx/personagem/zombie_groan_02.ogg +0 -0
  1035. package/assets/sfx/personagem/zombie_groan_03.ogg +0 -0
  1036. package/assets/sfx/personagem/zombie_groan_04.ogg +0 -0
  1037. package/assets/sfx/personagem/zombie_groan_05.ogg +0 -0
  1038. package/assets/sfx/personagem/zombie_groan_06.ogg +0 -0
  1039. package/assets/sfx/personagem/zombie_groan_07.ogg +0 -0
  1040. package/assets/sfx/personagem/zombie_groan_08.ogg +0 -0
  1041. package/assets/sfx/personagem/zombie_groan_09.ogg +0 -0
  1042. package/assets/sfx/personagem/zombie_groan_10.ogg +0 -0
  1043. package/assets/sfx/personagem/zombie_groan_11.ogg +0 -0
  1044. package/assets/sfx/veiculos/car_door_open_01.ogg +0 -0
  1045. package/assets/sfx/veiculos/car_door_shut_01.ogg +0 -0
  1046. package/assets/sfx/veiculos/car_gear_shift_01.ogg +0 -0
  1047. package/assets/sfx/veiculos/car_trunk_shut_01.ogg +0 -0
  1048. package/assets/sfx/veiculos/car_window_01.ogg +0 -0
  1049. package/assets/sfx/veiculos/car_window_02.ogg +0 -0
  1050. package/assets/sfx/veiculos/engine_loop_car_high_01.ogg +0 -0
  1051. package/assets/sfx/veiculos/engine_loop_car_idle_01.ogg +0 -0
  1052. package/assets/sfx/veiculos/engine_start_run_stop_01.ogg +0 -0
  1053. package/assets/sfx/veiculos/engine_start_run_stop_02.ogg +0 -0
  1054. package/dist/bank-Dsj1VAht.d.ts +391 -0
  1055. package/dist/chunk-JV5XXCQE.js +180 -0
  1056. package/dist/chunk-JV5XXCQE.js.map +1 -0
  1057. package/dist/{chunk-C2K7XN2K.js → chunk-UUWKSG4J.js} +36 -165
  1058. package/dist/chunk-UUWKSG4J.js.map +1 -0
  1059. package/dist/fitted.d.ts +89 -0
  1060. package/dist/fitted.js +139 -0
  1061. package/dist/fitted.js.map +1 -0
  1062. package/dist/index.d.ts +28 -3
  1063. package/dist/index.global.js +106 -4
  1064. package/dist/index.global.js.map +1 -1
  1065. package/dist/index.js +80 -13
  1066. package/dist/index.js.map +1 -1
  1067. package/dist/{locale-BJMhMT0G.d.ts → locale-YHyJwN2P.d.ts} +104 -482
  1068. package/dist/testing.d.ts +3 -2
  1069. package/dist/testing.js +2 -1
  1070. package/package.json +6 -2
  1071. package/dist/chunk-C2K7XN2K.js.map +0 -1
@@ -1,372 +1,119 @@
1
+ import { B as BusId, q as SampleEnvironment, p as SampleCrossover, F as Falloff, c as SampleSound, t as SampleTier, h as BuildOrder, C as Curve, b as SoundRecipe, S as SoundRegistry, a as SoundBank } from './bank-Dsj1VAht.js';
1
2
  import { Vec3, DeferredQueue, TestableModule } from '@adatechnology/game-contracts';
2
3
 
3
- /**
4
- * Sound recipes are data. A recipe says which nodes a sound has and which numbers drive them; ranges are drawn when the sound is planned, in
5
- * the order the fields are written (see `planSound`), so a recipe ported from a team routine draws its random numbers in the routine's order.
6
- */
7
- declare const BUS_IDS: readonly ["weapons", "voices", "world", "ambience", "weather", "ui"];
8
- type BusId = (typeof BUS_IDS)[number];
9
- /** A named number: from `PlayOptions.params` or the recipe's `vars`, times `scale`, plus `add`. */
10
- type ParamRef = {
11
- readonly param: string;
12
- readonly scale?: number;
13
- readonly add?: number;
14
- };
15
- /** A number, a `[min, max]` drawn uniformly (`min + random × (max − min)`), or a named number. */
16
- type Range = number | readonly [min: number, max: number] | ParamRef;
17
- /** Seconds from the layer start: a range, the layer `'duration'`, or `'0.6d'` (0.6 × the layer duration). */
18
- type Time = Range | 'duration' | `${number}d`;
19
- type Curve = 'linear' | 'exp';
20
- /**
21
- * How an AudioParam moves:
22
- * - `{ set }` assigns `.value`;
23
- * - `{ set, to, curve, over }` assigns `.value`, then ramps to `to` at `over`;
24
- * - `{ from }` calls `setValueAtTime(from)` at the start; with `to`, `curve` and `over` it then ramps to `to` (`'from'` is the value drawn for `from`: the art scene ramps a tone back to its own start when it gives no end).
25
- */
26
- type Automation = {
27
- readonly set: Range;
28
- readonly to?: Range | 'from';
29
- readonly curve?: Curve;
30
- readonly over?: Time;
31
- } | {
32
- readonly from: Range;
33
- readonly to?: Range | 'from';
34
- readonly curve?: Curve;
35
- readonly over?: Time;
36
- };
37
- /**
38
- * One gain point: time (seconds, or `'0.6d'`), value and how it is reached (`set` = `setValueAtTime`, or a ramp). The value is multiplied by the
39
- * layer level (volume, distance and layer gain) except when the fourth item is `'fixed'` (the floor a ramp falls to, such as 0.001).
40
- */
41
- type EnvelopePoint = readonly [time: number | `${number}d`, value: number, curve: 'set' | Curve] | readonly [time: number | `${number}d`, value: number, curve: 'set' | Curve, fixed: 'fixed'];
42
- type Envelope = readonly EnvelopePoint[];
43
- type FilterSpec = {
44
- readonly type: BiquadFilterType;
45
- readonly frequency: Automation;
46
- readonly q?: Range;
47
- /** The BiquadFilter gain (shelf and peaking types). */
48
- readonly gain?: Range;
49
- /** A gain node after the filter, for a parallel bank where each band has its own level (the game's scream formants). */
50
- readonly level?: Range;
51
- };
52
- type FilterBank = {
53
- readonly mode: 'serial' | 'parallel';
54
- readonly bank: readonly FilterSpec[];
55
- };
56
- /** An LFO. `depth` is absolute, or a factor of the source start frequency. With `base`, gain modulation goes through its own gain stage (the game rotor). */
57
- type Modulator = {
58
- readonly target: 'gain' | 'frequency';
59
- /** Left out, the oscillator keeps its default (sine) and no type is set. */
60
- readonly wave?: OscillatorType;
61
- readonly rate: Range;
62
- readonly depth: Range | {
63
- readonly scaleOf: 'frequency';
64
- readonly factor: number;
65
- };
66
- readonly base?: number;
67
- };
68
- /**
69
- * Noise from the engine's seeded buffer. `offset` is where playback starts in it: `'random'` (random × `offsetScale`, default 1), `'fit'`
70
- * (random × (buffer length − duration)) or seconds. `loop` sets the source to loop (the art scene sets it on every noise source).
71
- */
72
- type NoiseSource = {
73
- readonly kind: 'noise';
74
- readonly offset?: 'random' | 'fit' | number;
75
- readonly offsetScale?: number;
76
- readonly loop?: boolean;
77
- };
78
- type OscSource = {
79
- readonly kind: 'osc';
80
- readonly wave: OscillatorType;
81
- readonly frequency: Automation;
82
- };
83
- /** The art scene's `voice`: an oscillator with vibrato through formant bands, plus a band of breath noise, summed and boosted. */
84
- type FormantVoiceSource = {
85
- readonly kind: 'formant_voice';
86
- readonly wave: OscillatorType;
87
- readonly frequency: Automation;
88
- /** Vibrato rate, and depth as a factor of the start frequency. */
89
- readonly vibrato: {
90
- readonly rate: Range;
91
- readonly depth: number;
92
- };
93
- readonly formants: readonly {
94
- readonly frequency: Range;
95
- readonly q: number;
96
- }[];
97
- readonly breath: {
98
- readonly frequency: Range;
99
- readonly q: number;
100
- readonly gain: Range;
101
- };
102
- readonly mix: number;
103
- };
104
- type LayerSource = NoiseSource | OscSource | FormantVoiceSource;
105
- type Layer = {
106
- /** Start, seconds after the sound starts. */
107
- readonly at?: Range;
108
- /** Overrides the recipe duration for this layer. */
109
- readonly duration?: Range;
110
- /** Seconds the source keeps running after the duration (the `+ 0.05` of the team routines). Default: the recipe's, else 0.05. */
111
- readonly tail?: number;
112
- /** The layer played `count` times, `spacing` seconds apart (the game's animal calls). */
113
- readonly repeat?: {
114
- readonly count: number;
115
- readonly spacing: number;
116
- };
117
- /** Layer level before distance. Default 1. */
118
- readonly gain?: Range;
119
- /** Send to the reverb, 0..1 or more (the art scene uses up to 1.2). */
120
- readonly wet?: number;
121
- readonly source: LayerSource;
122
- readonly filters?: FilterBank;
123
- readonly modulators?: readonly Modulator[];
124
- readonly envelope: Envelope;
4
+ /** Where the ears are. `yaw` turns around y like a three.js camera: the right ear points at `(cos yaw, 0, −sin yaw)`. */
5
+ type Listener = {
6
+ readonly position: Vec3;
7
+ readonly yaw: number;
125
8
  };
9
+ type DistanceMode = 'xz' | '3d';
10
+ declare const DEFAULT_LISTENER: Listener;
11
+ /** The art scene clamps the pan to ±0.85 and never divides by less than 2 m (cena L1319). */
12
+ declare const PAN_LIMIT = 0.85;
13
+ declare const PAN_MIN_DISTANCE = 2;
14
+ /** Distance from the listener: on the ground (`xz`, the teams' choice) or in 3D. */
15
+ declare function listenerDistance(listener: Listener, position: Vec3, mode?: DistanceMode): number;
16
+ /** The art scene's `panFor`: the side the sound is on, −0.85 (left) to 0.85 (right). No HRTF, for cost. */
17
+ declare function panFor(listener: Listener, position: Vec3): number;
18
+
126
19
  /**
127
- * Distance falloff of a sound's level:
128
- * - `inverse_square`: `volume / (1 + d² × k)`; `cutoffK` also divides every lowpass cutoff by `1 + d × cutoffK` (the game's muffling);
129
- * - `linear`: `max(0, 1 − d / range)`, silent at or below `minGain`;
130
- * - `none`: no distance.
131
- * `scale` multiplies the level (the game's boom is 1.4 at the source), and below `minGain` the sound is not played.
20
+ * Sounds made of recorded files (`.ogg`), as data. A `SampleSound` lists the takes of each layer: `close` (the sound as heard near, the only one
21
+ * required), `far` (the same event heard from far away: a muffled bang with its echo) and the tail of the place it happens in (`indoor` / `outdoor`).
22
+ * `planSample` decides, from a seeded stream, which take plays (round-robin: never the same take twice in a row), the pitch (± a fraction), how the
23
+ * near and far layers cross over with the distance, the level, the pan and the distance lowpass. It is pure, so it runs in Node and in tests; the
24
+ * WebAudio layer (`realizeSample`) plays the plan from decoded buffers.
132
25
  */
133
- type Falloff = {
134
- readonly model: 'inverse_square';
135
- readonly k: number;
136
- readonly minGain?: number;
137
- readonly cutoffK?: number;
138
- readonly scale?: number;
139
- } | {
140
- readonly model: 'linear';
141
- readonly range: number;
142
- readonly minGain?: number;
143
- readonly scale?: number;
144
- } | {
145
- readonly model: 'none';
26
+
27
+ declare const SAMPLE_ENVIRONMENTS: readonly ["indoor", "outdoor"];
28
+ /** The role of a layer in a plan. */
29
+ type SampleLayerRole = 'close' | 'far' | 'tail';
30
+ declare const DEFAULT_SAMPLE_FALLOFF: Falloff;
31
+ declare const DEFAULT_CROSSOVER: SampleCrossover;
32
+ declare const DEFAULT_SAMPLE_PITCH = 0.04;
33
+ declare const DEFAULT_TAIL_GAIN = 0.6;
34
+ declare const DEFAULT_SAMPLE_CUTOFF_K = 0.01;
35
+ /** The open lowpass: at or above it the realizer leaves the filter out. */
36
+ declare const OPEN_CUTOFF = 20000;
37
+ /** A layer quieter than this is left out of the plan. */
38
+ declare const LAYER_FLOOR = 0.001;
39
+ /** One file to play: which take, at what level (already times the sound level), rate and start. */
40
+ type PlannedSampleLayer = {
41
+ readonly role: SampleLayerRole;
42
+ readonly url: string;
43
+ /** Index of the take in its list. */
44
+ readonly take: number;
45
+ readonly gain: number;
46
+ readonly rate: number;
47
+ readonly at: number;
48
+ /** Seconds into the file (the take's trim). */
49
+ readonly offset?: number;
50
+ /** Seconds of the file played (the take's trim). */
51
+ readonly duration?: number;
146
52
  };
147
- /**
148
- * The order the realizer creates and wires the nodes in. Each one is the order of the team routine it reproduces, so the trace of the SDK
149
- * matches the trace of the team code node for node:
150
- * - `layered` (default): the art scene's `sNoise`, `sTone` and `voice`; every layer has its own output stage (distance gain, pan, reverb send);
151
- * - `burst`: the game's `sfx` (jogo L62089);
152
- * - `scream`: the game's `grito` (L62128);
153
- * - `groan`: the game's `voz` (L62143);
154
- * - `boom`: the game's `boom` (L68278);
155
- * - `static`: the game's `chiado` (L69998);
156
- * - `chord`: the game's `buzina` (L70272);
157
- * - `calls`: the game's `bichoSom` (L66625);
158
- * - `siren`: the art scene's `siren` (L1369);
159
- * - `weapon`: the weapon audio of the kit (`weapons-three`): per layer a filtered noise burst or an oscillator, then its own gain, chained to the bus.
160
- * Every order but `layered` puts the level into the envelope and connects straight to the bus.
161
- */
162
- declare const BUILD_ORDERS: readonly ["layered", "burst", "scream", "groan", "boom", "static", "chord", "calls", "siren", "weapon"];
163
- type BuildOrder = (typeof BUILD_ORDERS)[number];
164
- type SoundRecipe = {
53
+ type SamplePlan = {
54
+ readonly kind: 'sample';
165
55
  readonly id: string;
166
56
  readonly bus: BusId;
167
- readonly order?: BuildOrder;
168
- /** Named numbers drawn first, in the order written; layers read them with `{ param }`. */
169
- readonly vars?: Readonly<Record<string, Range>>;
170
- readonly duration?: Range;
171
- readonly tail?: number;
172
- readonly layers: readonly Layer[];
173
- readonly falloff?: Falloff;
174
- /** Stereo pan from the listener (the art scene's `panFor`). Only the `layered` order has an output stage to pan. */
175
- readonly pan?: boolean;
176
- /** Voice group for the limiter (`undead_voice`...). */
57
+ readonly level: number;
58
+ readonly distance: number;
59
+ readonly pan?: number;
60
+ /** Lowpass cutoff in Hz (`OPEN_CUTOFF` = no filter). */
61
+ readonly cutoff: number;
62
+ /** Playback rate of every layer (the pitch drawn for this play). */
63
+ readonly rate: number;
64
+ readonly environment: SampleEnvironment;
65
+ /** The tier played (`undefined` without tiers or intensity). */
66
+ readonly tier?: string;
67
+ /** 0 = all near, 1 = all far. */
68
+ readonly farMix: number;
69
+ readonly layers: readonly PlannedSampleLayer[];
70
+ readonly priority: number;
177
71
  readonly group?: string;
178
- /** Limiter priority; default from the bus (weapons > voices > world > ambience). */
179
- readonly priority?: number;
180
- /**
181
- * The team routine creates nodes before it checks the level (the game's `bichoSom` creates its gain and filter first): a silent sound is kept as
182
- * a plan with `silent: true` so the realizer repeats those nodes. Off by default.
183
- */
184
- readonly keepSilent?: boolean;
185
- /** Where the numbers come from: `"jogo:L62128"`, `"cena:L1342"`, or `"sdk"` for values the kit chose. */
186
- readonly sources: readonly string[];
187
72
  };
188
- /**
189
- * The order the loop realizer creates the nodes in:
190
- * - `game_loop`: the game's `loopSet` (L62109): gain and filter first, nodes created the first time the volume passes `startAbove`, gain from 0;
191
- * - `chain_loop`: the art scene's loops in `initAudio` (L1314–1316): source, filters, gain at its starting volume, created when the loop opens.
192
- */
193
- type LoopOrder = 'game_loop' | 'chain_loop';
194
- type LoopRecipe = {
195
- readonly id: string;
196
- readonly bus: BusId;
197
- readonly order?: LoopOrder;
198
- /** An oscillator loop may leave the frequency out: it starts at the default and `set({ frequency })` glides it (the game's motor). */
199
- readonly source: (NoiseSource & {
200
- readonly loop: true;
201
- }) | {
202
- readonly kind: 'osc';
203
- readonly wave: OscillatorType;
204
- readonly frequency?: Automation;
205
- readonly loop: true;
206
- };
207
- readonly filters?: FilterBank;
208
- readonly modulators?: readonly Modulator[];
209
- /** `setTargetAtTime` time constants (jogo L62125–62126: 0.15 for the volume, 0.08 for the frequency). */
210
- readonly smoothing?: {
211
- readonly volume: number;
212
- readonly frequency: number;
213
- };
214
- /** Nodes are created the first time the volume reaches this (jogo L62112: 0.002). */
215
- readonly startAbove?: number;
216
- /** Volume the gain starts at when the loop opens (`chain_loop`). */
73
+ /** The last take each sound layer played (`<id>/<role>` → index), so the next play never repeats it. Keep one per engine or channel. */
74
+ type SampleMemory = Map<string, number>;
75
+ type SamplePlanInput = {
76
+ readonly random: () => number;
77
+ readonly listener?: Listener;
78
+ readonly distanceMode?: DistanceMode;
79
+ readonly position?: Vec3;
80
+ /** Metres; overrides `position` for the distance (not for the pan). */
81
+ readonly distance?: number;
217
82
  readonly volume?: number;
218
- /**
219
- * Distance falloff of the loop, applied each time `set` gives a `position` (an engine, a fire, a skid heard from where it is). Left out, the loop is
220
- * heard at the listener, as the team loops are. `cutoffK` also lowers the first filter's cutoff with the distance, as it does for one-shots.
221
- */
222
- readonly falloff?: Falloff;
223
- /** Stereo pan from the listener, from the `position` of each `set` (a panner after the gain). Off by default. */
224
- readonly pan?: boolean;
225
- readonly sources: readonly string[];
226
- };
227
- /**
228
- * One id that plays one of several recipes (the takes of a footstep, of a punch): `play(id)` draws a variant, never the one it played last time (unless
229
- * `repeat`), and plays it at a rate drawn from `rate` (1.04 is 4% higher and 4% shorter; see `retunePlan`), so ten footsteps never sound like one.
230
- */
231
- type SoundSet = {
232
- readonly id: string;
233
- /** Recipe ids, at least one. */
234
- readonly variants: readonly string[];
235
- /** `[min, max]` of the playback rate (pitch and speed together). Default `[1, 1]`. */
236
- readonly rate?: readonly [min: number, max: number];
237
- /** Allow the same variant twice in a row (default false). */
238
- readonly repeat?: boolean;
239
- };
240
- type SoundBank = {
241
- readonly id: string;
242
- readonly sounds?: readonly SoundRecipe[];
243
- readonly loops?: readonly LoopRecipe[];
244
- readonly sets?: readonly SoundSet[];
245
- /** Sounds played from recorded files (see `sample.ts`). A sample and a recipe may share an id: the sample plays once its files are loaded. */
246
- readonly samples?: readonly SampleSound[];
247
- /**
248
- * Ids of this bank that play the takes of a sample sound registered by another bank (a manifest's file id), resolved when the id is looked up, so
249
- * the order the banks register in does not matter. A sample of the alias's own id, when one is registered, wins.
250
- */
251
- readonly sampleAliases?: readonly SampleAlias[];
83
+ /** Default `outdoor`. */
84
+ readonly environment?: SampleEnvironment;
85
+ /** 0 (clear) to 1 (behind a wall): lowers the level and closes the lowpass. */
86
+ readonly occlusion?: number;
87
+ /** Round-robin memory; without it each plan is drawn on its own (and may repeat). */
88
+ readonly memory?: SampleMemory;
89
+ /** Limiter priority when the sound has none. */
90
+ readonly priority?: number;
91
+ /** 0 (light) to 1 (heavy): picks the tier (see `SampleTier`). */
92
+ readonly intensity?: number;
252
93
  };
253
94
  /**
254
- * One id answered by the takes of another sample sound (`file`): `engine_car_low` by `engine_loop_car_idle`. The other numbers replace the file's;
255
- * `offset` and `duration` trim every take (one recording holding the start, the run and the stop gives each its own id). The recipe or loop of `id`
256
- * stays as the fallback while the files load or where they are missing.
95
+ * Round-robin without repeat: a take drawn among all but the last one played. With one take it is always 0; without `last` any take may come.
96
+ * One random number per call.
257
97
  */
258
- type SampleAlias = {
259
- readonly id: string;
260
- readonly file: string;
261
- readonly offset?: number;
262
- readonly duration?: number;
263
- readonly loop?: SampleSound['loop'];
264
- readonly baseFrequency?: number;
265
- readonly gain?: number;
266
- readonly pitch?: number;
267
- readonly falloff?: Falloff;
268
- };
269
- /** One take: a file and its own trim (linear gain, default 1). */
270
- type SampleRef = {
271
- readonly url: string;
272
- readonly gain?: number;
273
- /** Seconds into the file the take starts at (default 0). A looping take starts there the first time round. */
274
- readonly offset?: number;
275
- /** Seconds of the file the take plays (default to its end); a trimmed one-shot fades out over its last 40 ms, so the cut does not click. */
276
- readonly duration?: number;
277
- };
278
- /** Where a sound happens: a closed room rings short and dense, the open field long and thin. */
279
- type SampleEnvironment = 'indoor' | 'outdoor';
280
- /** Where the near take hands over to the far one: all near up to `from` metres, all far from `to`, an equal-power crossfade between. */
281
- type SampleCrossover = {
282
- readonly from: number;
283
- readonly to: number;
284
- };
285
- type SampleTail = {
286
- readonly indoor?: readonly SampleRef[];
287
- readonly outdoor?: readonly SampleRef[];
288
- /** Level of the tail against the dry take (default 0.6). */
289
- readonly gain?: number;
290
- /** Seconds after the start (default 0: the tail file carries its own pre-delay). */
291
- readonly at?: number;
98
+ declare function pickTake(count: number, last: number | undefined, random: () => number): number;
99
+ /** 0 at or below `from`, 1 at or beyond `to`, linear between. */
100
+ declare function farMixAt(crossover: SampleCrossover, distance: number): number;
101
+ /** Equal-power gains of the near and far layers for a far mix (so the crossover has no dip in loudness). */
102
+ declare function crossGains(farMix: number): {
103
+ readonly close: number;
104
+ readonly far: number;
292
105
  };
106
+ /** The distance lowpass, closed further behind a wall (an occluded sound loses its highs first). */
107
+ declare function sampleCutoff(cutoffK: number, distance: number, occlusion?: number): number;
108
+ /** Every file a sound may play (to load before its first play). */
109
+ declare function sampleUrls(sound: SampleSound): string[];
110
+ /** The tier for an intensity: the last whose `from` is at or below it. */
111
+ declare function tierFor(sound: SampleSound, intensity: number | undefined): SampleTier | undefined;
293
112
  /**
294
- * A set of takes for a strength of the action (criterion C7: a light blow, a heavy one, a car at 10 or 60 km/h): from `from` (0..1) up, these takes
295
- * replace `close` and `far`. The tier played is the last one whose `from` is at or below `PlayOptions.intensity`.
113
+ * The plan of one play, or `null` when the sound is too far to be heard. Random numbers, in order: the pitch, the near take, the far take, the
114
+ * tail take (each drawn only when that layer has more than zero takes and is heard).
296
115
  */
297
- type SampleTier = {
298
- readonly name: string;
299
- readonly from: number;
300
- readonly close: readonly SampleRef[];
301
- readonly far?: readonly SampleRef[];
302
- };
303
- type SampleSound = {
304
- readonly id: string;
305
- readonly bus: BusId;
306
- /** The takes heard near; at least one (the criteria ask four for a sound heard all the time). */
307
- readonly close: readonly SampleRef[];
308
- /** The takes heard far; without them the near take plays at every distance (muffled by the lowpass). */
309
- readonly far?: readonly SampleRef[];
310
- /** Takes by strength (light, medium, heavy), in rising `from`; without `intensity` the near takes above play. */
311
- readonly tiers?: readonly SampleTier[];
312
- /** Default `{ from: 30, to: 80 }`. */
313
- readonly crossover?: SampleCrossover;
314
- readonly tail?: SampleTail;
315
- /** ± fraction of the playback rate drawn per play (default 0.04: ±4 %, inside the 3–5 % of the criteria). 0 plays every take at its pitch. */
316
- readonly pitch?: number;
317
- /** Level of the sound (default 1). */
318
- readonly gain?: number;
319
- /** Default `{ model: 'inverse_square', k: 0.002, minGain: 0.002 }`: a recorded take already sounds near or far, so the curve is gentler than a recipe's. */
320
- readonly falloff?: Falloff;
321
- /** The lowpass cutoff is `20000 / (1 + d × cutoffK)` Hz (default 0.01: 10 kHz at 100 m). 0 turns the distance lowpass off. */
322
- readonly cutoffK?: number;
323
- /** Stereo pan from the listener (default true). */
324
- readonly pan?: boolean;
325
- readonly group?: string;
326
- readonly priority?: number;
327
- /**
328
- * At most `voices` plays of this sound ring at once: a new one fades the oldest out in `fade` seconds (default 0.03) at its own start. Rapid fire
329
- * then stays shot by shot instead of a wall of overlapping takes (criterion C9). Without it every play rings to its end.
330
- */
331
- readonly choke?: {
332
- readonly voices: number;
333
- readonly fade?: number;
334
- };
335
- /**
336
- * A continuous sound (fire, rain, an engine idling) that `engine.loop(id)` plays: the near takes chained without a seam, each crossed into the next
337
- * in `crossfade` seconds (default 0.25, equal power), never the same take twice in a row. While the files load, the recipe loop of `fallback`
338
- * (or of the same id) plays. `play(id)` still plays one take as a one-shot.
339
- */
340
- readonly loop?: boolean | {
341
- readonly crossfade?: number;
342
- };
343
- /**
344
- * The frequency the recording of a loop sounds at (an engine's firing frequency at the RPM it was recorded at): `set({ frequency })` then plays
345
- * the takes at `frequency / baseFrequency`, gliding, as an oscillator loop follows it. Without it the loop keeps the pitch of its files.
346
- */
347
- readonly baseFrequency?: number;
348
- /** A recipe id the engine plays while the files are not loaded yet (or failed): the synthesized sound stays as the fallback. */
349
- readonly fallback?: string;
350
- /** Where each file came from: `"freesound:123456 autor CC0"`, or `"sdk"` for files the kit made. */
351
- readonly sources: readonly string[];
352
- /** The licence of the files when one is declared (a local pack's entry); the sound panel lists those that are not CC0 / CC-BY. */
353
- readonly license?: string;
354
- };
355
-
356
- /** Where the ears are. `yaw` turns around y like a three.js camera: the right ear points at `(cos yaw, 0, −sin yaw)`. */
357
- type Listener = {
358
- readonly position: Vec3;
359
- readonly yaw: number;
360
- };
361
- type DistanceMode = 'xz' | '3d';
362
- declare const DEFAULT_LISTENER: Listener;
363
- /** The art scene clamps the pan to ±0.85 and never divides by less than 2 m (cena L1319). */
364
- declare const PAN_LIMIT = 0.85;
365
- declare const PAN_MIN_DISTANCE = 2;
366
- /** Distance from the listener: on the ground (`xz`, the teams' choice) or in 3D. */
367
- declare function listenerDistance(listener: Listener, position: Vec3, mode?: DistanceMode): number;
368
- /** The art scene's `panFor`: the side the sound is on, −0.85 (left) to 0.85 (right). No HRTF, for cost. */
369
- declare function panFor(listener: Listener, position: Vec3): number;
116
+ declare function planSample(sound: SampleSound, input: SamplePlanInput): SamplePlan | null;
370
117
 
371
118
  /** How an AudioParam moves, with every number resolved and every time in seconds from the layer start. */
372
119
  type PlannedAutomation = {
@@ -480,105 +227,6 @@ type PlanInput = {
480
227
  */
481
228
  declare function planSound(recipe: SoundRecipe, input?: PlanInput): SoundPlan | null;
482
229
 
483
- /**
484
- * Sounds made of recorded files (`.ogg`), as data. A `SampleSound` lists the takes of each layer: `close` (the sound as heard near, the only one
485
- * required), `far` (the same event heard from far away: a muffled bang with its echo) and the tail of the place it happens in (`indoor` / `outdoor`).
486
- * `planSample` decides, from a seeded stream, which take plays (round-robin: never the same take twice in a row), the pitch (± a fraction), how the
487
- * near and far layers cross over with the distance, the level, the pan and the distance lowpass. It is pure, so it runs in Node and in tests; the
488
- * WebAudio layer (`realizeSample`) plays the plan from decoded buffers.
489
- */
490
-
491
- declare const SAMPLE_ENVIRONMENTS: readonly ["indoor", "outdoor"];
492
- /** The role of a layer in a plan. */
493
- type SampleLayerRole = 'close' | 'far' | 'tail';
494
- declare const DEFAULT_SAMPLE_FALLOFF: Falloff;
495
- declare const DEFAULT_CROSSOVER: SampleCrossover;
496
- declare const DEFAULT_SAMPLE_PITCH = 0.04;
497
- declare const DEFAULT_TAIL_GAIN = 0.6;
498
- declare const DEFAULT_SAMPLE_CUTOFF_K = 0.01;
499
- /** The open lowpass: at or above it the realizer leaves the filter out. */
500
- declare const OPEN_CUTOFF = 20000;
501
- /** A layer quieter than this is left out of the plan. */
502
- declare const LAYER_FLOOR = 0.001;
503
- /** One file to play: which take, at what level (already times the sound level), rate and start. */
504
- type PlannedSampleLayer = {
505
- readonly role: SampleLayerRole;
506
- readonly url: string;
507
- /** Index of the take in its list. */
508
- readonly take: number;
509
- readonly gain: number;
510
- readonly rate: number;
511
- readonly at: number;
512
- /** Seconds into the file (the take's trim). */
513
- readonly offset?: number;
514
- /** Seconds of the file played (the take's trim). */
515
- readonly duration?: number;
516
- };
517
- type SamplePlan = {
518
- readonly kind: 'sample';
519
- readonly id: string;
520
- readonly bus: BusId;
521
- readonly level: number;
522
- readonly distance: number;
523
- readonly pan?: number;
524
- /** Lowpass cutoff in Hz (`OPEN_CUTOFF` = no filter). */
525
- readonly cutoff: number;
526
- /** Playback rate of every layer (the pitch drawn for this play). */
527
- readonly rate: number;
528
- readonly environment: SampleEnvironment;
529
- /** The tier played (`undefined` without tiers or intensity). */
530
- readonly tier?: string;
531
- /** 0 = all near, 1 = all far. */
532
- readonly farMix: number;
533
- readonly layers: readonly PlannedSampleLayer[];
534
- readonly priority: number;
535
- readonly group?: string;
536
- };
537
- /** The last take each sound layer played (`<id>/<role>` → index), so the next play never repeats it. Keep one per engine or channel. */
538
- type SampleMemory = Map<string, number>;
539
- type SamplePlanInput = {
540
- readonly random: () => number;
541
- readonly listener?: Listener;
542
- readonly distanceMode?: DistanceMode;
543
- readonly position?: Vec3;
544
- /** Metres; overrides `position` for the distance (not for the pan). */
545
- readonly distance?: number;
546
- readonly volume?: number;
547
- /** Default `outdoor`. */
548
- readonly environment?: SampleEnvironment;
549
- /** 0 (clear) to 1 (behind a wall): lowers the level and closes the lowpass. */
550
- readonly occlusion?: number;
551
- /** Round-robin memory; without it each plan is drawn on its own (and may repeat). */
552
- readonly memory?: SampleMemory;
553
- /** Limiter priority when the sound has none. */
554
- readonly priority?: number;
555
- /** 0 (light) to 1 (heavy): picks the tier (see `SampleTier`). */
556
- readonly intensity?: number;
557
- };
558
- /**
559
- * Round-robin without repeat: a take drawn among all but the last one played. With one take it is always 0; without `last` any take may come.
560
- * One random number per call.
561
- */
562
- declare function pickTake(count: number, last: number | undefined, random: () => number): number;
563
- /** 0 at or below `from`, 1 at or beyond `to`, linear between. */
564
- declare function farMixAt(crossover: SampleCrossover, distance: number): number;
565
- /** Equal-power gains of the near and far layers for a far mix (so the crossover has no dip in loudness). */
566
- declare function crossGains(farMix: number): {
567
- readonly close: number;
568
- readonly far: number;
569
- };
570
- /** The distance lowpass, closed further behind a wall (an occluded sound loses its highs first). */
571
- declare function sampleCutoff(cutoffK: number, distance: number, occlusion?: number): number;
572
- /** Every file a sound may play (to load before its first play). */
573
- declare function sampleUrls(sound: SampleSound): string[];
574
- /** The tier for an intensity: the last whose `from` is at or below it. */
575
- declare function tierFor(sound: SampleSound, intensity: number | undefined): SampleTier | undefined;
576
- /**
577
- * The plan of one play, or `null` when the sound is too far to be heard. Random numbers, in order: the pitch, the near take, the far take, the
578
- * tail take (each drawn only when that layer has more than zero takes and is heard).
579
- */
580
- declare function planSample(sound: SampleSound, input: SamplePlanInput): SamplePlan | null;
581
-
582
230
  /**
583
231
  * Decoded sample buffers by url. Files load once (concurrent asks share the same promise), decode on the engine's context and stay until `clear`.
584
232
  * The bytes come from a `SampleLoader`: `fetch` by default, or anything else (a single-file page passes the files inlined as base64).
@@ -660,35 +308,6 @@ declare function resolveMix(mix: string | MixProfile, profiles?: Readonly<Record
660
308
  /** The gain a bus plays at: 0 when muted, its gain (default 1) otherwise. */
661
309
  declare function busGain(setting: BusSetting | undefined): number;
662
310
 
663
- type DeepPartial<TValue> = TValue extends readonly unknown[] ? TValue : TValue extends object ? {
664
- readonly [Key in keyof TValue]?: DeepPartial<TValue[Key]>;
665
- } : TValue;
666
- /** Every sound and loop the engine knows, by id. Banks register in order; a later bank replaces an earlier recipe with the same id. */
667
- type SoundRegistry = {
668
- register(bank: SoundBank): void;
669
- /** Merged into the recipe by id (objects merge, arrays such as `layers` are replaced); an unknown id is ignored. */
670
- patch(id: string, patch: DeepPartial<SoundRecipe> | DeepPartial<LoopRecipe> | DeepPartial<SampleSound>): void;
671
- remove(id: string): void;
672
- /** Drops only the sample sound of an id; a recipe or loop of the same id stays. */
673
- removeSample(id: string): void;
674
- sound(id: string): SoundRecipe | undefined;
675
- loop(id: string): LoopRecipe | undefined;
676
- /** The set an id names (`SoundBank.sets`), if any; a recipe with the same id wins in `play`. */
677
- set(id: string): SoundSet | undefined;
678
- /** The sample sound of an id: its own, or the takes of the sound a bank's `sampleAliases` points it at (once that one is registered). */
679
- sample(id: string): SampleSound | undefined;
680
- soundIds(): string[];
681
- setIds(): string[];
682
- loopIds(): string[];
683
- /** Every id `sample` answers, aliases whose file is registered included. */
684
- sampleIds(): string[];
685
- /** Which bank each id came from. */
686
- bankOf(id: string): string | undefined;
687
- };
688
- /** The sample an alias names: the file's takes and numbers, with the alias's id and its own numbers; the recipe of the alias id is the fallback. */
689
- declare function aliasSample(alias: SampleAlias, file: SampleSound): SampleSound;
690
- declare function createSoundRegistry(banks?: readonly SoundBank[]): SoundRegistry;
691
-
692
311
  /**
693
312
  * Rules for a group of voices (`undead_voice`...). A request passes when every rule passes:
694
313
  * - `maxConcurrent`: at most this many of the group play at once (`steal` replaces the group's oldest instead of refusing);
@@ -901,7 +520,10 @@ type AudioEngine = {
901
520
  plan(id: string, options?: PlayOptions): SoundPlan | null;
902
521
  /** Pure: the plan a sample sound would play with (no round-robin memory), from `options.seed` or the engine seed. */
903
522
  planSample(id: string, options?: PlayOptions): SamplePlan | null;
904
- /** Loads the files of these sample sounds (default all registered). Creates the context; resolves when every file is decoded or failed. */
523
+ /**
524
+ * Loads the files of these sample sounds (default all registered). Creates the context; resolves when every file is decoded or failed. An id named
525
+ * here that has no files yet (its manifest not registered) loads as soon as a bank that resolves it registers.
526
+ */
905
527
  loadSamples(ids?: readonly string[]): Promise<SampleLoadReport>;
906
528
  /** `ready` when every file of the sound is decoded. */
907
529
  sampleStatus(id: string): SampleStatus;
@@ -1293,4 +915,4 @@ type AudioBenchText = {
1293
915
  };
1294
916
  declare const audioBenchTextOf: (locale: string) => AudioBenchText;
1295
917
 
1296
- export { type FilterSpec as $, type AudioEngine as A, type BusId as B, type BusSetting as C, type DistanceMode as D, CRITERIA as E, type Falloff as F, CRITERIA_TARGETS as G, type CriterionId as H, type CriterionResult as I, type Curve as J, DEFAULT_CROSSOVER as K, type LoopRecipe as L, type MixProfile as M, DEFAULT_LISTENER as N, DEFAULT_MAX_VOICES as O, type ParamRef as P, DEFAULT_MIX as Q, type Range as R, type SampleSound as S, DEFAULT_SAMPLE_CUTOFF_K as T, DEFAULT_SAMPLE_FALLOFF as U, DEFAULT_SAMPLE_PITCH as V, DEFAULT_TAIL_GAIN as W, type DeepPartial as X, type Envelope as Y, type EnvelopePoint as Z, type FilterBank as _, type SampleLoader as a, USER_SOUND_PREFIX as a$, type FormantVoiceSource as a0, KIT_SAMPLES_BANK as a1, LAYER_FLOOR as a2, type LayerSource as a3, type LoadUserSamplesOptions as a4, type LoopOrder as a5, type LoopSet as a6, MIX_PROFILES as a7, type MeasureOptions as a8, type Modulator as a9, type SampleEnvironment as aA, type SampleLayerRole as aB, type SampleLoadReport as aC, type SampleMemory as aD, type SampleOptions as aE, type SamplePlanInput as aF, type SampleRef as aG, type SampleStatus as aH, type SampleStore as aI, type SampleTail as aJ, type SampleTier as aK, type SdkLicense as aL, type SfxBlow as aM, type SfxCategory as aN, type SfxEntry as aO, type SfxFileEntry as aP, type SfxLayer as aQ, type SfxManifestLike as aR, type SfxManifestSound as aS, type SfxMaterial as aT, type SfxPriority as aU, type SfxState as aV, type SoundRegistry as aW, type SoundSource as aX, type StartQueueOptions as aY, type Time as aZ, USER_SAMPLES_BANK as a_, type NoiseSource as aa, OPEN_CUTOFF as ab, type OscSource as ac, PAN_LIMIT as ad, PAN_MIN_DISTANCE as ae, type PlanInput as af, type PlannedAutomation as ag, type PlannedEnvelopePoint as ah, type PlannedFilter as ai, type PlannedLayer as aj, type PlannedModulator as ak, type PlannedSampleLayer as al, type PlannedSource as am, type PlayOptions as an, SAMPLE_ENVIRONMENTS as ao, SDK_LICENSES as ap, SFX_BLOWS as aq, SFX_CATALOG as ar, SFX_CATEGORIES as as, SFX_IMPACTS as at, SFX_LAYERS as au, SFX_MATERIALS as av, SFX_TIERS as aw, type SampleAlias as ax, type SampleBankOptions as ay, type SampleCrossover as az, type SfxManifest as b, type UserSampleBankOptions as b0, type UserSampleBankResult as b1, type UserSfxFile as b2, type UserSfxManifest as b3, type UserSfxSound as b4, type UserSoundPick as b5, type UserSoundPicks as b6, type UserSoundRole as b7, VOICE_GROUPS as b8, type VoiceDecision as b9, panFor as bA, parseSfxName as bB, pickTake as bC, planSample as bD, planSound as bE, recordOutput as bF, resolveMix as bG, sampleBankFromManifest as bH, sampleCutoff as bI, sampleUrls as bJ, sfxState as bK, soundSourceOf as bL, splitTier as bM, tierFor as bN, userSampleBank as bO, type VoiceGroup as ba, type VoiceHandle as bb, type VoiceManager as bc, type VoiceManagerOptions as bd, type VoiceRefusal as be, type VoiceRequest as bf, type VoiceStartEvent as bg, type VoiceStats as bh, aliasSample as bi, audioBenchTextOf as bj, busGain as bk, busPriority as bl, createAudioEngine as bm, createAudioTestModule as bn, createSampleStore as bo, createSoundRegistry as bp, createVoiceManager as bq, crossGains as br, farMixAt as bs, fetchLoader as bt, impactSoundId as bu, inlineLoader as bv, limiterCurve as bw, listenerDistance as bx, loadUserSamples as by, measureCriteria as bz, type SoundBank as c, type SampleDefaults as d, type SoundRecipe as e, type Layer as f, type SoundSet as g, type SoundPlan as h, type SamplePlan as i, type AudioLoopHandle as j, type LoopEntry as k, type Listener as l, type ActionCheck as m, type AudioBenchText as n, type AudioChannel as o, type AudioEngineOptions as p, type AudioScenarioLike as q, type AudioStats as r, type AudioTestModule as s, type AudioTestModuleOptions as t, type Automation as u, BENCH_BANK as v, BUILD_ORDERS as w, BUS_IDS as x, BUS_PRIORITY as y, type BuildOrder as z };
918
+ export { SDK_LICENSES as $, type AudioEngine as A, BENCH_BANK as B, CRITERIA as C, type DistanceMode as D, DEFAULT_TAIL_GAIN as E, LAYER_FLOOR as F, type LoadUserSamplesOptions as G, type LoopSet as H, MIX_PROFILES as I, type MeasureOptions as J, KIT_SAMPLES_BANK as K, type LoopEntry as L, type MixProfile as M, PAN_MIN_DISTANCE as N, OPEN_CUTOFF as O, PAN_LIMIT as P, type PlanInput as Q, type PlannedAutomation as R, type SampleLoader as S, type PlannedEnvelopePoint as T, type PlannedFilter as U, type PlannedLayer as V, type PlannedModulator as W, type PlannedSampleLayer as X, type PlannedSource as Y, type PlayOptions as Z, SAMPLE_ENVIRONMENTS as _, type SfxManifest as a, measureCriteria as a$, SFX_BLOWS as a0, SFX_CATALOG as a1, SFX_CATEGORIES as a2, SFX_IMPACTS as a3, SFX_LAYERS as a4, SFX_MATERIALS as a5, SFX_TIERS as a6, type SampleBankOptions as a7, type SampleLayerRole as a8, type SampleLoadReport as a9, type UserSoundPicks as aA, type UserSoundRole as aB, VOICE_GROUPS as aC, type VoiceDecision as aD, type VoiceGroup as aE, type VoiceHandle as aF, type VoiceManager as aG, type VoiceManagerOptions as aH, type VoiceRefusal as aI, type VoiceRequest as aJ, type VoiceStartEvent as aK, type VoiceStats as aL, audioBenchTextOf as aM, busGain as aN, busPriority as aO, createAudioEngine as aP, createAudioTestModule as aQ, createSampleStore as aR, createVoiceManager as aS, crossGains as aT, farMixAt as aU, fetchLoader as aV, impactSoundId as aW, inlineLoader as aX, limiterCurve as aY, listenerDistance as aZ, loadUserSamples as a_, type SampleMemory as aa, type SampleOptions as ab, type SamplePlanInput as ac, type SampleStatus as ad, type SampleStore as ae, type SdkLicense as af, type SfxBlow as ag, type SfxCategory as ah, type SfxEntry as ai, type SfxFileEntry as aj, type SfxLayer as ak, type SfxManifestLike as al, type SfxManifestSound as am, type SfxMaterial as an, type SfxPriority as ao, type SfxState as ap, type SoundSource as aq, type StartQueueOptions as ar, USER_SAMPLES_BANK as as, USER_SOUND_PREFIX as at, type UserSampleBankOptions as au, type UserSampleBankResult as av, type UserSfxFile as aw, type UserSfxManifest as ax, type UserSfxSound as ay, type UserSoundPick as az, type SampleDefaults as b, panFor as b0, parseSfxName as b1, pickTake as b2, planSample as b3, planSound as b4, recordOutput as b5, resolveMix as b6, sampleBankFromManifest as b7, sampleCutoff as b8, sampleUrls as b9, sfxState as ba, soundSourceOf as bb, splitTier as bc, tierFor as bd, userSampleBank as be, type SoundPlan as c, type SamplePlan as d, type AudioLoopHandle as e, type Listener as f, type ActionCheck as g, type AudioBenchText as h, type AudioChannel as i, type AudioEngineOptions as j, type AudioScenarioLike as k, type AudioStats as l, type AudioTestModule as m, type AudioTestModuleOptions as n, BUS_PRIORITY as o, type BusSetting as p, CRITERIA_TARGETS as q, type CriterionId as r, type CriterionResult as s, DEFAULT_CROSSOVER as t, DEFAULT_LISTENER as u, DEFAULT_MAX_VOICES as v, DEFAULT_MIX as w, DEFAULT_SAMPLE_CUTOFF_K as x, DEFAULT_SAMPLE_FALLOFF as y, DEFAULT_SAMPLE_PITCH as z };