@adatechnology/game-audio 0.7.0 → 0.8.0

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 (1064) hide show
  1. package/README.md +44 -1
  2. package/assets/sfx/CREDITOS.md +2 -2
  3. package/dist/{chunk-BXUGSOPY.js → chunk-C2K7XN2K.js} +227 -25
  4. package/dist/chunk-C2K7XN2K.js.map +1 -0
  5. package/dist/index.d.ts +113 -3
  6. package/dist/index.global.js +539 -199
  7. package/dist/index.global.js.map +1 -1
  8. package/dist/index.js +179 -8
  9. package/dist/index.js.map +1 -1
  10. package/dist/{locale-CJfDpWnI.d.ts → locale-BJMhMT0G.d.ts} +47 -1
  11. package/dist/testing.d.ts +4 -4
  12. package/dist/testing.js +1 -1
  13. package/package.json +2 -2
  14. package/assets/sfx/ambiente/ambience_city_day_01.ogg +0 -0
  15. package/assets/sfx/ambiente/ambience_city_day_02.ogg +0 -0
  16. package/assets/sfx/ambiente/ambience_construction_01.ogg +0 -0
  17. package/assets/sfx/ambiente/ambience_night_01.ogg +0 -0
  18. package/assets/sfx/ambiente/ambience_room_tone_01.ogg +0 -0
  19. package/assets/sfx/ambiente/ambience_room_tone_02.ogg +0 -0
  20. package/assets/sfx/ambiente/ambience_rural_day_01.ogg +0 -0
  21. package/assets/sfx/ambiente/ambience_rural_day_02.ogg +0 -0
  22. package/assets/sfx/ambiente/rain_loop_01.ogg +0 -0
  23. package/assets/sfx/ambiente/water_river_loop_01.ogg +0 -0
  24. package/assets/sfx/ambiente/water_river_loop_02.ogg +0 -0
  25. package/assets/sfx/ambiente/water_river_loop_03.ogg +0 -0
  26. package/assets/sfx/ambiente/water_splash_01.ogg +0 -0
  27. package/assets/sfx/ambiente/water_splash_02.ogg +0 -0
  28. package/assets/sfx/ambiente/water_splash_03.ogg +0 -0
  29. package/assets/sfx/ambiente/water_splash_04.ogg +0 -0
  30. package/assets/sfx/ambiente/water_splash_05.ogg +0 -0
  31. package/assets/sfx/ambiente/water_splash_06.ogg +0 -0
  32. package/assets/sfx/ambiente/water_splash_07.ogg +0 -0
  33. package/assets/sfx/ambiente/water_splash_08.ogg +0 -0
  34. package/assets/sfx/ambiente/water_splash_09.ogg +0 -0
  35. package/assets/sfx/ambiente/water_splash_10.ogg +0 -0
  36. package/assets/sfx/ambiente/water_splash_11.ogg +0 -0
  37. package/assets/sfx/ambiente/water_splash_12.ogg +0 -0
  38. package/assets/sfx/ambiente/water_splash_13.ogg +0 -0
  39. package/assets/sfx/ambiente/water_splash_14.ogg +0 -0
  40. package/assets/sfx/ambiente/water_splash_15.ogg +0 -0
  41. package/assets/sfx/armas/bolt_lift_medium_01.ogg +0 -0
  42. package/assets/sfx/armas/bolt_lift_medium_02.ogg +0 -0
  43. package/assets/sfx/armas/bolt_lift_medium_03.ogg +0 -0
  44. package/assets/sfx/armas/bolt_lift_medium_04.ogg +0 -0
  45. package/assets/sfx/armas/bolt_lift_medium_05.ogg +0 -0
  46. package/assets/sfx/armas/bolt_lock_medium_01.ogg +0 -0
  47. package/assets/sfx/armas/bolt_lock_medium_02.ogg +0 -0
  48. package/assets/sfx/armas/bolt_lock_medium_03.ogg +0 -0
  49. package/assets/sfx/armas/bolt_lock_medium_04.ogg +0 -0
  50. package/assets/sfx/armas/bolt_lock_medium_05.ogg +0 -0
  51. package/assets/sfx/armas/bolt_pull_heavy_01.ogg +0 -0
  52. package/assets/sfx/armas/bolt_pull_medium_01.ogg +0 -0
  53. package/assets/sfx/armas/bolt_pull_medium_02.ogg +0 -0
  54. package/assets/sfx/armas/bolt_pull_medium_03.ogg +0 -0
  55. package/assets/sfx/armas/bolt_pull_medium_04.ogg +0 -0
  56. package/assets/sfx/armas/bolt_pull_medium_05.ogg +0 -0
  57. package/assets/sfx/armas/bolt_pull_medium_06.ogg +0 -0
  58. package/assets/sfx/armas/bolt_push_heavy_01.ogg +0 -0
  59. package/assets/sfx/armas/bolt_push_medium_01.ogg +0 -0
  60. package/assets/sfx/armas/bolt_push_medium_02.ogg +0 -0
  61. package/assets/sfx/armas/bolt_push_medium_03.ogg +0 -0
  62. package/assets/sfx/armas/bolt_push_medium_04.ogg +0 -0
  63. package/assets/sfx/armas/bolt_push_medium_05.ogg +0 -0
  64. package/assets/sfx/armas/bolt_push_medium_06.ogg +0 -0
  65. package/assets/sfx/armas/casing_drop_concreto_01.ogg +0 -0
  66. package/assets/sfx/armas/casing_drop_concreto_02.ogg +0 -0
  67. package/assets/sfx/armas/casing_drop_concreto_03.ogg +0 -0
  68. package/assets/sfx/armas/casing_drop_metal_01.ogg +0 -0
  69. package/assets/sfx/armas/casing_drop_metal_02.ogg +0 -0
  70. package/assets/sfx/armas/casing_drop_metal_03.ogg +0 -0
  71. package/assets/sfx/armas/casing_drop_terra_01.ogg +0 -0
  72. package/assets/sfx/armas/casing_drop_terra_02.ogg +0 -0
  73. package/assets/sfx/armas/casing_drop_terra_03.ogg +0 -0
  74. package/assets/sfx/armas/charging_handle_pull_light_01.ogg +0 -0
  75. package/assets/sfx/armas/charging_handle_pull_light_02.ogg +0 -0
  76. package/assets/sfx/armas/charging_handle_pull_light_03.ogg +0 -0
  77. package/assets/sfx/armas/charging_handle_pull_light_04.ogg +0 -0
  78. package/assets/sfx/armas/charging_handle_pull_medium_01.ogg +0 -0
  79. package/assets/sfx/armas/charging_handle_pull_medium_02.ogg +0 -0
  80. package/assets/sfx/armas/charging_handle_pull_medium_03.ogg +0 -0
  81. package/assets/sfx/armas/charging_handle_pull_medium_04.ogg +0 -0
  82. package/assets/sfx/armas/charging_handle_pull_medium_05.ogg +0 -0
  83. package/assets/sfx/armas/charging_handle_release_medium_01.ogg +0 -0
  84. package/assets/sfx/armas/charging_handle_release_medium_02.ogg +0 -0
  85. package/assets/sfx/armas/charging_handle_release_medium_03.ogg +0 -0
  86. package/assets/sfx/armas/charging_handle_release_medium_04.ogg +0 -0
  87. package/assets/sfx/armas/charging_handle_release_medium_05.ogg +0 -0
  88. package/assets/sfx/armas/cylinder_close_light_01.ogg +0 -0
  89. package/assets/sfx/armas/cylinder_close_light_02.ogg +0 -0
  90. package/assets/sfx/armas/cylinder_close_light_03.ogg +0 -0
  91. package/assets/sfx/armas/cylinder_close_light_04.ogg +0 -0
  92. package/assets/sfx/armas/cylinder_close_light_05.ogg +0 -0
  93. package/assets/sfx/armas/cylinder_eject_light_01.ogg +0 -0
  94. package/assets/sfx/armas/cylinder_eject_light_02.ogg +0 -0
  95. package/assets/sfx/armas/cylinder_eject_light_03.ogg +0 -0
  96. package/assets/sfx/armas/cylinder_open_light_01.ogg +0 -0
  97. package/assets/sfx/armas/cylinder_open_light_02.ogg +0 -0
  98. package/assets/sfx/armas/cylinder_open_light_03.ogg +0 -0
  99. package/assets/sfx/armas/cylinder_open_light_04.ogg +0 -0
  100. package/assets/sfx/armas/cylinder_open_light_05.ogg +0 -0
  101. package/assets/sfx/armas/lever_close_medium_01.ogg +0 -0
  102. package/assets/sfx/armas/lever_close_medium_02.ogg +0 -0
  103. package/assets/sfx/armas/lever_open_medium_01.ogg +0 -0
  104. package/assets/sfx/armas/lever_open_medium_02.ogg +0 -0
  105. package/assets/sfx/armas/mag_out_heavy_01.ogg +0 -0
  106. package/assets/sfx/armas/mag_out_heavy_02.ogg +0 -0
  107. package/assets/sfx/armas/mag_out_light_01.ogg +0 -0
  108. package/assets/sfx/armas/mag_out_light_02.ogg +0 -0
  109. package/assets/sfx/armas/mag_out_light_03.ogg +0 -0
  110. package/assets/sfx/armas/mag_out_light_04.ogg +0 -0
  111. package/assets/sfx/armas/mag_out_medium_01.ogg +0 -0
  112. package/assets/sfx/armas/mag_out_medium_02.ogg +0 -0
  113. package/assets/sfx/armas/mag_out_medium_03.ogg +0 -0
  114. package/assets/sfx/armas/mag_seat_heavy_01.ogg +0 -0
  115. package/assets/sfx/armas/mag_seat_heavy_02.ogg +0 -0
  116. package/assets/sfx/armas/mag_seat_light_01.ogg +0 -0
  117. package/assets/sfx/armas/mag_seat_light_02.ogg +0 -0
  118. package/assets/sfx/armas/mag_seat_light_03.ogg +0 -0
  119. package/assets/sfx/armas/mag_seat_light_04.ogg +0 -0
  120. package/assets/sfx/armas/mag_seat_light_05.ogg +0 -0
  121. package/assets/sfx/armas/mag_seat_light_06.ogg +0 -0
  122. package/assets/sfx/armas/mag_seat_medium_01.ogg +0 -0
  123. package/assets/sfx/armas/mag_seat_medium_02.ogg +0 -0
  124. package/assets/sfx/armas/mag_seat_medium_03.ogg +0 -0
  125. package/assets/sfx/armas/pistol_22lr_close_01.ogg +0 -0
  126. package/assets/sfx/armas/pistol_22lr_close_02.ogg +0 -0
  127. package/assets/sfx/armas/pistol_22lr_far_01.ogg +0 -0
  128. package/assets/sfx/armas/pistol_22lr_far_02.ogg +0 -0
  129. package/assets/sfx/armas/pistol_22lr_far_03.ogg +0 -0
  130. package/assets/sfx/armas/pistol_22lr_far_04.ogg +0 -0
  131. package/assets/sfx/armas/pistol_45_close_01.ogg +0 -0
  132. package/assets/sfx/armas/pistol_45_close_02.ogg +0 -0
  133. package/assets/sfx/armas/pistol_45_close_03.ogg +0 -0
  134. package/assets/sfx/armas/pistol_45_close_04.ogg +0 -0
  135. package/assets/sfx/armas/pistol_45_close_05.ogg +0 -0
  136. package/assets/sfx/armas/pistol_45_far_01.ogg +0 -0
  137. package/assets/sfx/armas/pistol_45_far_02.ogg +0 -0
  138. package/assets/sfx/armas/pistol_45_far_03.ogg +0 -0
  139. package/assets/sfx/armas/pistol_45_far_04.ogg +0 -0
  140. package/assets/sfx/armas/pistol_9mm_close_01.ogg +0 -0
  141. package/assets/sfx/armas/pistol_9mm_close_02.ogg +0 -0
  142. package/assets/sfx/armas/pistol_9mm_close_03.ogg +0 -0
  143. package/assets/sfx/armas/pistol_9mm_close_04.ogg +0 -0
  144. package/assets/sfx/armas/pistol_9mm_close_05.ogg +0 -0
  145. package/assets/sfx/armas/pistol_9mm_close_06.ogg +0 -0
  146. package/assets/sfx/armas/pistol_9mm_far_01.ogg +0 -0
  147. package/assets/sfx/armas/pistol_9mm_far_02.ogg +0 -0
  148. package/assets/sfx/armas/pistol_9mm_far_03.ogg +0 -0
  149. package/assets/sfx/armas/pistol_9mm_far_04.ogg +0 -0
  150. package/assets/sfx/armas/pump_back_heavy_01.ogg +0 -0
  151. package/assets/sfx/armas/pump_back_heavy_02.ogg +0 -0
  152. package/assets/sfx/armas/pump_back_heavy_03.ogg +0 -0
  153. package/assets/sfx/armas/pump_back_heavy_04.ogg +0 -0
  154. package/assets/sfx/armas/pump_back_heavy_05.ogg +0 -0
  155. package/assets/sfx/armas/pump_forward_heavy_01.ogg +0 -0
  156. package/assets/sfx/armas/pump_forward_heavy_02.ogg +0 -0
  157. package/assets/sfx/armas/pump_forward_heavy_03.ogg +0 -0
  158. package/assets/sfx/armas/revolver_38_357_close_01.ogg +0 -0
  159. package/assets/sfx/armas/revolver_38_357_close_02.ogg +0 -0
  160. package/assets/sfx/armas/revolver_38_357_close_03.ogg +0 -0
  161. package/assets/sfx/armas/revolver_38_357_close_04.ogg +0 -0
  162. package/assets/sfx/armas/revolver_38_357_far_01.ogg +0 -0
  163. package/assets/sfx/armas/revolver_38_357_far_02.ogg +0 -0
  164. package/assets/sfx/armas/revolver_38_357_far_03.ogg +0 -0
  165. package/assets/sfx/armas/revolver_38_357_far_04.ogg +0 -0
  166. package/assets/sfx/armas/rifle_308_3006_close_01.ogg +0 -0
  167. package/assets/sfx/armas/rifle_308_3006_close_02.ogg +0 -0
  168. package/assets/sfx/armas/rifle_308_3006_close_03.ogg +0 -0
  169. package/assets/sfx/armas/rifle_308_3006_close_04.ogg +0 -0
  170. package/assets/sfx/armas/rifle_308_3006_close_05.ogg +0 -0
  171. package/assets/sfx/armas/rifle_308_3006_close_06.ogg +0 -0
  172. package/assets/sfx/armas/rifle_308_3006_far_01.ogg +0 -0
  173. package/assets/sfx/armas/rifle_308_3006_far_02.ogg +0 -0
  174. package/assets/sfx/armas/rifle_308_3006_far_03.ogg +0 -0
  175. package/assets/sfx/armas/rifle_308_3006_far_04.ogg +0 -0
  176. package/assets/sfx/armas/rifle_308_3006_far_05.ogg +0 -0
  177. package/assets/sfx/armas/rifle_308_3006_far_06.ogg +0 -0
  178. package/assets/sfx/armas/rifle_5_56_close_01.ogg +0 -0
  179. package/assets/sfx/armas/rifle_5_56_close_02.ogg +0 -0
  180. package/assets/sfx/armas/rifle_5_56_close_03.ogg +0 -0
  181. package/assets/sfx/armas/rifle_5_56_close_04.ogg +0 -0
  182. package/assets/sfx/armas/rifle_5_56_close_05.ogg +0 -0
  183. package/assets/sfx/armas/rifle_5_56_far_01.ogg +0 -0
  184. package/assets/sfx/armas/rifle_5_56_far_02.ogg +0 -0
  185. package/assets/sfx/armas/rifle_5_56_far_03.ogg +0 -0
  186. package/assets/sfx/armas/rifle_5_56_far_04.ogg +0 -0
  187. package/assets/sfx/armas/rifle_7_62x39_close_01.ogg +0 -0
  188. package/assets/sfx/armas/rifle_7_62x39_close_02.ogg +0 -0
  189. package/assets/sfx/armas/rifle_7_62x39_close_03.ogg +0 -0
  190. package/assets/sfx/armas/rifle_7_62x39_close_04.ogg +0 -0
  191. package/assets/sfx/armas/rifle_7_62x39_close_05.ogg +0 -0
  192. package/assets/sfx/armas/rifle_7_62x39_close_06.ogg +0 -0
  193. package/assets/sfx/armas/rifle_7_62x39_close_07.ogg +0 -0
  194. package/assets/sfx/armas/rifle_7_62x39_close_08.ogg +0 -0
  195. package/assets/sfx/armas/rifle_7_62x39_close_09.ogg +0 -0
  196. package/assets/sfx/armas/rifle_7_62x39_close_10.ogg +0 -0
  197. package/assets/sfx/armas/rifle_7_62x39_close_11.ogg +0 -0
  198. package/assets/sfx/armas/rifle_7_62x39_close_12.ogg +0 -0
  199. package/assets/sfx/armas/rifle_7_62x39_far_01.ogg +0 -0
  200. package/assets/sfx/armas/rifle_7_62x39_far_02.ogg +0 -0
  201. package/assets/sfx/armas/rifle_7_62x39_far_03.ogg +0 -0
  202. package/assets/sfx/armas/shell_insert_heavy_01.ogg +0 -0
  203. package/assets/sfx/armas/shell_insert_heavy_02.ogg +0 -0
  204. package/assets/sfx/armas/shell_insert_heavy_03.ogg +0 -0
  205. package/assets/sfx/armas/shell_insert_heavy_04.ogg +0 -0
  206. package/assets/sfx/armas/shell_insert_heavy_05.ogg +0 -0
  207. package/assets/sfx/armas/shell_insert_heavy_06.ogg +0 -0
  208. package/assets/sfx/armas/shell_insert_heavy_07.ogg +0 -0
  209. package/assets/sfx/armas/shell_insert_heavy_08.ogg +0 -0
  210. package/assets/sfx/armas/shell_insert_heavy_09.ogg +0 -0
  211. package/assets/sfx/armas/shotgun_12_close_01.ogg +0 -0
  212. package/assets/sfx/armas/shotgun_12_close_02.ogg +0 -0
  213. package/assets/sfx/armas/shotgun_12_close_03.ogg +0 -0
  214. package/assets/sfx/armas/shotgun_12_close_04.ogg +0 -0
  215. package/assets/sfx/armas/shotgun_12_close_05.ogg +0 -0
  216. package/assets/sfx/armas/shotgun_12_close_06.ogg +0 -0
  217. package/assets/sfx/armas/shotgun_12_far_01.ogg +0 -0
  218. package/assets/sfx/armas/shotgun_12_far_02.ogg +0 -0
  219. package/assets/sfx/armas/shotgun_12_far_03.ogg +0 -0
  220. package/assets/sfx/armas/shotgun_12_far_04.ogg +0 -0
  221. package/assets/sfx/armas/shotgun_12_far_05.ogg +0 -0
  222. package/assets/sfx/armas/shotgun_12_far_06.ogg +0 -0
  223. package/assets/sfx/armas/slide_release_light_01.ogg +0 -0
  224. package/assets/sfx/armas/slide_release_light_02.ogg +0 -0
  225. package/assets/sfx/armas/slide_release_light_03.ogg +0 -0
  226. package/assets/sfx/armas/slide_release_light_04.ogg +0 -0
  227. package/assets/sfx/armas/slide_release_light_05.ogg +0 -0
  228. package/assets/sfx/armas/slide_release_light_06.ogg +0 -0
  229. package/assets/sfx/armas/slide_release_medium_01.ogg +0 -0
  230. package/assets/sfx/armas/slide_release_medium_02.ogg +0 -0
  231. package/assets/sfx/armas/slide_release_medium_03.ogg +0 -0
  232. package/assets/sfx/armas/slide_release_medium_04.ogg +0 -0
  233. package/assets/sfx/armas/sniper_338_300wm_close_01.ogg +0 -0
  234. package/assets/sfx/armas/sniper_338_300wm_close_02.ogg +0 -0
  235. package/assets/sfx/armas/sniper_338_300wm_close_03.ogg +0 -0
  236. package/assets/sfx/armas/sniper_338_300wm_close_04.ogg +0 -0
  237. package/assets/sfx/armas/sniper_338_300wm_close_05.ogg +0 -0
  238. package/assets/sfx/armas/sniper_338_300wm_close_06.ogg +0 -0
  239. package/assets/sfx/armas/sniper_338_300wm_close_07.ogg +0 -0
  240. package/assets/sfx/armas/sniper_338_300wm_far_01.ogg +0 -0
  241. package/assets/sfx/armas/sniper_338_300wm_far_02.ogg +0 -0
  242. package/assets/sfx/armas/sniper_338_300wm_far_03.ogg +0 -0
  243. package/assets/sfx/armas/sniper_338_300wm_far_04.ogg +0 -0
  244. package/assets/sfx/armas/sniper_338_300wm_far_05.ogg +0 -0
  245. package/assets/sfx/armas/sniper_338_300wm_far_06.ogg +0 -0
  246. package/assets/sfx/armas/speedloader_light_01.ogg +0 -0
  247. package/assets/sfx/armas/speedloader_light_02.ogg +0 -0
  248. package/assets/sfx/armas/speedloader_light_03.ogg +0 -0
  249. package/assets/sfx/armas/speedloader_light_04.ogg +0 -0
  250. package/assets/sfx/armas/speedloader_light_05.ogg +0 -0
  251. package/assets/sfx/armas/speedloader_light_06.ogg +0 -0
  252. package/assets/sfx/armas/speedloader_light_07.ogg +0 -0
  253. package/assets/sfx/armas/speedloader_light_08.ogg +0 -0
  254. package/assets/sfx/armas/suppressed_pistol_close_01.ogg +0 -0
  255. package/assets/sfx/armas/suppressed_pistol_close_02.ogg +0 -0
  256. package/assets/sfx/armas/suppressed_pistol_close_03.ogg +0 -0
  257. package/assets/sfx/armas/suppressed_pistol_close_04.ogg +0 -0
  258. package/assets/sfx/armas/suppressed_pistol_close_05.ogg +0 -0
  259. package/assets/sfx/armas/suppressed_pistol_far_01.ogg +0 -0
  260. package/assets/sfx/armas/suppressed_pistol_far_02.ogg +0 -0
  261. package/assets/sfx/armas/suppressed_pistol_far_03.ogg +0 -0
  262. package/assets/sfx/armas/suppressed_pistol_far_04.ogg +0 -0
  263. package/assets/sfx/armas/suppressed_pistol_far_05.ogg +0 -0
  264. package/assets/sfx/armas/suppressed_rifle_close_01.ogg +0 -0
  265. package/assets/sfx/armas/suppressed_rifle_close_02.ogg +0 -0
  266. package/assets/sfx/armas/suppressed_rifle_close_03.ogg +0 -0
  267. package/assets/sfx/armas/suppressed_rifle_close_04.ogg +0 -0
  268. package/assets/sfx/armas/suppressed_rifle_far_01.ogg +0 -0
  269. package/assets/sfx/armas/suppressed_rifle_far_02.ogg +0 -0
  270. package/assets/sfx/armas/suppressed_rifle_far_03.ogg +0 -0
  271. package/assets/sfx/armas/suppressed_rifle_far_04.ogg +0 -0
  272. package/assets/sfx/explosoes-fogo/debris_rain_mixed_01.ogg +0 -0
  273. package/assets/sfx/explosoes-fogo/debris_rain_mixed_02.ogg +0 -0
  274. package/assets/sfx/explosoes-fogo/debris_rain_mixed_03.ogg +0 -0
  275. package/assets/sfx/explosoes-fogo/debris_rain_mixed_04.ogg +0 -0
  276. package/assets/sfx/explosoes-fogo/debris_rain_mixed_05.ogg +0 -0
  277. package/assets/sfx/explosoes-fogo/debris_rain_mixed_06.ogg +0 -0
  278. package/assets/sfx/explosoes-fogo/debris_rain_mixed_07.ogg +0 -0
  279. package/assets/sfx/explosoes-fogo/debris_rain_stone_01.ogg +0 -0
  280. package/assets/sfx/explosoes-fogo/debris_rain_stone_02.ogg +0 -0
  281. package/assets/sfx/explosoes-fogo/debris_rain_stone_03.ogg +0 -0
  282. package/assets/sfx/explosoes-fogo/debris_rain_stone_04.ogg +0 -0
  283. package/assets/sfx/explosoes-fogo/debris_rain_stone_05.ogg +0 -0
  284. package/assets/sfx/explosoes-fogo/debris_rain_stone_06.ogg +0 -0
  285. package/assets/sfx/explosoes-fogo/debris_rain_stone_07.ogg +0 -0
  286. package/assets/sfx/explosoes-fogo/debris_rain_stone_08.ogg +0 -0
  287. package/assets/sfx/explosoes-fogo/debris_rain_stone_09.ogg +0 -0
  288. package/assets/sfx/explosoes-fogo/explosion_big_01.ogg +0 -0
  289. package/assets/sfx/explosoes-fogo/explosion_big_02.ogg +0 -0
  290. package/assets/sfx/explosoes-fogo/explosion_big_03.ogg +0 -0
  291. package/assets/sfx/explosoes-fogo/explosion_big_04.ogg +0 -0
  292. package/assets/sfx/explosoes-fogo/explosion_big_05.ogg +0 -0
  293. package/assets/sfx/explosoes-fogo/explosion_car_01.ogg +0 -0
  294. package/assets/sfx/explosoes-fogo/explosion_car_02.ogg +0 -0
  295. package/assets/sfx/explosoes-fogo/explosion_car_03.ogg +0 -0
  296. package/assets/sfx/explosoes-fogo/explosion_car_04.ogg +0 -0
  297. package/assets/sfx/explosoes-fogo/explosion_far_close_01.ogg +0 -0
  298. package/assets/sfx/explosoes-fogo/explosion_far_close_02.ogg +0 -0
  299. package/assets/sfx/explosoes-fogo/explosion_far_close_03.ogg +0 -0
  300. package/assets/sfx/explosoes-fogo/explosion_far_close_04.ogg +0 -0
  301. package/assets/sfx/explosoes-fogo/explosion_flashbang_01.ogg +0 -0
  302. package/assets/sfx/explosoes-fogo/explosion_flashbang_02.ogg +0 -0
  303. package/assets/sfx/explosoes-fogo/explosion_grenade_01.ogg +0 -0
  304. package/assets/sfx/explosoes-fogo/explosion_grenade_02.ogg +0 -0
  305. package/assets/sfx/explosoes-fogo/explosion_grenade_03.ogg +0 -0
  306. package/assets/sfx/explosoes-fogo/explosion_grenade_04.ogg +0 -0
  307. package/assets/sfx/explosoes-fogo/explosion_grenade_05.ogg +0 -0
  308. package/assets/sfx/explosoes-fogo/explosion_grenade_06.ogg +0 -0
  309. package/assets/sfx/explosoes-fogo/explosion_small_bang_01.ogg +0 -0
  310. package/assets/sfx/explosoes-fogo/explosion_small_bang_02.ogg +0 -0
  311. package/assets/sfx/explosoes-fogo/explosion_small_bang_03.ogg +0 -0
  312. package/assets/sfx/explosoes-fogo/explosion_small_bang_04.ogg +0 -0
  313. package/assets/sfx/explosoes-fogo/explosion_small_bang_05.ogg +0 -0
  314. package/assets/sfx/explosoes-fogo/explosion_small_bang_06.ogg +0 -0
  315. package/assets/sfx/explosoes-fogo/explosion_small_bang_07.ogg +0 -0
  316. package/assets/sfx/explosoes-fogo/explosion_small_bang_08.ogg +0 -0
  317. package/assets/sfx/explosoes-fogo/explosion_small_bang_09.ogg +0 -0
  318. package/assets/sfx/explosoes-fogo/explosion_small_bang_10.ogg +0 -0
  319. package/assets/sfx/explosoes-fogo/fire_crackle_01.ogg +0 -0
  320. package/assets/sfx/explosoes-fogo/fire_crackle_02.ogg +0 -0
  321. package/assets/sfx/explosoes-fogo/fire_crackle_03.ogg +0 -0
  322. package/assets/sfx/explosoes-fogo/fire_crackle_05.ogg +0 -0
  323. package/assets/sfx/explosoes-fogo/fire_crackle_07.ogg +0 -0
  324. package/assets/sfx/explosoes-fogo/fire_extinguish_01.ogg +0 -0
  325. package/assets/sfx/explosoes-fogo/fire_extinguish_02.ogg +0 -0
  326. package/assets/sfx/explosoes-fogo/fire_ignite_01.ogg +0 -0
  327. package/assets/sfx/explosoes-fogo/fire_ignite_02.ogg +0 -0
  328. package/assets/sfx/explosoes-fogo/fire_ignite_03.ogg +0 -0
  329. package/assets/sfx/explosoes-fogo/fire_ignite_04.ogg +0 -0
  330. package/assets/sfx/explosoes-fogo/fire_loop_01.ogg +0 -0
  331. package/assets/sfx/explosoes-fogo/fire_loop_03.ogg +0 -0
  332. package/assets/sfx/explosoes-fogo/fire_loop_04.ogg +0 -0
  333. package/assets/sfx/explosoes-fogo/fire_loop_gas_01.ogg +0 -0
  334. package/assets/sfx/explosoes-fogo/fire_loop_gas_02.ogg +0 -0
  335. package/assets/sfx/explosoes-fogo/fire_loop_gas_03.ogg +0 -0
  336. package/assets/sfx/explosoes-fogo/fire_loop_gas_04.ogg +0 -0
  337. package/assets/sfx/explosoes-fogo/fire_loop_liquid_01.ogg +0 -0
  338. package/assets/sfx/explosoes-fogo/fire_loop_liquid_02.ogg +0 -0
  339. package/assets/sfx/explosoes-fogo/fire_loop_liquid_03.ogg +0 -0
  340. package/assets/sfx/explosoes-fogo/fire_loop_plastic_01.ogg +0 -0
  341. package/assets/sfx/explosoes-fogo/fire_loop_plastic_02.ogg +0 -0
  342. package/assets/sfx/explosoes-fogo/fire_loop_plastic_03.ogg +0 -0
  343. package/assets/sfx/explosoes-fogo/fire_loop_plastic_04.ogg +0 -0
  344. package/assets/sfx/explosoes-fogo/fire_loop_small_01.ogg +0 -0
  345. package/assets/sfx/explosoes-fogo/fire_pop_01.ogg +0 -0
  346. package/assets/sfx/explosoes-fogo/fire_pop_02.ogg +0 -0
  347. package/assets/sfx/explosoes-fogo/fire_pop_03.ogg +0 -0
  348. package/assets/sfx/explosoes-fogo/flamethrower_loop_01.ogg +0 -0
  349. package/assets/sfx/explosoes-fogo/gas_leak_01.ogg +0 -0
  350. package/assets/sfx/explosoes-fogo/molotov_break_ignite_01.ogg +0 -0
  351. package/assets/sfx/explosoes-fogo/molotov_break_ignite_02.ogg +0 -0
  352. package/assets/sfx/impactos/ceramic_hit_close_01.ogg +0 -0
  353. package/assets/sfx/impactos/concrete_block_drag_close_01.ogg +0 -0
  354. package/assets/sfx/impactos/concrete_block_drag_close_02.ogg +0 -0
  355. package/assets/sfx/impactos/concrete_block_drag_close_03.ogg +0 -0
  356. package/assets/sfx/impactos/concrete_block_drag_close_04.ogg +0 -0
  357. package/assets/sfx/impactos/concrete_block_drag_close_05.ogg +0 -0
  358. package/assets/sfx/impactos/concrete_block_drag_close_06.ogg +0 -0
  359. package/assets/sfx/impactos/concrete_block_drag_close_07.ogg +0 -0
  360. package/assets/sfx/impactos/crack_close_01.ogg +0 -0
  361. package/assets/sfx/impactos/crack_close_02.ogg +0 -0
  362. package/assets/sfx/impactos/crack_close_03.ogg +0 -0
  363. package/assets/sfx/impactos/crack_close_04.ogg +0 -0
  364. package/assets/sfx/impactos/crack_close_05.ogg +0 -0
  365. package/assets/sfx/impactos/crack_close_06.ogg +0 -0
  366. package/assets/sfx/impactos/crack_close_07.ogg +0 -0
  367. package/assets/sfx/impactos/crack_close_08.ogg +0 -0
  368. package/assets/sfx/impactos/crack_close_09.ogg +0 -0
  369. package/assets/sfx/impactos/crack_close_10.ogg +0 -0
  370. package/assets/sfx/impactos/crumble_close_01.ogg +0 -0
  371. package/assets/sfx/impactos/crumble_close_02.ogg +0 -0
  372. package/assets/sfx/impactos/crumble_close_03.ogg +0 -0
  373. package/assets/sfx/impactos/crumble_close_04.ogg +0 -0
  374. package/assets/sfx/impactos/crumble_close_05.ogg +0 -0
  375. package/assets/sfx/impactos/flesh_fruit_splat_close_01.ogg +0 -0
  376. package/assets/sfx/impactos/flesh_fruit_splat_close_02.ogg +0 -0
  377. package/assets/sfx/impactos/flesh_fruit_splat_close_03.ogg +0 -0
  378. package/assets/sfx/impactos/furniture_push_wood_close_01.ogg +0 -0
  379. package/assets/sfx/impactos/glass_blunt_heavy_close_01.ogg +0 -0
  380. package/assets/sfx/impactos/glass_blunt_heavy_close_02.ogg +0 -0
  381. package/assets/sfx/impactos/glass_blunt_heavy_close_03.ogg +0 -0
  382. package/assets/sfx/impactos/glass_blunt_heavy_close_04.ogg +0 -0
  383. package/assets/sfx/impactos/glass_blunt_heavy_close_05.ogg +0 -0
  384. package/assets/sfx/impactos/glass_blunt_light_close_01.ogg +0 -0
  385. package/assets/sfx/impactos/glass_blunt_light_close_02.ogg +0 -0
  386. package/assets/sfx/impactos/glass_blunt_light_close_03.ogg +0 -0
  387. package/assets/sfx/impactos/glass_blunt_light_close_04.ogg +0 -0
  388. package/assets/sfx/impactos/glass_blunt_light_close_05.ogg +0 -0
  389. package/assets/sfx/impactos/glass_blunt_medium_close_01.ogg +0 -0
  390. package/assets/sfx/impactos/glass_blunt_medium_close_02.ogg +0 -0
  391. package/assets/sfx/impactos/glass_blunt_medium_close_03.ogg +0 -0
  392. package/assets/sfx/impactos/glass_blunt_medium_close_04.ogg +0 -0
  393. package/assets/sfx/impactos/glass_blunt_medium_close_05.ogg +0 -0
  394. package/assets/sfx/impactos/glass_bottle_break_close_01.ogg +0 -0
  395. package/assets/sfx/impactos/glass_debris_fall_close_01.ogg +0 -0
  396. package/assets/sfx/impactos/glass_debris_fall_close_02.ogg +0 -0
  397. package/assets/sfx/impactos/glass_debris_fall_close_03.ogg +0 -0
  398. package/assets/sfx/impactos/glass_debris_fall_close_04.ogg +0 -0
  399. package/assets/sfx/impactos/glass_shatter_close_01.ogg +0 -0
  400. package/assets/sfx/impactos/glass_shatter_close_02.ogg +0 -0
  401. package/assets/sfx/impactos/glass_shatter_close_03.ogg +0 -0
  402. package/assets/sfx/impactos/glass_shatter_close_04.ogg +0 -0
  403. package/assets/sfx/impactos/glass_shatter_close_05.ogg +0 -0
  404. package/assets/sfx/impactos/glass_shatter_close_06.ogg +0 -0
  405. package/assets/sfx/impactos/glass_shatter_close_07.ogg +0 -0
  406. package/assets/sfx/impactos/glass_shatter_close_08.ogg +0 -0
  407. package/assets/sfx/impactos/glass_shatter_close_09.ogg +0 -0
  408. package/assets/sfx/impactos/gravel_hit_close_21.ogg +0 -0
  409. package/assets/sfx/impactos/gravel_hit_close_22.ogg +0 -0
  410. package/assets/sfx/impactos/gravel_hit_close_23.ogg +0 -0
  411. package/assets/sfx/impactos/gravel_hit_close_24.ogg +0 -0
  412. package/assets/sfx/impactos/gravel_hit_close_25.ogg +0 -0
  413. package/assets/sfx/impactos/gravel_hit_close_26.ogg +0 -0
  414. package/assets/sfx/impactos/gravel_hit_close_27.ogg +0 -0
  415. package/assets/sfx/impactos/gravel_hit_close_28.ogg +0 -0
  416. package/assets/sfx/impactos/gravel_hit_close_29.ogg +0 -0
  417. package/assets/sfx/impactos/impact_generic_light_close_01.ogg +0 -0
  418. package/assets/sfx/impactos/impact_generic_light_close_02.ogg +0 -0
  419. package/assets/sfx/impactos/impact_generic_light_close_03.ogg +0 -0
  420. package/assets/sfx/impactos/impact_generic_light_close_04.ogg +0 -0
  421. package/assets/sfx/impactos/impact_generic_light_close_05.ogg +0 -0
  422. package/assets/sfx/impactos/masonry_blunt_close_01.ogg +0 -0
  423. package/assets/sfx/impactos/masonry_blunt_close_02.ogg +0 -0
  424. package/assets/sfx/impactos/masonry_blunt_close_03.ogg +0 -0
  425. package/assets/sfx/impactos/masonry_blunt_close_04.ogg +0 -0
  426. package/assets/sfx/impactos/masonry_blunt_close_05.ogg +0 -0
  427. package/assets/sfx/impactos/masonry_blunt_close_06.ogg +0 -0
  428. package/assets/sfx/impactos/masonry_blunt_close_07.ogg +0 -0
  429. package/assets/sfx/impactos/masonry_bullet_close_01.ogg +0 -0
  430. package/assets/sfx/impactos/masonry_bullet_close_02.ogg +0 -0
  431. package/assets/sfx/impactos/masonry_bullet_close_03.ogg +0 -0
  432. package/assets/sfx/impactos/masonry_bullet_close_04.ogg +0 -0
  433. package/assets/sfx/impactos/masonry_bullet_close_05.ogg +0 -0
  434. package/assets/sfx/impactos/masonry_bullet_close_21.ogg +0 -0
  435. package/assets/sfx/impactos/masonry_bullet_close_22.ogg +0 -0
  436. package/assets/sfx/impactos/masonry_bullet_close_23.ogg +0 -0
  437. package/assets/sfx/impactos/masonry_bullet_close_24.ogg +0 -0
  438. package/assets/sfx/impactos/masonry_bullet_close_25.ogg +0 -0
  439. package/assets/sfx/impactos/masonry_bullet_close_26.ogg +0 -0
  440. package/assets/sfx/impactos/masonry_bullet_close_27.ogg +0 -0
  441. package/assets/sfx/impactos/masonry_bullet_close_28.ogg +0 -0
  442. package/assets/sfx/impactos/metal_blunt_close_01.ogg +0 -0
  443. package/assets/sfx/impactos/metal_blunt_close_02.ogg +0 -0
  444. package/assets/sfx/impactos/metal_blunt_close_03.ogg +0 -0
  445. package/assets/sfx/impactos/metal_blunt_close_04.ogg +0 -0
  446. package/assets/sfx/impactos/metal_blunt_close_05.ogg +0 -0
  447. package/assets/sfx/impactos/metal_blunt_heavy_close_01.ogg +0 -0
  448. package/assets/sfx/impactos/metal_blunt_heavy_close_02.ogg +0 -0
  449. package/assets/sfx/impactos/metal_blunt_heavy_close_03.ogg +0 -0
  450. package/assets/sfx/impactos/metal_blunt_heavy_close_04.ogg +0 -0
  451. package/assets/sfx/impactos/metal_blunt_heavy_close_05.ogg +0 -0
  452. package/assets/sfx/impactos/metal_blunt_light_close_01.ogg +0 -0
  453. package/assets/sfx/impactos/metal_blunt_light_close_02.ogg +0 -0
  454. package/assets/sfx/impactos/metal_blunt_light_close_03.ogg +0 -0
  455. package/assets/sfx/impactos/metal_blunt_light_close_04.ogg +0 -0
  456. package/assets/sfx/impactos/metal_blunt_light_close_05.ogg +0 -0
  457. package/assets/sfx/impactos/metal_blunt_medium_close_01.ogg +0 -0
  458. package/assets/sfx/impactos/metal_blunt_medium_close_02.ogg +0 -0
  459. package/assets/sfx/impactos/metal_blunt_medium_close_03.ogg +0 -0
  460. package/assets/sfx/impactos/metal_blunt_medium_close_04.ogg +0 -0
  461. package/assets/sfx/impactos/metal_blunt_medium_close_05.ogg +0 -0
  462. package/assets/sfx/impactos/metal_bullet_close_01.ogg +0 -0
  463. package/assets/sfx/impactos/metal_bullet_close_02.ogg +0 -0
  464. package/assets/sfx/impactos/metal_bullet_close_03.ogg +0 -0
  465. package/assets/sfx/impactos/metal_bullet_close_04.ogg +0 -0
  466. package/assets/sfx/impactos/metal_bullet_close_05.ogg +0 -0
  467. package/assets/sfx/impactos/metal_bullet_close_06.ogg +0 -0
  468. package/assets/sfx/impactos/metal_bullet_close_21.ogg +0 -0
  469. package/assets/sfx/impactos/metal_bullet_close_22.ogg +0 -0
  470. package/assets/sfx/impactos/metal_bullet_close_23.ogg +0 -0
  471. package/assets/sfx/impactos/metal_bullet_close_24.ogg +0 -0
  472. package/assets/sfx/impactos/metal_bullet_close_25.ogg +0 -0
  473. package/assets/sfx/impactos/metal_bullet_close_26.ogg +0 -0
  474. package/assets/sfx/impactos/metal_bullet_close_27.ogg +0 -0
  475. package/assets/sfx/impactos/metal_bullet_close_28.ogg +0 -0
  476. package/assets/sfx/impactos/metal_bullet_close_29.ogg +0 -0
  477. package/assets/sfx/impactos/metal_bullet_close_30.ogg +0 -0
  478. package/assets/sfx/impactos/metal_bullet_close_31.ogg +0 -0
  479. package/assets/sfx/impactos/metal_bullet_close_32.ogg +0 -0
  480. package/assets/sfx/impactos/metal_bullet_close_33.ogg +0 -0
  481. package/assets/sfx/impactos/metal_bullet_close_34.ogg +0 -0
  482. package/assets/sfx/impactos/metal_fall_close_01.ogg +0 -0
  483. package/assets/sfx/impactos/metal_fall_close_02.ogg +0 -0
  484. package/assets/sfx/impactos/metal_fall_close_03.ogg +0 -0
  485. package/assets/sfx/impactos/metal_fall_close_04.ogg +0 -0
  486. package/assets/sfx/impactos/metal_fall_close_05.ogg +0 -0
  487. package/assets/sfx/impactos/metal_fall_close_06.ogg +0 -0
  488. package/assets/sfx/impactos/metal_fall_close_07.ogg +0 -0
  489. package/assets/sfx/impactos/metal_fall_close_08.ogg +0 -0
  490. package/assets/sfx/impactos/metal_fall_close_09.ogg +0 -0
  491. package/assets/sfx/impactos/metal_fall_close_10.ogg +0 -0
  492. package/assets/sfx/impactos/metal_thin_close_01.ogg +0 -0
  493. package/assets/sfx/impactos/metal_thin_close_02.ogg +0 -0
  494. package/assets/sfx/impactos/metal_thin_close_03.ogg +0 -0
  495. package/assets/sfx/impactos/metal_thin_close_04.ogg +0 -0
  496. package/assets/sfx/impactos/metal_thin_close_05.ogg +0 -0
  497. package/assets/sfx/impactos/metal_thin_close_06.ogg +0 -0
  498. package/assets/sfx/impactos/metal_thin_close_07.ogg +0 -0
  499. package/assets/sfx/impactos/metal_thin_close_08.ogg +0 -0
  500. package/assets/sfx/impactos/metal_thin_close_09.ogg +0 -0
  501. package/assets/sfx/impactos/metal_thin_close_10.ogg +0 -0
  502. package/assets/sfx/impactos/metal_thin_close_11.ogg +0 -0
  503. package/assets/sfx/impactos/metal_thin_close_12.ogg +0 -0
  504. package/assets/sfx/impactos/metal_thin_close_13.ogg +0 -0
  505. package/assets/sfx/impactos/metal_thin_close_14.ogg +0 -0
  506. package/assets/sfx/impactos/metal_thin_close_15.ogg +0 -0
  507. package/assets/sfx/impactos/metal_thin_close_16.ogg +0 -0
  508. package/assets/sfx/impactos/metal_thin_close_17.ogg +0 -0
  509. package/assets/sfx/impactos/metal_thin_close_18.ogg +0 -0
  510. package/assets/sfx/impactos/metal_thin_close_19.ogg +0 -0
  511. package/assets/sfx/impactos/metal_thin_close_20.ogg +0 -0
  512. package/assets/sfx/impactos/metal_thin_close_21.ogg +0 -0
  513. package/assets/sfx/impactos/metal_thin_close_22.ogg +0 -0
  514. package/assets/sfx/impactos/metal_thin_close_23.ogg +0 -0
  515. package/assets/sfx/impactos/metal_thin_close_24.ogg +0 -0
  516. package/assets/sfx/impactos/metal_thin_close_25.ogg +0 -0
  517. package/assets/sfx/impactos/metal_thin_close_26.ogg +0 -0
  518. package/assets/sfx/impactos/paper_tear_close_01.ogg +0 -0
  519. package/assets/sfx/impactos/paper_tear_close_02.ogg +0 -0
  520. package/assets/sfx/impactos/plastic_hit_close_01.ogg +0 -0
  521. package/assets/sfx/impactos/plastic_hit_close_02.ogg +0 -0
  522. package/assets/sfx/impactos/plastic_hit_close_03.ogg +0 -0
  523. package/assets/sfx/impactos/plastic_hit_close_04.ogg +0 -0
  524. package/assets/sfx/impactos/ricochet_metal_close_21.ogg +0 -0
  525. package/assets/sfx/impactos/ricochet_metal_close_22.ogg +0 -0
  526. package/assets/sfx/impactos/ricochet_metal_close_23.ogg +0 -0
  527. package/assets/sfx/impactos/ricochet_metal_close_24.ogg +0 -0
  528. package/assets/sfx/impactos/ricochet_metal_close_25.ogg +0 -0
  529. package/assets/sfx/impactos/ricochet_metal_close_26.ogg +0 -0
  530. package/assets/sfx/impactos/ricochet_metal_close_27.ogg +0 -0
  531. package/assets/sfx/impactos/ricochet_metal_close_28.ogg +0 -0
  532. package/assets/sfx/impactos/rubble_falling_close_01.ogg +0 -0
  533. package/assets/sfx/impactos/rubble_falling_close_02.ogg +0 -0
  534. package/assets/sfx/impactos/rubble_falling_close_03.ogg +0 -0
  535. package/assets/sfx/impactos/rubble_falling_close_04.ogg +0 -0
  536. package/assets/sfx/impactos/rubble_falling_close_05.ogg +0 -0
  537. package/assets/sfx/impactos/rubble_falling_close_06.ogg +0 -0
  538. package/assets/sfx/impactos/rubble_falling_close_07.ogg +0 -0
  539. package/assets/sfx/impactos/rubble_falling_close_08.ogg +0 -0
  540. package/assets/sfx/impactos/rubble_falling_close_09.ogg +0 -0
  541. package/assets/sfx/impactos/soft_bullet_close_01.ogg +0 -0
  542. package/assets/sfx/impactos/soft_bullet_close_02.ogg +0 -0
  543. package/assets/sfx/impactos/soft_bullet_close_03.ogg +0 -0
  544. package/assets/sfx/impactos/soft_bullet_close_04.ogg +0 -0
  545. package/assets/sfx/impactos/soft_bullet_close_05.ogg +0 -0
  546. package/assets/sfx/impactos/soft_bullet_close_06.ogg +0 -0
  547. package/assets/sfx/impactos/soft_bullet_close_07.ogg +0 -0
  548. package/assets/sfx/impactos/soft_bullet_close_08.ogg +0 -0
  549. package/assets/sfx/impactos/soft_bullet_close_09.ogg +0 -0
  550. package/assets/sfx/impactos/soft_bullet_close_10.ogg +0 -0
  551. package/assets/sfx/impactos/soil_bullet_close_21.ogg +0 -0
  552. package/assets/sfx/impactos/soil_bullet_close_22.ogg +0 -0
  553. package/assets/sfx/impactos/soil_bullet_close_23.ogg +0 -0
  554. package/assets/sfx/impactos/wood_blunt_heavy_close_01.ogg +0 -0
  555. package/assets/sfx/impactos/wood_blunt_heavy_close_02.ogg +0 -0
  556. package/assets/sfx/impactos/wood_blunt_heavy_close_03.ogg +0 -0
  557. package/assets/sfx/impactos/wood_blunt_heavy_close_04.ogg +0 -0
  558. package/assets/sfx/impactos/wood_blunt_heavy_close_05.ogg +0 -0
  559. package/assets/sfx/impactos/wood_blunt_light_close_01.ogg +0 -0
  560. package/assets/sfx/impactos/wood_blunt_light_close_02.ogg +0 -0
  561. package/assets/sfx/impactos/wood_blunt_light_close_03.ogg +0 -0
  562. package/assets/sfx/impactos/wood_blunt_light_close_04.ogg +0 -0
  563. package/assets/sfx/impactos/wood_blunt_light_close_05.ogg +0 -0
  564. package/assets/sfx/impactos/wood_blunt_medium_close_01.ogg +0 -0
  565. package/assets/sfx/impactos/wood_blunt_medium_close_02.ogg +0 -0
  566. package/assets/sfx/impactos/wood_blunt_medium_close_03.ogg +0 -0
  567. package/assets/sfx/impactos/wood_blunt_medium_close_04.ogg +0 -0
  568. package/assets/sfx/impactos/wood_blunt_medium_close_05.ogg +0 -0
  569. package/assets/sfx/impactos/wood_fall_close_01.ogg +0 -0
  570. package/assets/sfx/impactos/wood_fall_close_02.ogg +0 -0
  571. package/assets/sfx/impactos/wood_fall_close_03.ogg +0 -0
  572. package/assets/sfx/impactos/wood_fall_close_04.ogg +0 -0
  573. package/assets/sfx/impactos/wood_fall_close_05.ogg +0 -0
  574. package/assets/sfx/impactos/wood_fall_close_06.ogg +0 -0
  575. package/assets/sfx/impactos/wood_fall_close_07.ogg +0 -0
  576. package/assets/sfx/impactos/wood_fall_close_08.ogg +0 -0
  577. package/assets/sfx/impactos/wood_fall_close_09.ogg +0 -0
  578. package/assets/sfx/impactos/wood_hit_close_01.ogg +0 -0
  579. package/assets/sfx/impactos/wood_hit_close_02.ogg +0 -0
  580. package/assets/sfx/impactos/wood_hit_close_03.ogg +0 -0
  581. package/assets/sfx/impactos/wood_hit_close_04.ogg +0 -0
  582. package/assets/sfx/impactos/wood_hit_close_05.ogg +0 -0
  583. package/assets/sfx/impactos/wood_hit_close_06.ogg +0 -0
  584. package/assets/sfx/impactos/wood_hit_close_07.ogg +0 -0
  585. package/assets/sfx/impactos/wood_hit_close_08.ogg +0 -0
  586. package/assets/sfx/impactos/wood_hit_close_09.ogg +0 -0
  587. package/assets/sfx/impactos/wood_hit_close_10.ogg +0 -0
  588. package/assets/sfx/impactos/wood_hit_close_11.ogg +0 -0
  589. package/assets/sfx/impactos/wood_hit_close_12.ogg +0 -0
  590. package/assets/sfx/impactos/wood_hit_close_13.ogg +0 -0
  591. package/assets/sfx/impactos/wood_hit_close_14.ogg +0 -0
  592. package/assets/sfx/impactos/wood_hit_close_21.ogg +0 -0
  593. package/assets/sfx/impactos/wood_hit_close_22.ogg +0 -0
  594. package/assets/sfx/impactos/wood_hit_close_23.ogg +0 -0
  595. package/assets/sfx/impactos/wood_hit_close_24.ogg +0 -0
  596. package/assets/sfx/impactos/wood_hit_close_25.ogg +0 -0
  597. package/assets/sfx/impactos/wood_hit_close_26.ogg +0 -0
  598. package/assets/sfx/impactos/wood_hit_close_27.ogg +0 -0
  599. package/assets/sfx/itens-portas/backpack_open_shut_01.ogg +0 -0
  600. package/assets/sfx/itens-portas/backpack_open_shut_02.ogg +0 -0
  601. package/assets/sfx/itens-portas/backpack_open_shut_03.ogg +0 -0
  602. package/assets/sfx/itens-portas/backpack_open_shut_04.ogg +0 -0
  603. package/assets/sfx/itens-portas/backpack_open_shut_05.ogg +0 -0
  604. package/assets/sfx/itens-portas/backpack_open_shut_06.ogg +0 -0
  605. package/assets/sfx/itens-portas/book_open_shut_01.ogg +0 -0
  606. package/assets/sfx/itens-portas/book_open_shut_02.ogg +0 -0
  607. package/assets/sfx/itens-portas/book_open_shut_03.ogg +0 -0
  608. package/assets/sfx/itens-portas/book_open_shut_04.ogg +0 -0
  609. package/assets/sfx/itens-portas/book_open_shut_05.ogg +0 -0
  610. package/assets/sfx/itens-portas/book_open_shut_06.ogg +0 -0
  611. package/assets/sfx/itens-portas/book_open_shut_07.ogg +0 -0
  612. package/assets/sfx/itens-portas/book_open_shut_08.ogg +0 -0
  613. package/assets/sfx/itens-portas/book_open_shut_09.ogg +0 -0
  614. package/assets/sfx/itens-portas/book_open_shut_10.ogg +0 -0
  615. package/assets/sfx/itens-portas/book_open_shut_11.ogg +0 -0
  616. package/assets/sfx/itens-portas/door_creak_01.ogg +0 -0
  617. package/assets/sfx/itens-portas/door_creak_02.ogg +0 -0
  618. package/assets/sfx/itens-portas/door_creak_03.ogg +0 -0
  619. package/assets/sfx/itens-portas/door_creak_06.ogg +0 -0
  620. package/assets/sfx/itens-portas/door_creak_07.ogg +0 -0
  621. package/assets/sfx/itens-portas/door_glass_sliding_01.ogg +0 -0
  622. package/assets/sfx/itens-portas/door_glass_sliding_02.ogg +0 -0
  623. package/assets/sfx/itens-portas/door_glass_sliding_03.ogg +0 -0
  624. package/assets/sfx/itens-portas/door_glass_sliding_04.ogg +0 -0
  625. package/assets/sfx/itens-portas/door_knock_01.ogg +0 -0
  626. package/assets/sfx/itens-portas/door_lock_unlock_01.ogg +0 -0
  627. package/assets/sfx/itens-portas/door_lock_unlock_02.ogg +0 -0
  628. package/assets/sfx/itens-portas/door_lock_unlock_03.ogg +0 -0
  629. package/assets/sfx/itens-portas/door_lock_unlock_04.ogg +0 -0
  630. package/assets/sfx/itens-portas/door_lock_unlock_05.ogg +0 -0
  631. package/assets/sfx/itens-portas/door_lock_unlock_06.ogg +0 -0
  632. package/assets/sfx/itens-portas/door_lock_unlock_07.ogg +0 -0
  633. package/assets/sfx/itens-portas/door_lock_unlock_08.ogg +0 -0
  634. package/assets/sfx/itens-portas/door_lock_unlock_09.ogg +0 -0
  635. package/assets/sfx/itens-portas/door_lock_unlock_10.ogg +0 -0
  636. package/assets/sfx/itens-portas/door_lock_unlock_11.ogg +0 -0
  637. package/assets/sfx/itens-portas/door_locked_rattle_01.ogg +0 -0
  638. package/assets/sfx/itens-portas/door_locked_rattle_02.ogg +0 -0
  639. package/assets/sfx/itens-portas/door_locked_rattle_03.ogg +0 -0
  640. package/assets/sfx/itens-portas/door_metal_open_shut_01.ogg +0 -0
  641. package/assets/sfx/itens-portas/door_metal_open_shut_02.ogg +0 -0
  642. package/assets/sfx/itens-portas/door_metal_open_shut_03.ogg +0 -0
  643. package/assets/sfx/itens-portas/door_metal_open_shut_04.ogg +0 -0
  644. package/assets/sfx/itens-portas/door_metal_open_shut_05.ogg +0 -0
  645. package/assets/sfx/itens-portas/door_metal_open_shut_06.ogg +0 -0
  646. package/assets/sfx/itens-portas/door_metal_open_shut_07.ogg +0 -0
  647. package/assets/sfx/itens-portas/door_slam_wood_01.ogg +0 -0
  648. package/assets/sfx/itens-portas/door_slam_wood_02.ogg +0 -0
  649. package/assets/sfx/itens-portas/door_slam_wood_03.ogg +0 -0
  650. package/assets/sfx/itens-portas/door_slam_wood_04.ogg +0 -0
  651. package/assets/sfx/itens-portas/door_wood_open_01.ogg +0 -0
  652. package/assets/sfx/itens-portas/door_wood_open_02.ogg +0 -0
  653. package/assets/sfx/itens-portas/door_wood_open_03.ogg +0 -0
  654. package/assets/sfx/itens-portas/door_wood_open_04.ogg +0 -0
  655. package/assets/sfx/itens-portas/door_wood_shut_01.ogg +0 -0
  656. package/assets/sfx/itens-portas/door_wood_shut_02.ogg +0 -0
  657. package/assets/sfx/itens-portas/door_wood_shut_03.ogg +0 -0
  658. package/assets/sfx/itens-portas/door_wood_shut_04.ogg +0 -0
  659. package/assets/sfx/itens-portas/door_wood_shut_05.ogg +0 -0
  660. package/assets/sfx/itens-portas/door_wood_shut_06.ogg +0 -0
  661. package/assets/sfx/itens-portas/door_wood_shut_07.ogg +0 -0
  662. package/assets/sfx/itens-portas/door_wood_shut_08.ogg +0 -0
  663. package/assets/sfx/itens-portas/drawer_open_01.ogg +0 -0
  664. package/assets/sfx/itens-portas/drawer_open_02.ogg +0 -0
  665. package/assets/sfx/itens-portas/drawer_shut_01.ogg +0 -0
  666. package/assets/sfx/itens-portas/drawer_shut_02.ogg +0 -0
  667. package/assets/sfx/itens-portas/item_drop_bag_01.ogg +0 -0
  668. package/assets/sfx/itens-portas/item_drop_bag_02.ogg +0 -0
  669. package/assets/sfx/itens-portas/item_drop_glass_01.ogg +0 -0
  670. package/assets/sfx/itens-portas/item_drop_metal_01.ogg +0 -0
  671. package/assets/sfx/itens-portas/item_drop_metal_02.ogg +0 -0
  672. package/assets/sfx/itens-portas/item_drop_metal_03.ogg +0 -0
  673. package/assets/sfx/itens-portas/item_drop_metal_04.ogg +0 -0
  674. package/assets/sfx/itens-portas/item_drop_metal_05.ogg +0 -0
  675. package/assets/sfx/itens-portas/item_drop_paper_01.ogg +0 -0
  676. package/assets/sfx/itens-portas/item_pickup_coins_01.ogg +0 -0
  677. package/assets/sfx/itens-portas/item_pickup_coins_02.ogg +0 -0
  678. package/assets/sfx/itens-portas/item_pickup_generic_01.ogg +0 -0
  679. package/assets/sfx/itens-portas/item_pickup_generic_02.ogg +0 -0
  680. package/assets/sfx/itens-portas/item_pickup_generic_03.ogg +0 -0
  681. package/assets/sfx/itens-portas/item_pickup_generic_04.ogg +0 -0
  682. package/assets/sfx/itens-portas/item_pickup_leather_01.ogg +0 -0
  683. package/assets/sfx/itens-portas/item_pickup_leather_02.ogg +0 -0
  684. package/assets/sfx/itens-portas/item_pickup_leather_03.ogg +0 -0
  685. package/assets/sfx/itens-portas/item_pickup_leather_04.ogg +0 -0
  686. package/assets/sfx/itens-portas/item_pickup_leather_05.ogg +0 -0
  687. package/assets/sfx/itens-portas/item_setdown_01.ogg +0 -0
  688. package/assets/sfx/itens-portas/item_setdown_02.ogg +0 -0
  689. package/assets/sfx/itens-portas/keys_jingle_01.ogg +0 -0
  690. package/assets/sfx/itens-portas/keys_jingle_02.ogg +0 -0
  691. package/assets/sfx/itens-portas/keys_jingle_03.ogg +0 -0
  692. package/assets/sfx/itens-portas/keys_jingle_04.ogg +0 -0
  693. package/assets/sfx/itens-portas/keys_jingle_05.ogg +0 -0
  694. package/assets/sfx/itens-portas/keys_jingle_06.ogg +0 -0
  695. package/assets/sfx/itens-portas/keys_jingle_07.ogg +0 -0
  696. package/assets/sfx/itens-portas/lever_pull_01.ogg +0 -0
  697. package/assets/sfx/itens-portas/lever_pull_02.ogg +0 -0
  698. package/assets/sfx/itens-portas/lever_pull_03.ogg +0 -0
  699. package/assets/sfx/itens-portas/lever_pull_04.ogg +0 -0
  700. package/assets/sfx/itens-portas/lever_pull_05.ogg +0 -0
  701. package/assets/sfx/itens-portas/lever_pull_06.ogg +0 -0
  702. package/assets/sfx/itens-portas/metal_latch_01.ogg +0 -0
  703. package/assets/sfx/itens-portas/metal_latch_02.ogg +0 -0
  704. package/assets/sfx/itens-portas/plates_hit_01.ogg +0 -0
  705. package/assets/sfx/itens-portas/plates_hit_02.ogg +0 -0
  706. package/assets/sfx/itens-portas/plates_hit_03.ogg +0 -0
  707. package/assets/sfx/itens-portas/plates_hit_04.ogg +0 -0
  708. package/assets/sfx/itens-portas/plates_hit_05.ogg +0 -0
  709. package/assets/sfx/itens-portas/plates_hit_06.ogg +0 -0
  710. package/assets/sfx/itens-portas/plates_hit_07.ogg +0 -0
  711. package/assets/sfx/itens-portas/plates_hit_08.ogg +0 -0
  712. package/assets/sfx/itens-portas/plates_hit_09.ogg +0 -0
  713. package/assets/sfx/itens-portas/plates_hit_10.ogg +0 -0
  714. package/assets/sfx/itens-portas/plates_slide_01.ogg +0 -0
  715. package/assets/sfx/itens-portas/plates_slide_02.ogg +0 -0
  716. package/assets/sfx/itens-portas/plates_slide_03.ogg +0 -0
  717. package/assets/sfx/itens-portas/plates_slide_04.ogg +0 -0
  718. package/assets/sfx/itens-portas/saw_wood_01.ogg +0 -0
  719. package/assets/sfx/itens-portas/switch_click_01.ogg +0 -0
  720. package/assets/sfx/itens-portas/switch_click_02.ogg +0 -0
  721. package/assets/sfx/itens-portas/switch_click_03.ogg +0 -0
  722. package/assets/sfx/itens-portas/switch_click_04.ogg +0 -0
  723. package/assets/sfx/itens-portas/toilet_flush_01.ogg +0 -0
  724. package/assets/sfx/itens-portas/tools_handling_01.ogg +0 -0
  725. package/assets/sfx/itens-portas/tools_handling_02.ogg +0 -0
  726. package/assets/sfx/itens-portas/tools_handling_03.ogg +0 -0
  727. package/assets/sfx/itens-portas/tools_handling_04.ogg +0 -0
  728. package/assets/sfx/itens-portas/tools_handling_05.ogg +0 -0
  729. package/assets/sfx/itens-portas/tools_handling_06.ogg +0 -0
  730. package/assets/sfx/itens-portas/tools_handling_07.ogg +0 -0
  731. package/assets/sfx/itens-portas/tools_handling_08.ogg +0 -0
  732. package/assets/sfx/itens-portas/tools_handling_09.ogg +0 -0
  733. package/assets/sfx/itens-portas/tools_handling_10.ogg +0 -0
  734. package/assets/sfx/itens-portas/tools_handling_11.ogg +0 -0
  735. package/assets/sfx/itens-portas/tools_handling_12.ogg +0 -0
  736. package/assets/sfx/itens-portas/tools_handling_13.ogg +0 -0
  737. package/assets/sfx/itens-portas/tools_handling_14.ogg +0 -0
  738. package/assets/sfx/itens-portas/tools_handling_15.ogg +0 -0
  739. package/assets/sfx/itens-portas/tools_handling_16.ogg +0 -0
  740. package/assets/sfx/itens-portas/water_drip_01.ogg +0 -0
  741. package/assets/sfx/itens-portas/water_drip_02.ogg +0 -0
  742. package/assets/sfx/itens-portas/water_drip_03.ogg +0 -0
  743. package/assets/sfx/itens-portas/water_drip_04.ogg +0 -0
  744. package/assets/sfx/itens-portas/water_faucet_01.ogg +0 -0
  745. package/assets/sfx/itens-portas/water_faucet_02.ogg +0 -0
  746. package/assets/sfx/itens-portas/water_faucet_03.ogg +0 -0
  747. package/assets/sfx/itens-portas/water_faucet_04.ogg +0 -0
  748. package/assets/sfx/itens-portas/water_faucet_05.ogg +0 -0
  749. package/assets/sfx/itens-portas/water_faucet_06.ogg +0 -0
  750. package/assets/sfx/itens-portas/water_faucet_07.ogg +0 -0
  751. package/assets/sfx/itens-portas/water_faucet_08.ogg +0 -0
  752. package/assets/sfx/itens-portas/water_faucet_09.ogg +0 -0
  753. package/assets/sfx/itens-portas/water_faucet_10.ogg +0 -0
  754. package/assets/sfx/personagem/axe_chop_01.ogg +0 -0
  755. package/assets/sfx/personagem/axe_chop_02.ogg +0 -0
  756. package/assets/sfx/personagem/blunt_hit_metal_01.ogg +0 -0
  757. package/assets/sfx/personagem/blunt_hit_metal_02.ogg +0 -0
  758. package/assets/sfx/personagem/blunt_hit_metal_03.ogg +0 -0
  759. package/assets/sfx/personagem/blunt_hit_metal_04.ogg +0 -0
  760. package/assets/sfx/personagem/blunt_hit_metal_05.ogg +0 -0
  761. package/assets/sfx/personagem/body_fall_01.ogg +0 -0
  762. package/assets/sfx/personagem/body_fall_02.ogg +0 -0
  763. package/assets/sfx/personagem/body_fall_03.ogg +0 -0
  764. package/assets/sfx/personagem/body_fall_04.ogg +0 -0
  765. package/assets/sfx/personagem/body_fall_05.ogg +0 -0
  766. package/assets/sfx/personagem/cloth_rustle_01.ogg +0 -0
  767. package/assets/sfx/personagem/cloth_rustle_02.ogg +0 -0
  768. package/assets/sfx/personagem/cloth_rustle_03.ogg +0 -0
  769. package/assets/sfx/personagem/cloth_rustle_04.ogg +0 -0
  770. package/assets/sfx/personagem/cloth_rustle_05.ogg +0 -0
  771. package/assets/sfx/personagem/cloth_rustle_06.ogg +0 -0
  772. package/assets/sfx/personagem/cloth_rustle_07.ogg +0 -0
  773. package/assets/sfx/personagem/cloth_rustle_08.ogg +0 -0
  774. package/assets/sfx/personagem/cloth_rustle_09.ogg +0 -0
  775. package/assets/sfx/personagem/cloth_rustle_10.ogg +0 -0
  776. package/assets/sfx/personagem/cloth_rustle_11.ogg +0 -0
  777. package/assets/sfx/personagem/cloth_rustle_12.ogg +0 -0
  778. package/assets/sfx/personagem/cloth_rustle_13.ogg +0 -0
  779. package/assets/sfx/personagem/cloth_rustle_14.ogg +0 -0
  780. package/assets/sfx/personagem/drink_gulp_01.ogg +0 -0
  781. package/assets/sfx/personagem/drink_gulp_02.ogg +0 -0
  782. package/assets/sfx/personagem/drink_gulp_03.ogg +0 -0
  783. package/assets/sfx/personagem/footstep_carpet_alt_01.ogg +0 -0
  784. package/assets/sfx/personagem/footstep_carpet_alt_02.ogg +0 -0
  785. package/assets/sfx/personagem/footstep_carpet_alt_03.ogg +0 -0
  786. package/assets/sfx/personagem/footstep_carpet_alt_04.ogg +0 -0
  787. package/assets/sfx/personagem/footstep_carpet_alt_05.ogg +0 -0
  788. package/assets/sfx/personagem/footstep_concrete_alt_01.ogg +0 -0
  789. package/assets/sfx/personagem/footstep_concrete_alt_02.ogg +0 -0
  790. package/assets/sfx/personagem/footstep_concrete_alt_03.ogg +0 -0
  791. package/assets/sfx/personagem/footstep_concrete_alt_04.ogg +0 -0
  792. package/assets/sfx/personagem/footstep_concrete_alt_05.ogg +0 -0
  793. package/assets/sfx/personagem/footstep_concrete_run_01.ogg +0 -0
  794. package/assets/sfx/personagem/footstep_concrete_run_02.ogg +0 -0
  795. package/assets/sfx/personagem/footstep_concrete_run_03.ogg +0 -0
  796. package/assets/sfx/personagem/footstep_concrete_run_04.ogg +0 -0
  797. package/assets/sfx/personagem/footstep_concrete_run_05.ogg +0 -0
  798. package/assets/sfx/personagem/footstep_concrete_walk_01.ogg +0 -0
  799. package/assets/sfx/personagem/footstep_concrete_walk_02.ogg +0 -0
  800. package/assets/sfx/personagem/footstep_concrete_walk_03.ogg +0 -0
  801. package/assets/sfx/personagem/footstep_concrete_walk_04.ogg +0 -0
  802. package/assets/sfx/personagem/footstep_concrete_walk_05.ogg +0 -0
  803. package/assets/sfx/personagem/footstep_dirt_run_01.ogg +0 -0
  804. package/assets/sfx/personagem/footstep_dirt_run_02.ogg +0 -0
  805. package/assets/sfx/personagem/footstep_dirt_run_03.ogg +0 -0
  806. package/assets/sfx/personagem/footstep_dirt_run_04.ogg +0 -0
  807. package/assets/sfx/personagem/footstep_dirt_run_05.ogg +0 -0
  808. package/assets/sfx/personagem/footstep_dirt_walk_01.ogg +0 -0
  809. package/assets/sfx/personagem/footstep_dirt_walk_02.ogg +0 -0
  810. package/assets/sfx/personagem/footstep_dirt_walk_03.ogg +0 -0
  811. package/assets/sfx/personagem/footstep_dirt_walk_04.ogg +0 -0
  812. package/assets/sfx/personagem/footstep_dirt_walk_05.ogg +0 -0
  813. package/assets/sfx/personagem/footstep_generic_alt_01.ogg +0 -0
  814. package/assets/sfx/personagem/footstep_generic_alt_02.ogg +0 -0
  815. package/assets/sfx/personagem/footstep_generic_alt_03.ogg +0 -0
  816. package/assets/sfx/personagem/footstep_generic_alt_04.ogg +0 -0
  817. package/assets/sfx/personagem/footstep_generic_alt_05.ogg +0 -0
  818. package/assets/sfx/personagem/footstep_generic_alt_06.ogg +0 -0
  819. package/assets/sfx/personagem/footstep_generic_alt_07.ogg +0 -0
  820. package/assets/sfx/personagem/footstep_generic_alt_08.ogg +0 -0
  821. package/assets/sfx/personagem/footstep_generic_alt_09.ogg +0 -0
  822. package/assets/sfx/personagem/footstep_generic_alt_10.ogg +0 -0
  823. package/assets/sfx/personagem/footstep_grass_alt2_01.ogg +0 -0
  824. package/assets/sfx/personagem/footstep_grass_alt2_02.ogg +0 -0
  825. package/assets/sfx/personagem/footstep_grass_alt2_03.ogg +0 -0
  826. package/assets/sfx/personagem/footstep_grass_alt2_04.ogg +0 -0
  827. package/assets/sfx/personagem/footstep_grass_alt_01.ogg +0 -0
  828. package/assets/sfx/personagem/footstep_grass_alt_02.ogg +0 -0
  829. package/assets/sfx/personagem/footstep_grass_alt_03.ogg +0 -0
  830. package/assets/sfx/personagem/footstep_grass_alt_04.ogg +0 -0
  831. package/assets/sfx/personagem/footstep_grass_alt_05.ogg +0 -0
  832. package/assets/sfx/personagem/footstep_grass_run_01.ogg +0 -0
  833. package/assets/sfx/personagem/footstep_grass_run_02.ogg +0 -0
  834. package/assets/sfx/personagem/footstep_grass_run_03.ogg +0 -0
  835. package/assets/sfx/personagem/footstep_grass_run_04.ogg +0 -0
  836. package/assets/sfx/personagem/footstep_grass_run_05.ogg +0 -0
  837. package/assets/sfx/personagem/footstep_grass_walk_01.ogg +0 -0
  838. package/assets/sfx/personagem/footstep_grass_walk_02.ogg +0 -0
  839. package/assets/sfx/personagem/footstep_grass_walk_03.ogg +0 -0
  840. package/assets/sfx/personagem/footstep_grass_walk_04.ogg +0 -0
  841. package/assets/sfx/personagem/footstep_grass_walk_05.ogg +0 -0
  842. package/assets/sfx/personagem/footstep_hard_alt_01.ogg +0 -0
  843. package/assets/sfx/personagem/footstep_hard_alt_02.ogg +0 -0
  844. package/assets/sfx/personagem/footstep_hard_alt_03.ogg +0 -0
  845. package/assets/sfx/personagem/footstep_hard_alt_04.ogg +0 -0
  846. package/assets/sfx/personagem/footstep_hard_alt_05.ogg +0 -0
  847. package/assets/sfx/personagem/footstep_hard_alt_06.ogg +0 -0
  848. package/assets/sfx/personagem/footstep_hard_alt_07.ogg +0 -0
  849. package/assets/sfx/personagem/footstep_hard_alt_08.ogg +0 -0
  850. package/assets/sfx/personagem/footstep_hard_alt_09.ogg +0 -0
  851. package/assets/sfx/personagem/footstep_metal_run_01.ogg +0 -0
  852. package/assets/sfx/personagem/footstep_metal_run_02.ogg +0 -0
  853. package/assets/sfx/personagem/footstep_metal_run_03.ogg +0 -0
  854. package/assets/sfx/personagem/footstep_metal_run_04.ogg +0 -0
  855. package/assets/sfx/personagem/footstep_metal_run_05.ogg +0 -0
  856. package/assets/sfx/personagem/footstep_metal_walk_01.ogg +0 -0
  857. package/assets/sfx/personagem/footstep_metal_walk_02.ogg +0 -0
  858. package/assets/sfx/personagem/footstep_metal_walk_03.ogg +0 -0
  859. package/assets/sfx/personagem/footstep_metal_walk_04.ogg +0 -0
  860. package/assets/sfx/personagem/footstep_metal_walk_05.ogg +0 -0
  861. package/assets/sfx/personagem/footstep_snow_alt_01.ogg +0 -0
  862. package/assets/sfx/personagem/footstep_snow_alt_02.ogg +0 -0
  863. package/assets/sfx/personagem/footstep_snow_alt_03.ogg +0 -0
  864. package/assets/sfx/personagem/footstep_snow_alt_04.ogg +0 -0
  865. package/assets/sfx/personagem/footstep_snow_alt_05.ogg +0 -0
  866. package/assets/sfx/personagem/footstep_snow_run_01.ogg +0 -0
  867. package/assets/sfx/personagem/footstep_snow_run_02.ogg +0 -0
  868. package/assets/sfx/personagem/footstep_snow_run_03.ogg +0 -0
  869. package/assets/sfx/personagem/footstep_snow_run_04.ogg +0 -0
  870. package/assets/sfx/personagem/footstep_snow_run_05.ogg +0 -0
  871. package/assets/sfx/personagem/footstep_snow_walk_01.ogg +0 -0
  872. package/assets/sfx/personagem/footstep_snow_walk_02.ogg +0 -0
  873. package/assets/sfx/personagem/footstep_snow_walk_03.ogg +0 -0
  874. package/assets/sfx/personagem/footstep_snow_walk_04.ogg +0 -0
  875. package/assets/sfx/personagem/footstep_snow_walk_05.ogg +0 -0
  876. package/assets/sfx/personagem/footstep_wood_alt_01.ogg +0 -0
  877. package/assets/sfx/personagem/footstep_wood_alt_02.ogg +0 -0
  878. package/assets/sfx/personagem/footstep_wood_alt_03.ogg +0 -0
  879. package/assets/sfx/personagem/footstep_wood_alt_04.ogg +0 -0
  880. package/assets/sfx/personagem/footstep_wood_alt_05.ogg +0 -0
  881. package/assets/sfx/personagem/footstep_wood_run_01.ogg +0 -0
  882. package/assets/sfx/personagem/footstep_wood_run_02.ogg +0 -0
  883. package/assets/sfx/personagem/footstep_wood_run_03.ogg +0 -0
  884. package/assets/sfx/personagem/footstep_wood_run_04.ogg +0 -0
  885. package/assets/sfx/personagem/footstep_wood_run_05.ogg +0 -0
  886. package/assets/sfx/personagem/footstep_wood_walk_01.ogg +0 -0
  887. package/assets/sfx/personagem/footstep_wood_walk_02.ogg +0 -0
  888. package/assets/sfx/personagem/footstep_wood_walk_03.ogg +0 -0
  889. package/assets/sfx/personagem/footstep_wood_walk_04.ogg +0 -0
  890. package/assets/sfx/personagem/footstep_wood_walk_05.ogg +0 -0
  891. package/assets/sfx/personagem/frying_pan_hit_01.ogg +0 -0
  892. package/assets/sfx/personagem/frying_pan_hit_02.ogg +0 -0
  893. package/assets/sfx/personagem/frying_pan_hit_03.ogg +0 -0
  894. package/assets/sfx/personagem/grab_01.ogg +0 -0
  895. package/assets/sfx/personagem/kick_hit_01.ogg +0 -0
  896. package/assets/sfx/personagem/kick_hit_02.ogg +0 -0
  897. package/assets/sfx/personagem/kick_hit_03.ogg +0 -0
  898. package/assets/sfx/personagem/kick_hit_04.ogg +0 -0
  899. package/assets/sfx/personagem/kick_hit_05.ogg +0 -0
  900. package/assets/sfx/personagem/knife_draw_01.ogg +0 -0
  901. package/assets/sfx/personagem/knife_draw_02.ogg +0 -0
  902. package/assets/sfx/personagem/knife_draw_03.ogg +0 -0
  903. package/assets/sfx/personagem/knife_scrape_01.ogg +0 -0
  904. package/assets/sfx/personagem/knife_slash_01.ogg +0 -0
  905. package/assets/sfx/personagem/knife_slash_02.ogg +0 -0
  906. package/assets/sfx/personagem/land_concrete_01.ogg +0 -0
  907. package/assets/sfx/personagem/land_concrete_02.ogg +0 -0
  908. package/assets/sfx/personagem/land_dirt_01.ogg +0 -0
  909. package/assets/sfx/personagem/land_dirt_02.ogg +0 -0
  910. package/assets/sfx/personagem/land_grass_01.ogg +0 -0
  911. package/assets/sfx/personagem/land_grass_02.ogg +0 -0
  912. package/assets/sfx/personagem/land_metal_01.ogg +0 -0
  913. package/assets/sfx/personagem/land_metal_02.ogg +0 -0
  914. package/assets/sfx/personagem/land_snow_01.ogg +0 -0
  915. package/assets/sfx/personagem/land_snow_02.ogg +0 -0
  916. package/assets/sfx/personagem/land_wood_01.ogg +0 -0
  917. package/assets/sfx/personagem/land_wood_02.ogg +0 -0
  918. package/assets/sfx/personagem/player_breath_run_01.ogg +0 -0
  919. package/assets/sfx/personagem/player_breath_run_02.ogg +0 -0
  920. package/assets/sfx/personagem/player_breath_run_03.ogg +0 -0
  921. package/assets/sfx/personagem/player_breath_run_04.ogg +0 -0
  922. package/assets/sfx/personagem/player_breath_run_05.ogg +0 -0
  923. package/assets/sfx/personagem/player_death_female_01.ogg +0 -0
  924. package/assets/sfx/personagem/player_death_female_02.ogg +0 -0
  925. package/assets/sfx/personagem/player_death_female_03.ogg +0 -0
  926. package/assets/sfx/personagem/player_death_female_04.ogg +0 -0
  927. package/assets/sfx/personagem/player_death_female_05.ogg +0 -0
  928. package/assets/sfx/personagem/player_death_female_06.ogg +0 -0
  929. package/assets/sfx/personagem/player_death_female_07.ogg +0 -0
  930. package/assets/sfx/personagem/player_death_female_08.ogg +0 -0
  931. package/assets/sfx/personagem/player_death_male_01.ogg +0 -0
  932. package/assets/sfx/personagem/player_death_male_02.ogg +0 -0
  933. package/assets/sfx/personagem/player_death_male_03.ogg +0 -0
  934. package/assets/sfx/personagem/player_death_male_04.ogg +0 -0
  935. package/assets/sfx/personagem/player_death_male_05.ogg +0 -0
  936. package/assets/sfx/personagem/player_death_male_06.ogg +0 -0
  937. package/assets/sfx/personagem/player_death_male_07.ogg +0 -0
  938. package/assets/sfx/personagem/player_death_male_08.ogg +0 -0
  939. package/assets/sfx/personagem/player_effort_01.ogg +0 -0
  940. package/assets/sfx/personagem/player_effort_02.ogg +0 -0
  941. package/assets/sfx/personagem/player_effort_03.ogg +0 -0
  942. package/assets/sfx/personagem/player_effort_04.ogg +0 -0
  943. package/assets/sfx/personagem/player_hurt_female_01.ogg +0 -0
  944. package/assets/sfx/personagem/player_hurt_female_02.ogg +0 -0
  945. package/assets/sfx/personagem/player_hurt_female_03.ogg +0 -0
  946. package/assets/sfx/personagem/player_hurt_female_04.ogg +0 -0
  947. package/assets/sfx/personagem/player_hurt_female_05.ogg +0 -0
  948. package/assets/sfx/personagem/player_hurt_female_06.ogg +0 -0
  949. package/assets/sfx/personagem/player_hurt_male_01.ogg +0 -0
  950. package/assets/sfx/personagem/player_hurt_male_02.ogg +0 -0
  951. package/assets/sfx/personagem/player_hurt_male_03.ogg +0 -0
  952. package/assets/sfx/personagem/player_hurt_male_04.ogg +0 -0
  953. package/assets/sfx/personagem/player_hurt_male_05.ogg +0 -0
  954. package/assets/sfx/personagem/player_hurt_male_06.ogg +0 -0
  955. package/assets/sfx/personagem/punch_hit_alt_01.ogg +0 -0
  956. package/assets/sfx/personagem/punch_hit_alt_02.ogg +0 -0
  957. package/assets/sfx/personagem/punch_hit_alt_03.ogg +0 -0
  958. package/assets/sfx/personagem/punch_hit_alt_04.ogg +0 -0
  959. package/assets/sfx/personagem/punch_hit_alt_05.ogg +0 -0
  960. package/assets/sfx/personagem/punch_hit_alt_06.ogg +0 -0
  961. package/assets/sfx/personagem/punch_hit_alt_07.ogg +0 -0
  962. package/assets/sfx/personagem/punch_hit_alt_08.ogg +0 -0
  963. package/assets/sfx/personagem/punch_hit_alt_09.ogg +0 -0
  964. package/assets/sfx/personagem/punch_hit_alt_10.ogg +0 -0
  965. package/assets/sfx/personagem/punch_hit_body_01.ogg +0 -0
  966. package/assets/sfx/personagem/punch_hit_body_02.ogg +0 -0
  967. package/assets/sfx/personagem/punch_hit_body_03.ogg +0 -0
  968. package/assets/sfx/personagem/punch_hit_body_04.ogg +0 -0
  969. package/assets/sfx/personagem/punch_hit_body_05.ogg +0 -0
  970. package/assets/sfx/personagem/punch_hit_body_06.ogg +0 -0
  971. package/assets/sfx/personagem/punch_hit_face_01.ogg +0 -0
  972. package/assets/sfx/personagem/punch_hit_face_02.ogg +0 -0
  973. package/assets/sfx/personagem/punch_hit_face_03.ogg +0 -0
  974. package/assets/sfx/personagem/punch_hit_face_04.ogg +0 -0
  975. package/assets/sfx/personagem/punch_hit_face_05.ogg +0 -0
  976. package/assets/sfx/personagem/punch_swing_01.ogg +0 -0
  977. package/assets/sfx/personagem/punch_swing_02.ogg +0 -0
  978. package/assets/sfx/personagem/punch_swing_03.ogg +0 -0
  979. package/assets/sfx/personagem/punch_swing_04.ogg +0 -0
  980. package/assets/sfx/personagem/punch_swing_05.ogg +0 -0
  981. package/assets/sfx/personagem/punch_swing_06.ogg +0 -0
  982. package/assets/sfx/personagem/punch_swing_07.ogg +0 -0
  983. package/assets/sfx/personagem/punch_swing_08.ogg +0 -0
  984. package/assets/sfx/personagem/scream_01.ogg +0 -0
  985. package/assets/sfx/personagem/scream_02.ogg +0 -0
  986. package/assets/sfx/personagem/scream_03.ogg +0 -0
  987. package/assets/sfx/personagem/scream_04.ogg +0 -0
  988. package/assets/sfx/personagem/slap_01.ogg +0 -0
  989. package/assets/sfx/personagem/swing_whoosh_alt_01.ogg +0 -0
  990. package/assets/sfx/personagem/swing_whoosh_alt_02.ogg +0 -0
  991. package/assets/sfx/personagem/swing_whoosh_alt_03.ogg +0 -0
  992. package/assets/sfx/personagem/swing_whoosh_alt_04.ogg +0 -0
  993. package/assets/sfx/personagem/swing_whoosh_alt_05.ogg +0 -0
  994. package/assets/sfx/personagem/swing_whoosh_alt_06.ogg +0 -0
  995. package/assets/sfx/personagem/swing_whoosh_alt_07.ogg +0 -0
  996. package/assets/sfx/personagem/swing_whoosh_alt_08.ogg +0 -0
  997. package/assets/sfx/personagem/swing_whoosh_alt_09.ogg +0 -0
  998. package/assets/sfx/personagem/swing_whoosh_alt_10.ogg +0 -0
  999. package/assets/sfx/personagem/swing_whoosh_alt_11.ogg +0 -0
  1000. package/assets/sfx/personagem/swing_whoosh_alt_12.ogg +0 -0
  1001. package/assets/sfx/personagem/swing_whoosh_alt_13.ogg +0 -0
  1002. package/assets/sfx/personagem/swing_whoosh_alt_14.ogg +0 -0
  1003. package/assets/sfx/personagem/swing_whoosh_alt_15.ogg +0 -0
  1004. package/assets/sfx/personagem/swing_whoosh_alt_16.ogg +0 -0
  1005. package/assets/sfx/personagem/swing_whoosh_alt_17.ogg +0 -0
  1006. package/assets/sfx/personagem/swing_whoosh_alt_18.ogg +0 -0
  1007. package/assets/sfx/personagem/swing_whoosh_alt_19.ogg +0 -0
  1008. package/assets/sfx/personagem/swing_whoosh_alt_20.ogg +0 -0
  1009. package/assets/sfx/personagem/swing_whoosh_alt_21.ogg +0 -0
  1010. package/assets/sfx/personagem/swing_whoosh_alt_22.ogg +0 -0
  1011. package/assets/sfx/personagem/swing_whoosh_alt_23.ogg +0 -0
  1012. package/assets/sfx/personagem/swing_whoosh_alt_24.ogg +0 -0
  1013. package/assets/sfx/personagem/swing_whoosh_alt_25.ogg +0 -0
  1014. package/assets/sfx/personagem/swing_whoosh_alt_26.ogg +0 -0
  1015. package/assets/sfx/personagem/swing_whoosh_alt_27.ogg +0 -0
  1016. package/assets/sfx/personagem/swing_whoosh_alt_28.ogg +0 -0
  1017. package/assets/sfx/personagem/swing_whoosh_alt_29.ogg +0 -0
  1018. package/assets/sfx/personagem/swing_whoosh_alt_30.ogg +0 -0
  1019. package/assets/sfx/personagem/swing_whoosh_alt_31.ogg +0 -0
  1020. package/assets/sfx/personagem/swing_whoosh_alt_32.ogg +0 -0
  1021. package/assets/sfx/personagem/swing_whoosh_alt_33.ogg +0 -0
  1022. package/assets/sfx/personagem/swing_whoosh_alt_34.ogg +0 -0
  1023. package/assets/sfx/personagem/swing_whoosh_alt_35.ogg +0 -0
  1024. package/assets/sfx/personagem/swing_whoosh_alt_36.ogg +0 -0
  1025. package/assets/sfx/personagem/swing_whoosh_alt_37.ogg +0 -0
  1026. package/assets/sfx/personagem/swing_whoosh_alt_38.ogg +0 -0
  1027. package/assets/sfx/personagem/swing_whoosh_alt_39.ogg +0 -0
  1028. package/assets/sfx/personagem/swing_whoosh_alt_40.ogg +0 -0
  1029. package/assets/sfx/personagem/swing_whoosh_alt_41.ogg +0 -0
  1030. package/assets/sfx/personagem/swing_whoosh_alt_42.ogg +0 -0
  1031. package/assets/sfx/personagem/swing_whoosh_alt_43.ogg +0 -0
  1032. package/assets/sfx/personagem/zombie_creature_01.ogg +0 -0
  1033. package/assets/sfx/personagem/zombie_creature_02.ogg +0 -0
  1034. package/assets/sfx/personagem/zombie_creature_03.ogg +0 -0
  1035. package/assets/sfx/personagem/zombie_death_01.ogg +0 -0
  1036. package/assets/sfx/personagem/zombie_death_02.ogg +0 -0
  1037. package/assets/sfx/personagem/zombie_death_03.ogg +0 -0
  1038. package/assets/sfx/personagem/zombie_death_04.ogg +0 -0
  1039. package/assets/sfx/personagem/zombie_death_05.ogg +0 -0
  1040. package/assets/sfx/personagem/zombie_death_06.ogg +0 -0
  1041. package/assets/sfx/personagem/zombie_death_07.ogg +0 -0
  1042. package/assets/sfx/personagem/zombie_death_08.ogg +0 -0
  1043. package/assets/sfx/personagem/zombie_groan_01.ogg +0 -0
  1044. package/assets/sfx/personagem/zombie_groan_02.ogg +0 -0
  1045. package/assets/sfx/personagem/zombie_groan_03.ogg +0 -0
  1046. package/assets/sfx/personagem/zombie_groan_04.ogg +0 -0
  1047. package/assets/sfx/personagem/zombie_groan_05.ogg +0 -0
  1048. package/assets/sfx/personagem/zombie_groan_06.ogg +0 -0
  1049. package/assets/sfx/personagem/zombie_groan_07.ogg +0 -0
  1050. package/assets/sfx/personagem/zombie_groan_08.ogg +0 -0
  1051. package/assets/sfx/personagem/zombie_groan_09.ogg +0 -0
  1052. package/assets/sfx/personagem/zombie_groan_10.ogg +0 -0
  1053. package/assets/sfx/personagem/zombie_groan_11.ogg +0 -0
  1054. package/assets/sfx/veiculos/car_door_open_01.ogg +0 -0
  1055. package/assets/sfx/veiculos/car_door_shut_01.ogg +0 -0
  1056. package/assets/sfx/veiculos/car_gear_shift_01.ogg +0 -0
  1057. package/assets/sfx/veiculos/car_trunk_shut_01.ogg +0 -0
  1058. package/assets/sfx/veiculos/car_window_01.ogg +0 -0
  1059. package/assets/sfx/veiculos/car_window_02.ogg +0 -0
  1060. package/assets/sfx/veiculos/engine_loop_car_high_01.ogg +0 -0
  1061. package/assets/sfx/veiculos/engine_loop_car_idle_01.ogg +0 -0
  1062. package/assets/sfx/veiculos/engine_start_run_stop_01.ogg +0 -0
  1063. package/assets/sfx/veiculos/engine_start_run_stop_02.ogg +0 -0
  1064. package/dist/chunk-BXUGSOPY.js.map +0 -1
package/README.md CHANGED
@@ -103,5 +103,48 @@ engine.play('pistol_9mm', { position: [10, 0, -40], environment: 'indoor', delay
103
103
  - Each play: a take drawn among all but the last one (round-robin, never twice in a row), the rate ± `pitch` (default 4 %), the level by `falloff`, a lowpass by distance (`cutoffK`) and behind a wall (`occlusion`), the pan.
104
104
  - Sample voices of a bus go through a zero-delay limiter (ceiling −1 dBFS); `choke: { voices }` fades the oldest plays of a sound for rapid fire.
105
105
  - `onVoiceStart` reports every voice (recipe or sample, the files and takes, `requestedAt` / `startAt`): the event log the criteria measure.
106
- - Files: drop them in `assets/sfx-inbox/<categoria>/` with a line in its `CREDITOS.md` and run `pnpm --filter @adatechnology/game-audio sfx:convert` (ffmpeg): Ogg Vorbis mono 48 kHz, −1 dBFS peak, attack on the first ms, `manifest.json` and `CREDITOS.md`. Only CC0 and CC-BY go into the SDK.
106
+ - **No audio ships in the kit.** `assets/sfx/manifest.json` is only the references (sound id → path, with source, author and licence) and
107
+ `assets/sfx/CREDITOS.md` the credits; the files live in the game's repository (ZombiAdA `assets/sfx/<categoria>/`, originals in
108
+ `assets/sfx-originais/`). A game serves that folder and passes it as `baseUrl`; a take whose file is missing plays the recipe of its id.
109
+ - On this machine, `scripts/sfx-dir.mjs` says where the files are: `KIT_SFX_DIR` / `KIT_SFX_INBOX`, or `.sfx-local.json` at the repo root (ignored
110
+ by git) `{ "kit": "../zombiada/assets/sfx", "inbox": "../zombiada/assets/sfx-originais" }`, or `.sfx/` and `.sfx-inbox/`. The test room links
111
+ them into `dist/sfx/`; the tests that read files skip without them; CI fails on any audio file tracked by git.
112
+ - New files: the original in `<inbox>/<categoria>/` with a line in its `CREDITOS.md`, then `pnpm --filter @adatechnology/game-audio sfx:convert`
113
+ (ffmpeg): Ogg Vorbis mono 48 kHz, −1 dBFS peak, attack on the first ms, written to the game's folder, with the manifest and credits updated here.
114
+ Only CC0 and CC-BY (the kit and the game are public).
107
115
  - Measuring: `measureCriteria({ sound, banks, loader })` renders C1–C9 through the real engine on an `OfflineAudioContext`; the test room's `?area=sound_check_area` (`createSoundCheckModule`) runs it on a button and records 3 s for C10. `CALIBRATION_SOUND` is a kit-made sample sound (no file) with every layer, for checking the path end to end.
116
+
117
+ ## Local sound pack (your own files, by config)
118
+
119
+ A project can answer any SDK sound id with its own files, kept in its own folders and never in the SDK. A JSON config maps each id to its takes:
120
+
121
+ ```json
122
+ {
123
+ "version": 1,
124
+ "baseUrl": "audio/",
125
+ "sounds": {
126
+ "pistol_9mm": { "files": ["weapons/pistol_01.ogg", "weapons/pistol_02.ogg"], "license": "CC0" },
127
+ "door_wood_close": { "files": ["doors/close.ogg"], "license": "CC-BY", "score": 7 }
128
+ }
129
+ }
130
+ ```
131
+
132
+ ```ts
133
+ import { applyLocalSoundPack, parseLocalSoundPack } from '@adatechnology/game-audio'
134
+
135
+ const pack = applyLocalSoundPack(engine, parseLocalSoundPack(await (await fetch('audio/pack.json')).json()), { baseUrl: 'audio/' })
136
+ await pack.done // { file: ids now playing your files, fallback: ids whose files failed }
137
+ pack.unlicensed() // ids playing a file whose licence is not CC0 / CC-BY
138
+ pack.dispose() // every id gets its previous sound back
139
+ ```
140
+
141
+ - Urls are `baseUrl + file`: a folder served next to the page or any url (`https://cdn.example/sfx/`). `options.baseUrl` overrides the config's.
142
+ - Nothing runs in the frame a sound plays: each id's files are fetched and decoded in idle time (`requestIdleCallback`, one id per slot), once per
143
+ url and shared by every voice. Until they decode the id plays what it played before (the SDK recording, else the synthesized recipe); a file that
144
+ fails leaves the id on the SDK sound for good, decided once at load.
145
+ - `license` is `CC0`, `CC-BY`, `unknown` or `proprietary`. The sound panel (`createSoundCheckModule`, metric "File without licence") lists the ids
146
+ playing a file that is not CC0 / CC-BY: those may be tried locally but cannot ship.
147
+ - `parseLocalSoundPack` validates at the boundary and throws `LocalSoundPackError` with every problem at once.
148
+ - In this repo the test room reads `audio.local.json` at the root (git-ignored; see `examples/test-room/audio.local.example.json`, with `root` the
149
+ folder of the files): `tools/local-audio/local-audio.mjs link` symlinks it into `dist/local-audio/`, and `guard` / `guard-git` (build, site build,
150
+ pre-commit and CI) fail if a local file reaches a build or git.
@@ -1,7 +1,7 @@
1
1
  # Créditos dos sons
2
2
 
3
- Gerado por `scripts/sfx-convert.mjs` a partir de `assets/sfx-inbox/CREDITOS.md`. Pasta: `packages/game-audio/assets/sfx`.
4
- Só CC0 e CC-BY entram no SDK; quem usa um som CC-BY credita o autor abaixo.
3
+ Gerado por `scripts/sfx-convert.mjs` a partir do `CREDITOS.md` dos originais. Os arquivos ficam fora do kit (ZombiAdA `assets/sfx/`); aqui só as referências.
4
+ Só CC0 e CC-BY (o kit e o jogo são públicos); quem usa um som CC-BY credita o autor abaixo.
5
5
 
6
6
  | arquivo | fonte | autor | licença |
7
7
  |---|---|---|---|
@@ -1,3 +1,7 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
+
1
5
  // src/falloff.ts
2
6
  var DISTANCE_CURVES = {
3
7
  /** The game's `sfx`: `vol / (1 + d² × 0.004)`, cutoff `/ (1 + d × 0.01)`, silent below 0.01 (jogo L62091–62092, L62101). */
@@ -380,12 +384,46 @@ function mergeRecords(base, patch) {
380
384
  }
381
385
  return merged;
382
386
  }
387
+ var trimmed = (refs, alias) => refs.map((ref) => ({
388
+ ...ref,
389
+ ...alias.offset === void 0 ? {} : { offset: alias.offset },
390
+ ...alias.duration === void 0 ? {} : { duration: alias.duration }
391
+ }));
392
+ function aliasSample(alias, file) {
393
+ const { tiers: _tiers, fallback: _fallback, choke: _choke, ...rest } = file;
394
+ return {
395
+ ...rest,
396
+ id: alias.id,
397
+ close: trimmed(file.close, alias),
398
+ ...file.far ? { far: trimmed(file.far, alias) } : {},
399
+ ...alias.loop === void 0 ? {} : { loop: alias.loop },
400
+ ...alias.baseFrequency === void 0 ? {} : { baseFrequency: alias.baseFrequency },
401
+ ...alias.gain === void 0 ? {} : { gain: alias.gain },
402
+ ...alias.pitch === void 0 ? {} : { pitch: alias.pitch },
403
+ ...alias.falloff ? { falloff: alias.falloff } : {},
404
+ fallback: alias.id,
405
+ sources: [...file.sources, `alias: ${alias.id} \u2192 ${alias.file}`]
406
+ };
407
+ }
383
408
  function createSoundRegistry(banks = []) {
384
409
  const sounds = /* @__PURE__ */ new Map();
385
410
  const loops = /* @__PURE__ */ new Map();
386
411
  const sets = /* @__PURE__ */ new Map();
387
412
  const samples = /* @__PURE__ */ new Map();
388
413
  const owners = /* @__PURE__ */ new Map();
414
+ const aliases = /* @__PURE__ */ new Map();
415
+ const derived = /* @__PURE__ */ new Map();
416
+ const resolveAlias = (id) => {
417
+ const alias = aliases.get(id);
418
+ if (!alias) return void 0;
419
+ const cached = derived.get(id);
420
+ if (cached) return cached;
421
+ const file = samples.get(alias.file);
422
+ if (!file) return void 0;
423
+ const sample = aliasSample(alias, file);
424
+ derived.set(id, sample);
425
+ return sample;
426
+ };
389
427
  const registry = {
390
428
  register(bank) {
391
429
  for (const sound of bank.sounds ?? []) {
@@ -405,6 +443,11 @@ function createSoundRegistry(banks = []) {
405
443
  samples.set(sample.id, sample);
406
444
  owners.set(sample.id, bank.id);
407
445
  }
446
+ for (const alias of bank.sampleAliases ?? []) {
447
+ aliases.set(alias.id, alias);
448
+ if (!owners.has(alias.id)) owners.set(alias.id, bank.id);
449
+ }
450
+ derived.clear();
408
451
  },
409
452
  patch(id, patch) {
410
453
  const sound = sounds.get(id);
@@ -413,22 +456,31 @@ function createSoundRegistry(banks = []) {
413
456
  if (loop) loops.set(id, mergeRecords(loop, patch));
414
457
  const sample = samples.get(id);
415
458
  if (sample) samples.set(id, mergeRecords(sample, patch));
459
+ derived.clear();
416
460
  },
417
461
  remove(id) {
418
462
  sounds.delete(id);
419
463
  loops.delete(id);
420
464
  sets.delete(id);
421
465
  samples.delete(id);
466
+ aliases.delete(id);
422
467
  owners.delete(id);
468
+ derived.clear();
469
+ },
470
+ removeSample(id) {
471
+ samples.delete(id);
472
+ aliases.delete(id);
473
+ if (!sounds.has(id) && !loops.has(id) && !sets.has(id)) owners.delete(id);
474
+ derived.clear();
423
475
  },
424
476
  sound: (id) => sounds.get(id),
425
477
  loop: (id) => loops.get(id),
426
478
  set: (id) => sets.get(id),
427
- sample: (id) => samples.get(id),
479
+ sample: (id) => samples.get(id) ?? resolveAlias(id),
428
480
  soundIds: () => [...sounds.keys()],
429
481
  setIds: () => [...sets.keys()],
430
482
  loopIds: () => [...loops.keys()],
431
- sampleIds: () => [...samples.keys()],
483
+ sampleIds: () => [...samples.keys(), ...[...aliases.keys()].filter((id) => !samples.has(id) && resolveAlias(id) !== void 0)],
432
484
  bankOf: (id) => owners.get(id)
433
485
  };
434
486
  for (const bank of banks) registry.register(bank);
@@ -1071,7 +1123,16 @@ function planSample(sound, input) {
1071
1123
  const index = pickTake(refs.length, input.memory?.get(key), input.random);
1072
1124
  input.memory?.set(key, index);
1073
1125
  const ref = refs[index];
1074
- layers.push({ role, url: ref.url, take: index, gain: gain * (ref.gain ?? 1) * level, rate, at });
1126
+ layers.push({
1127
+ role,
1128
+ url: ref.url,
1129
+ take: index,
1130
+ gain: gain * (ref.gain ?? 1) * level,
1131
+ rate,
1132
+ at,
1133
+ ...ref.offset === void 0 ? {} : { offset: ref.offset },
1134
+ ...ref.duration === void 0 ? {} : { duration: ref.duration }
1135
+ });
1075
1136
  };
1076
1137
  take("close", close, gains.close, 0);
1077
1138
  take("far", far, gains.far, 0);
@@ -1100,6 +1161,8 @@ function planSample(sound, input) {
1100
1161
  var DEFAULT_LOOP_CROSSFADE = 0.25;
1101
1162
  var LOOKAHEAD = 1.5;
1102
1163
  var VOLUME_SMOOTHING = 0.05;
1164
+ var RATE_SMOOTHING = 0.04;
1165
+ var RATE_RANGE = [0.25, 4];
1103
1166
  function loopCrossfade(sound) {
1104
1167
  if (!sound.loop) return void 0;
1105
1168
  return sound.loop === true ? DEFAULT_LOOP_CROSSFADE : Math.max(0, sound.loop.crossfade ?? DEFAULT_LOOP_CROSSFADE);
@@ -1111,6 +1174,7 @@ var ramp2 = (param, direction, at, seconds) => {
1111
1174
  param.setValueAtTime(value(0), at);
1112
1175
  for (let step = 1; step <= CROSSFADE_STEPS; step++) param.linearRampToValueAtTime(value(step / CROSSFADE_STEPS), at + seconds * step / CROSSFADE_STEPS);
1113
1176
  };
1177
+ var loopRate = (sound, frequency) => sound.baseFrequency && sound.baseFrequency > 0 && frequency > 0 ? Math.max(RATE_RANGE[0], Math.min(RATE_RANGE[1], frequency / sound.baseFrequency)) : 1;
1114
1178
  function createSampleLoopHandle(sound, host, volume = 0) {
1115
1179
  const crossfade = loopCrossfade(sound) ?? DEFAULT_LOOP_CROSSFADE;
1116
1180
  let level = volume;
@@ -1120,13 +1184,17 @@ function createSampleLoopHandle(sound, host, volume = 0) {
1120
1184
  let segments = [];
1121
1185
  let last;
1122
1186
  let timer;
1187
+ let panner;
1188
+ let rate = 1;
1189
+ let position;
1123
1190
  const entry = {
1124
1191
  get created() {
1125
1192
  return master !== void 0;
1126
1193
  },
1127
1194
  rewire() {
1128
- master?.disconnect();
1129
- master?.connect(host.output(sound.bus));
1195
+ const out = panner ?? master;
1196
+ out?.disconnect();
1197
+ out?.connect(host.output(sound.bus));
1130
1198
  },
1131
1199
  stop() {
1132
1200
  stopped = true;
@@ -1143,23 +1211,29 @@ function createSampleLoopHandle(sound, host, volume = 0) {
1143
1211
  segments = [];
1144
1212
  master?.disconnect();
1145
1213
  master = void 0;
1214
+ panner?.disconnect();
1215
+ panner = void 0;
1146
1216
  fallback?.stop();
1147
1217
  fallback = void 0;
1148
1218
  host.unregister(entry);
1149
1219
  }
1150
1220
  };
1151
- const nextBuffer = () => {
1221
+ const nextTake = () => {
1152
1222
  const takes = sound.close;
1153
1223
  const take = pickTake(takes.length, last, host.random);
1154
1224
  last = take;
1155
1225
  const ref = takes[take];
1156
- return ref ? host.buffer(ref.url) : void 0;
1226
+ const buffer = ref ? host.buffer(ref.url) : void 0;
1227
+ return ref && buffer ? { buffer, ref } : void 0;
1157
1228
  };
1158
1229
  const schedule = (context, output, at, first) => {
1159
- const buffer = nextBuffer();
1160
- if (!buffer) return void 0;
1230
+ const next = nextTake();
1231
+ if (!next) return void 0;
1232
+ const { buffer, ref } = next;
1233
+ const offset = Math.max(0, Math.min(ref.offset ?? 0, buffer.duration));
1161
1234
  const source = context.createBufferSource();
1162
1235
  source.buffer = buffer;
1236
+ source.playbackRate.value = rate;
1163
1237
  const gain = context.createGain();
1164
1238
  source.connect(gain);
1165
1239
  gain.connect(output);
@@ -1167,15 +1241,15 @@ function createSampleLoopHandle(sound, host, volume = 0) {
1167
1241
  if (buffer.duration < 2 * crossfade || sound.close.length === 1) {
1168
1242
  source.loop = true;
1169
1243
  if (!first) ramp2(gain.gain, "in", at, Math.max(1e-3, fade));
1170
- source.start(at);
1244
+ source.start(at, offset);
1171
1245
  segments.push({ source, gain, end: Number.POSITIVE_INFINITY });
1172
1246
  return void 0;
1173
1247
  }
1174
1248
  if (first) gain.gain.setValueAtTime(1, at);
1175
1249
  else ramp2(gain.gain, "in", at, fade);
1176
- const end3 = at + buffer.duration;
1250
+ const end3 = at + (buffer.duration - offset) / rate;
1177
1251
  ramp2(gain.gain, "out", end3 - fade, fade);
1178
- source.start(at);
1252
+ source.start(at, offset);
1179
1253
  source.stop(end3);
1180
1254
  segments.push({ source, gain, end: end3 });
1181
1255
  source.onended = () => {
@@ -1196,14 +1270,26 @@ function createSampleLoopHandle(sound, host, volume = 0) {
1196
1270
  pump(context, output, next, false);
1197
1271
  }, wait);
1198
1272
  };
1199
- const fileLevel = () => level * (sound.gain ?? 1);
1273
+ const spatial = () => {
1274
+ if (!position || !host.listener) return 1;
1275
+ return falloffGain(sound.falloff ?? DEFAULT_SAMPLE_FALLOFF, 1, listenerDistance(host.listener(), position, host.distance));
1276
+ };
1277
+ const fileLevel = () => level * (sound.gain ?? 1) * spatial();
1278
+ const place = (context) => {
1279
+ if (panner && position && host.listener) panner.pan.setTargetAtTime(panFor(host.listener(), position), context.currentTime, VOLUME_SMOOTHING);
1280
+ };
1200
1281
  const startFiles = () => {
1201
1282
  if (stopped || master || !host.isReady(sound)) return master !== void 0;
1202
1283
  const context = host.ready();
1203
1284
  if (!context) return false;
1204
1285
  master = context.createGain();
1205
1286
  master.gain.setValueAtTime(fileLevel(), context.currentTime);
1206
- master.connect(host.output(sound.bus));
1287
+ if (sound.pan !== false && position && typeof context.createStereoPanner === "function") {
1288
+ panner = context.createStereoPanner();
1289
+ if (host.listener) panner.pan.value = panFor(host.listener(), position);
1290
+ master.connect(panner);
1291
+ panner.connect(host.output(sound.bus));
1292
+ } else master.connect(host.output(sound.bus));
1207
1293
  host.register(entry);
1208
1294
  pump(context, master, context.currentTime, true);
1209
1295
  if (fallback) {
@@ -1229,9 +1315,15 @@ function createSampleLoopHandle(sound, host, volume = 0) {
1229
1315
  set(next) {
1230
1316
  if (stopped) return;
1231
1317
  if (next.volume !== void 0) level = host.muted(sound.bus) ? 0 : Math.max(0, next.volume);
1318
+ if (next.position) position = next.position;
1319
+ if (next.frequency !== void 0 && sound.baseFrequency) rate = loopRate(sound, next.frequency);
1232
1320
  if (level > 0) ensure();
1233
1321
  const context = host.ready();
1234
- if (master && context) master.gain.setTargetAtTime(fileLevel(), context.currentTime, VOLUME_SMOOTHING);
1322
+ if (master && context) {
1323
+ master.gain.setTargetAtTime(fileLevel(), context.currentTime, VOLUME_SMOOTHING);
1324
+ place(context);
1325
+ if (next.frequency !== void 0 && sound.baseFrequency) for (const segment of segments) segment.source.playbackRate.setTargetAtTime(rate, context.currentTime, RATE_SMOOTHING);
1326
+ }
1235
1327
  fallback?.set(next.volume === void 0 ? next : { ...next, volume: level });
1236
1328
  },
1237
1329
  stop: entry.stop
@@ -1859,6 +1951,7 @@ function createSampleStore(loader = fetchLoader()) {
1859
1951
  }
1860
1952
 
1861
1953
  // src/webaudio/realize-sample.ts
1954
+ var TRIM_FADE = 0.04;
1862
1955
  function realizeSample(plan, target) {
1863
1956
  const context = target.context;
1864
1957
  let head = target.output;
@@ -1889,7 +1982,17 @@ function realizeSample(plan, target) {
1889
1982
  const gain = gainNode(context, layer.gain);
1890
1983
  source.connect(gain);
1891
1984
  gain.connect(head);
1892
- source.start(target.time + layer.at);
1985
+ const at = target.time + layer.at;
1986
+ const offset = Math.max(0, Math.min(layer.offset ?? 0, buffer.duration));
1987
+ if (layer.duration === void 0) source.start(at, offset);
1988
+ else {
1989
+ const duration = Math.max(0, Math.min(layer.duration, buffer.duration - offset));
1990
+ const end3 = at + duration / layer.rate;
1991
+ const fade = Math.min(TRIM_FADE, (end3 - at) / 4);
1992
+ gain.gain.setValueAtTime(layer.gain, end3 - fade);
1993
+ gain.gain.linearRampToValueAtTime(0, end3);
1994
+ source.start(at, offset, duration);
1995
+ }
1893
1996
  sources.push(source);
1894
1997
  }
1895
1998
  const realized = voiceOf(sources);
@@ -1909,7 +2012,11 @@ function realizeSample(plan, target) {
1909
2012
  }
1910
2013
  function sampleLength(plan, seconds) {
1911
2014
  let length = 0;
1912
- for (const layer of plan.layers) length = Math.max(length, layer.at + (seconds(layer.url) ?? 0) / layer.rate);
2015
+ for (const layer of plan.layers) {
2016
+ const file = seconds(layer.url) ?? 0;
2017
+ const played = layer.duration === void 0 ? file - (layer.offset ?? 0) : Math.min(layer.duration, file - (layer.offset ?? 0));
2018
+ length = Math.max(length, layer.at + Math.max(0, played) / layer.rate);
2019
+ }
1913
2020
  return length;
1914
2021
  }
1915
2022
 
@@ -2298,7 +2405,9 @@ function createAudioEngine(options = {}) {
2298
2405
  random: engineRandom,
2299
2406
  register: loopHost.register,
2300
2407
  unregister: loopHost.unregister,
2301
- muted: (bus) => busSettings.get(bus)?.muted === true
2408
+ muted: (bus) => busSettings.get(bus)?.muted === true,
2409
+ listener: () => listener,
2410
+ ...options.distance ? { distance: options.distance } : {}
2302
2411
  },
2303
2412
  loopOptions.volume
2304
2413
  );
@@ -3684,7 +3793,16 @@ var KIT_SAMPLE_ALIASES = {
3684
3793
  // a drawer stays on its recipe: the recorded runs (1 to 1.9 s) outlast a drawer's pull
3685
3794
  // an item taken in the hand (game-destruction-three grab_* keys)
3686
3795
  grab_hard: "item_pickup_generic",
3687
- grab_soft: "item_pickup_leather"
3796
+ grab_soft: "item_pickup_leather",
3797
+ // the hand foley of the test room (game-audio FOLEY_BANK) whose id is not a file id: a wooden leaf shut and slammed, an item picked up by material.
3798
+ // The metal door stays on its recipe (two of its takes run 10 s), and so do the fridge, the microwave and paper (no file for them).
3799
+ door_wood_close: "door_wood_shut",
3800
+ door_wood_slam: "door_slam_wood",
3801
+ item_pickup_metal: "item_pickup_generic",
3802
+ item_pickup_plastic: "item_pickup_generic",
3803
+ item_pickup_glass: "item_pickup_generic",
3804
+ item_pickup_wood: "item_pickup_generic",
3805
+ item_pickup_fabric: "item_pickup_leather"
3688
3806
  };
3689
3807
  function kitSampleDefaults(sound) {
3690
3808
  const bus = VOICE_IDS.test(sound.id) ? "voices" : KIT_CATEGORY_BUS[sound.category];
@@ -3735,6 +3853,68 @@ async function loadKitSamples(engine, options = {}) {
3735
3853
  return bank;
3736
3854
  }
3737
3855
 
3856
+ // src/local-pack.ts
3857
+ var LOCAL_PACK_LICENSES = ["CC0", "CC-BY", "unknown", "proprietary"];
3858
+ var LOCAL_PACK_PREFERENCES = ["pack", "sdk"];
3859
+ var LocalSoundPackError = class extends Error {
3860
+ constructor(problems) {
3861
+ super(`invalid local sound pack: ${problems.join("; ")}`);
3862
+ __publicField(this, "problems");
3863
+ this.name = "LocalSoundPackError";
3864
+ this.problems = problems;
3865
+ }
3866
+ };
3867
+ var isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
3868
+ var isLicense = (value) => LOCAL_PACK_LICENSES.includes(value);
3869
+ var isBus = (value) => BUS_IDS.includes(value);
3870
+ function entryProblems(id, entry) {
3871
+ if (!isRecord(entry)) return [`${id}: not an object`];
3872
+ const problems = [];
3873
+ const files = entry.files;
3874
+ if (!Array.isArray(files) || files.length === 0 || !files.every((file) => typeof file === "string" && file.length > 0)) problems.push(`${id}: files must be a non-empty list of paths`);
3875
+ if (!isLicense(entry.license)) problems.push(`${id}: license must be one of ${LOCAL_PACK_LICENSES.join(", ")}`);
3876
+ if (entry.prefer !== void 0 && !LOCAL_PACK_PREFERENCES.includes(entry.prefer)) problems.push(`${id}: prefer must be pack or sdk`);
3877
+ if (entry.bus !== void 0 && !isBus(entry.bus)) problems.push(`${id}: unknown bus ${String(entry.bus)}`);
3878
+ if (entry.gain !== void 0 && (typeof entry.gain !== "number" || entry.gain < 0)) problems.push(`${id}: gain must be a number \u2265 0`);
3879
+ if (entry.score !== void 0 && (typeof entry.score !== "number" || entry.score < 0 || entry.score > 10)) problems.push(`${id}: score must be 0\u201310`);
3880
+ return problems;
3881
+ }
3882
+ function parseLocalSoundPack(value) {
3883
+ if (!isRecord(value)) throw new LocalSoundPackError(["the pack is not an object"]);
3884
+ const problems = [];
3885
+ if (value.version !== 1) problems.push("version must be 1");
3886
+ if (value.baseUrl !== void 0 && typeof value.baseUrl !== "string") problems.push("baseUrl must be a string");
3887
+ if (!isRecord(value.sounds)) problems.push("sounds must be an object of id \u2192 entry");
3888
+ else for (const [id, entry] of Object.entries(value.sounds)) problems.push(...entryProblems(id, entry));
3889
+ if (problems.length > 0) throw new LocalSoundPackError(problems);
3890
+ return value;
3891
+ }
3892
+ var isShippableLicense = (license) => SDK_LICENSES.includes(license);
3893
+ var CATALOG = new Map([...SFX_CATALOG, ...SFX_IMPACTS].map((entry) => [entry.id, entry]));
3894
+ var busOf = (id, entry) => {
3895
+ if (entry.bus) return entry.bus;
3896
+ const category = CATALOG.get(id)?.category ?? "";
3897
+ return kitSampleDefaults({ id, category })?.bus ?? "world";
3898
+ };
3899
+ function localPackSamples(pack, options = {}) {
3900
+ const baseUrl = options.baseUrl ?? pack.baseUrl ?? "";
3901
+ return Object.entries(pack.sounds).map(([id, entry]) => {
3902
+ const current = CATALOG.get(id)?.current;
3903
+ const isLoop = /_loop(_|$)/.test(id);
3904
+ return {
3905
+ id,
3906
+ bus: busOf(id, entry),
3907
+ close: entry.files.map((file) => ({ url: `${baseUrl}${file}` })),
3908
+ pitch: isLoop ? 0 : 0.04,
3909
+ ...isLoop ? { loop: true } : {},
3910
+ ...entry.gain === void 0 ? {} : { gain: entry.gain },
3911
+ ...current ? { fallback: current } : {},
3912
+ license: entry.license,
3913
+ sources: entry.files.map((file) => `local: ${file} ${entry.license}`)
3914
+ };
3915
+ });
3916
+ }
3917
+
3738
3918
  // src/user-samples.ts
3739
3919
  var USER_SAMPLES_BANK = "user_samples";
3740
3920
  var KIT_SAMPLES_BANK = "kit_samples";
@@ -3863,9 +4043,9 @@ var PT = {
3863
4043
  strengths: { light: "leve", medium: "m\xE9dio", heavy: "forte" },
3864
4044
  states: { file: "A", synth: "S", missing: "F" },
3865
4045
  criteria: { C1: "C1 Sincronia", C2: "C2 Certo p/ a\xE7\xE3o", C3: "C3 Dist\xE2ncia", C4: "C4 Posi\xE7\xE3o", C5: "C5 Varia\xE7\xE3o", C6: "C6 Volume", C7: "C7 Intensidade", C8: "C8 Cauda", C9: "C9 Rajada", C10: "C10 Escuta" },
3866
- metrics: { source: "1 \xB7 Fonte do que tocou", chosen: "1 \xB7 Escolhido", matrix: "2 \xB7 Matriz", last: "\xDAltimo tocado", ab: "4 \xB7 A \xD7 B", blind: "4 \xB7 X", verdicts: "4 \xB7 Prefer\xEAncias", state: "5 \xB7 Medi\xE7\xE3o", count: "1 \xB7 Cat\xE1logo" },
4046
+ metrics: { source: "1 \xB7 Fonte do que tocou", chosen: "1 \xB7 Escolhido", matrix: "2 \xB7 Matriz", last: "\xDAltimo tocado", ab: "4 \xB7 A \xD7 B", blind: "4 \xB7 X", verdicts: "4 \xB7 Prefer\xEAncias", state: "5 \xB7 Medi\xE7\xE3o", count: "1 \xB7 Cat\xE1logo", unlicensed: "1 \xB7 Arquivo sem licen\xE7a" },
3867
4047
  run: { idle: "parada", measuring: "medindo\u2026", done: "pronta", failed: "falhou", recording: "gravando\u2026", recorded: "grava\xE7\xE3o baixada" },
3868
- words: { none: "\u2014", hidden: "? (revele)", prefers: "prefere", approved: "aprovado pelo dono" },
4048
+ words: { none: "\u2014", hidden: "? (revele)", prefers: "prefere", approved: "aprovado pelo dono", local_file: "arquivo do pacote local", sdk_file: "grava\xE7\xE3o do SDK", synth: "s\xEDntese do SDK" },
3869
4049
  sources: { sdk: "SDK", user: "seu som", synth: "sintetizado" },
3870
4050
  probe: "Fonte do som",
3871
4051
  wall: "Parede (oclus\xE3o)",
@@ -3936,9 +4116,9 @@ var EN2 = {
3936
4116
  environments: { indoor: "indoor", outdoor: "outdoor" },
3937
4117
  strengths: { light: "light", medium: "medium", heavy: "heavy" },
3938
4118
  criteria: { C1: "C1 Sync", C2: "C2 Right sound", C3: "C3 Distance", C4: "C4 Position", C5: "C5 Variation", C6: "C6 Level", C7: "C7 Strength", C8: "C8 Tail", C9: "C9 Burst", C10: "C10 Listening" },
3939
- metrics: { source: "1 \xB7 Source of what played", chosen: "1 \xB7 Chosen", matrix: "2 \xB7 Matrix", last: "Last played", ab: "4 \xB7 A \xD7 B", blind: "4 \xB7 X", verdicts: "4 \xB7 Preferences", state: "5 \xB7 Measurement", count: "1 \xB7 Catalogue" },
4119
+ metrics: { source: "1 \xB7 Source of what played", chosen: "1 \xB7 Chosen", matrix: "2 \xB7 Matrix", last: "Last played", ab: "4 \xB7 A \xD7 B", blind: "4 \xB7 X", verdicts: "4 \xB7 Preferences", state: "5 \xB7 Measurement", count: "1 \xB7 Catalogue", unlicensed: "1 \xB7 File without licence" },
3940
4120
  run: { idle: "idle", measuring: "measuring\u2026", done: "done", failed: "failed", recording: "recording\u2026", recorded: "recording downloaded" },
3941
- words: { none: "\u2014", hidden: "? (reveal)", prefers: "prefers", approved: "approved by the owner" },
4121
+ words: { none: "\u2014", hidden: "? (reveal)", prefers: "prefers", approved: "approved by the owner", local_file: "local pack file", sdk_file: "SDK recording", synth: "SDK synthesis" },
3942
4122
  sources: { sdk: "SDK", user: "your sound", synth: "synthesized" },
3943
4123
  probe: "Sound source",
3944
4124
  wall: "Wall (occlusion)",
@@ -4146,6 +4326,18 @@ function createSoundCheckModule(options = {}) {
4146
4326
  const count = (state) => states.filter((each) => each === state).length;
4147
4327
  return `${text.states.file} ${count("file")} \xB7 ${text.states.synth} ${count("synth")} \xB7 ${text.states.missing} ${count("missing")}`;
4148
4328
  };
4329
+ const sourceOf2 = (id) => {
4330
+ const sample = registry().sample(id);
4331
+ if (!sample) return text.words.synth;
4332
+ return sample.sources.some((source) => source.startsWith("local:")) ? text.words.local_file : text.words.sdk_file;
4333
+ };
4334
+ const unlicensed = () => {
4335
+ const ids = registry().sampleIds().filter((id) => {
4336
+ const license = registry().sample(id)?.license;
4337
+ return license !== void 0 && !isShippableLicense(license);
4338
+ });
4339
+ return ids.length === 0 ? text.words.none : `${ids.length}: ${ids.join(", ")}`;
4340
+ };
4149
4341
  const strikeId = () => impactSoundId(chosen.material, chosen.blow);
4150
4342
  const lastLine = () => {
4151
4343
  const last = log.at(-1);
@@ -4162,7 +4354,8 @@ function createSoundCheckModule(options = {}) {
4162
4354
  const metrics = () => [
4163
4355
  { id: "source", name: text.metrics.source, read: sourceLine },
4164
4356
  { id: "count", name: text.metrics.count, read: counts },
4165
- { id: "chosen", name: text.metrics.chosen, read: () => `${label(chosen.sound)}${registry().sample(chosen.sound) ? ` (${engine.sampleStatus(chosen.sound)})` : ""}` },
4357
+ { id: "unlicensed", name: text.metrics.unlicensed, read: unlicensed },
4358
+ { id: "chosen", name: text.metrics.chosen, read: () => `${label(chosen.sound)}${registry().sample(chosen.sound) ? ` (${engine.sampleStatus(chosen.sound)})` : ""} \xB7 ${sourceOf2(chosen.sound)}` },
4166
4359
  { id: "matrix", name: text.metrics.matrix, read: () => `${strikeId()} \xB7 ${text.states[stateOf(strikeId())]}${pairOf(strikeId()).a ? ` \xB7 A=${pairOf(strikeId()).a}` : ""}` },
4167
4360
  { id: "ab", name: text.metrics.ab, read: () => `A ${pairOf(chosen.sound).a ?? text.words.none} \xB7 B ${pairOf(chosen.sound).b ?? text.words.none}` },
4168
4361
  { id: "blind_state", name: text.metrics.blind, read: () => !blind ? text.words.none : blind.revealed ? `X = ${blind.side}` : text.words.hidden },
@@ -4405,6 +4598,7 @@ export {
4405
4598
  CALIBRATION_LOOP_SOUND,
4406
4599
  isCalibrationUrl,
4407
4600
  calibrationLoader,
4601
+ aliasSample,
4408
4602
  createSoundRegistry,
4409
4603
  MIX_PROFILES,
4410
4604
  DEFAULT_MIX,
@@ -4423,12 +4617,14 @@ export {
4423
4617
  loopCrossfade,
4424
4618
  CROSSFADE_STEPS,
4425
4619
  equalPowerIn,
4620
+ loopRate,
4426
4621
  realize,
4427
4622
  retunePlan,
4428
4623
  createSetPicker,
4429
4624
  fetchLoader,
4430
4625
  inlineLoader,
4431
4626
  createSampleStore,
4627
+ TRIM_FADE,
4432
4628
  realizeSample,
4433
4629
  sampleLength,
4434
4630
  limiterCurve2 as limiterCurve,
@@ -4472,6 +4668,12 @@ export {
4472
4668
  soundSourceOf,
4473
4669
  userSampleBank,
4474
4670
  loadUserSamples,
4671
+ LOCAL_PACK_LICENSES,
4672
+ LOCAL_PACK_PREFERENCES,
4673
+ LocalSoundPackError,
4674
+ parseLocalSoundPack,
4675
+ isShippableLicense,
4676
+ localPackSamples,
4475
4677
  GAME_SFX_CLASSES,
4476
4678
  GAME_SFX_FALLBACK,
4477
4679
  noiseClassRecipe,
@@ -4487,4 +4689,4 @@ export {
4487
4689
  CALIBRATION_CATEGORY,
4488
4690
  createSoundCheckModule
4489
4691
  };
4490
- //# sourceMappingURL=chunk-BXUGSOPY.js.map
4692
+ //# sourceMappingURL=chunk-C2K7XN2K.js.map