@nativewrappers/redm-codegen 0.0.3 → 0.0.5

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 (313) hide show
  1. package/dist/classes/AnimScene.d.ts +135 -135
  2. package/dist/classes/AnimScene.d.ts.map +1 -1
  3. package/dist/classes/AnimScene.js +208 -208
  4. package/dist/classes/BaseModel.d.ts +21 -21
  5. package/dist/classes/BaseModel.d.ts.map +1 -1
  6. package/dist/classes/BaseModel.js +33 -33
  7. package/dist/classes/BaseTask.d.ts +23 -23
  8. package/dist/classes/BaseTask.d.ts.map +1 -1
  9. package/dist/classes/BaseTask.js +27 -27
  10. package/dist/classes/Cam.d.ts +98 -98
  11. package/dist/classes/Cam.d.ts.map +1 -1
  12. package/dist/classes/Cam.js +134 -134
  13. package/dist/classes/Entity.d.ts +385 -380
  14. package/dist/classes/Entity.d.ts.map +1 -1
  15. package/dist/classes/Entity.js +498 -489
  16. package/dist/classes/Interior.d.ts +5 -5
  17. package/dist/classes/Interior.d.ts.map +1 -1
  18. package/dist/classes/Interior.js +8 -8
  19. package/dist/classes/ItemSet.d.ts +2 -2
  20. package/dist/classes/ItemSet.d.ts.map +1 -1
  21. package/dist/classes/ItemSet.js +3 -3
  22. package/dist/classes/Ped.d.ts +336 -336
  23. package/dist/classes/Ped.d.ts.map +1 -1
  24. package/dist/classes/Ped.js +495 -495
  25. package/dist/classes/PedModel.d.ts +1 -1
  26. package/dist/classes/PedModel.d.ts.map +1 -1
  27. package/dist/classes/PedModel.js +2 -2
  28. package/dist/classes/PedTask.d.ts +255 -255
  29. package/dist/classes/PedTask.d.ts.map +1 -1
  30. package/dist/classes/PedTask.js +345 -345
  31. package/dist/classes/PersChar.d.ts +13 -13
  32. package/dist/classes/PersChar.d.ts.map +1 -1
  33. package/dist/classes/PersChar.js +29 -29
  34. package/dist/classes/Pickup.d.ts +8 -8
  35. package/dist/classes/Pickup.d.ts.map +1 -1
  36. package/dist/classes/Pickup.js +15 -15
  37. package/dist/classes/Player.d.ts +713 -709
  38. package/dist/classes/Player.d.ts.map +1 -1
  39. package/dist/classes/Player.js +979 -973
  40. package/dist/classes/Prop.d.ts +115 -115
  41. package/dist/classes/Prop.d.ts.map +1 -1
  42. package/dist/classes/Prop.js +160 -160
  43. package/dist/classes/PropSet.d.ts +5 -5
  44. package/dist/classes/PropSet.d.ts.map +1 -1
  45. package/dist/classes/PropSet.js +6 -6
  46. package/dist/classes/Vehicle.d.ts +122 -122
  47. package/dist/classes/Vehicle.d.ts.map +1 -1
  48. package/dist/classes/Vehicle.js +147 -147
  49. package/dist/classes/VehicleModel.d.ts +1 -1
  50. package/dist/classes/VehicleModel.d.ts.map +1 -1
  51. package/dist/classes/VehicleModel.js +2 -2
  52. package/dist/classes/VehicleTask.d.ts +9 -9
  53. package/dist/classes/VehicleTask.d.ts.map +1 -1
  54. package/dist/classes/VehicleTask.js +12 -12
  55. package/dist/classes/Volume.d.ts +56 -56
  56. package/dist/classes/Volume.d.ts.map +1 -1
  57. package/dist/classes/Volume.js +84 -84
  58. package/dist/classes/Weapon.d.ts +354 -354
  59. package/dist/classes/Weapon.d.ts.map +1 -1
  60. package/dist/classes/Weapon.js +464 -464
  61. package/dist/namespaces/Aicoverpoint.d.ts +23 -23
  62. package/dist/namespaces/Aicoverpoint.d.ts.map +1 -1
  63. package/dist/namespaces/Aicoverpoint.js +35 -35
  64. package/dist/namespaces/Aitransport.d.ts +78 -78
  65. package/dist/namespaces/Aitransport.d.ts.map +1 -1
  66. package/dist/namespaces/Aitransport.js +95 -95
  67. package/dist/namespaces/Animscene.d.ts +49 -49
  68. package/dist/namespaces/Animscene.d.ts.map +1 -1
  69. package/dist/namespaces/Animscene.js +67 -67
  70. package/dist/namespaces/Audio.d.ts +447 -447
  71. package/dist/namespaces/Audio.d.ts.map +1 -1
  72. package/dist/namespaces/Audio.js +635 -635
  73. package/dist/namespaces/CamStatics.d.ts +441 -441
  74. package/dist/namespaces/CamStatics.d.ts.map +1 -1
  75. package/dist/namespaces/CamStatics.js +675 -675
  76. package/dist/namespaces/Collection.d.ts +6 -6
  77. package/dist/namespaces/Collection.d.ts.map +1 -1
  78. package/dist/namespaces/Collection.js +11 -11
  79. package/dist/namespaces/Companion.d.ts +22 -22
  80. package/dist/namespaces/Companion.d.ts.map +1 -1
  81. package/dist/namespaces/Companion.js +30 -30
  82. package/dist/namespaces/Compapp.js +1 -1
  83. package/dist/namespaces/Compendium.d.ts +82 -82
  84. package/dist/namespaces/Compendium.d.ts.map +1 -1
  85. package/dist/namespaces/Compendium.js +115 -115
  86. package/dist/namespaces/Crashlog.js +9 -9
  87. package/dist/namespaces/Crew.js +4 -4
  88. package/dist/namespaces/Databinding.d.ts +164 -164
  89. package/dist/namespaces/Databinding.d.ts.map +1 -1
  90. package/dist/namespaces/Databinding.js +232 -232
  91. package/dist/namespaces/Datafile.js +4 -4
  92. package/dist/namespaces/Decorator.d.ts +19 -19
  93. package/dist/namespaces/Decorator.d.ts.map +1 -1
  94. package/dist/namespaces/Decorator.js +34 -34
  95. package/dist/namespaces/Dlc.d.ts +5 -5
  96. package/dist/namespaces/Dlc.d.ts.map +1 -1
  97. package/dist/namespaces/Dlc.js +9 -9
  98. package/dist/namespaces/EntityStatics.d.ts +119 -119
  99. package/dist/namespaces/EntityStatics.d.ts.map +1 -1
  100. package/dist/namespaces/EntityStatics.js +164 -164
  101. package/dist/namespaces/Event.js +4 -4
  102. package/dist/namespaces/Fire.d.ts +89 -89
  103. package/dist/namespaces/Fire.d.ts.map +1 -1
  104. package/dist/namespaces/Fire.js +115 -115
  105. package/dist/namespaces/Flock.js +2 -2
  106. package/dist/namespaces/Gang.js +2 -2
  107. package/dist/namespaces/GoogleAnalytics.js +2 -2
  108. package/dist/namespaces/Graphics.d.ts +375 -375
  109. package/dist/namespaces/Graphics.d.ts.map +1 -1
  110. package/dist/namespaces/Graphics.js +569 -569
  111. package/dist/namespaces/Hud.d.ts +507 -507
  112. package/dist/namespaces/Hud.d.ts.map +1 -1
  113. package/dist/namespaces/Hud.js +706 -706
  114. package/dist/namespaces/Ik.js +1 -1
  115. package/dist/namespaces/Interaction.js +3 -3
  116. package/dist/namespaces/InteriorStatics.js +2 -2
  117. package/dist/namespaces/Inventory.d.ts +159 -159
  118. package/dist/namespaces/Inventory.d.ts.map +1 -1
  119. package/dist/namespaces/Inventory.js +214 -214
  120. package/dist/namespaces/Itemdatabase.d.ts +5 -5
  121. package/dist/namespaces/Itemdatabase.d.ts.map +1 -1
  122. package/dist/namespaces/Itemdatabase.js +10 -10
  123. package/dist/namespaces/Itemset.js +2 -2
  124. package/dist/namespaces/Law.d.ts +1 -1
  125. package/dist/namespaces/Law.d.ts.map +1 -1
  126. package/dist/namespaces/Law.js +19 -19
  127. package/dist/namespaces/Localization.js +1 -1
  128. package/dist/namespaces/Map.d.ts +173 -173
  129. package/dist/namespaces/Map.d.ts.map +1 -1
  130. package/dist/namespaces/Map.js +240 -240
  131. package/dist/namespaces/Minigame.d.ts +17 -17
  132. package/dist/namespaces/Minigame.d.ts.map +1 -1
  133. package/dist/namespaces/Minigame.js +25 -25
  134. package/dist/namespaces/Misc.d.ts +3 -3
  135. package/dist/namespaces/Misc.d.ts.map +1 -1
  136. package/dist/namespaces/Misc.js +35 -35
  137. package/dist/namespaces/Missiondata.d.ts +15 -15
  138. package/dist/namespaces/Missiondata.d.ts.map +1 -1
  139. package/dist/namespaces/Missiondata.js +24 -24
  140. package/dist/namespaces/Money.js +3 -3
  141. package/dist/namespaces/Netshopping.d.ts +58 -58
  142. package/dist/namespaces/Netshopping.d.ts.map +1 -1
  143. package/dist/namespaces/Netshopping.js +89 -89
  144. package/dist/namespaces/Network.d.ts +694 -694
  145. package/dist/namespaces/Network.d.ts.map +1 -1
  146. package/dist/namespaces/Network.js +1129 -1129
  147. package/dist/namespaces/Object.d.ts +142 -142
  148. package/dist/namespaces/Object.d.ts.map +1 -1
  149. package/dist/namespaces/Object.js +195 -195
  150. package/dist/namespaces/Pad.d.ts +101 -101
  151. package/dist/namespaces/Pad.d.ts.map +1 -1
  152. package/dist/namespaces/Pad.js +142 -142
  153. package/dist/namespaces/Pathfind.js +10 -10
  154. package/dist/namespaces/PedStatics.d.ts +20 -20
  155. package/dist/namespaces/PedStatics.d.ts.map +1 -1
  156. package/dist/namespaces/PedStatics.js +36 -36
  157. package/dist/namespaces/Perschar.d.ts +49 -49
  158. package/dist/namespaces/Perschar.d.ts.map +1 -1
  159. package/dist/namespaces/Perschar.js +76 -76
  160. package/dist/namespaces/Physics.d.ts +89 -89
  161. package/dist/namespaces/Physics.d.ts.map +1 -1
  162. package/dist/namespaces/Physics.js +125 -125
  163. package/dist/namespaces/PlayerStatics.d.ts +139 -139
  164. package/dist/namespaces/PlayerStatics.d.ts.map +1 -1
  165. package/dist/namespaces/PlayerStatics.js +200 -200
  166. package/dist/namespaces/Population.d.ts +75 -75
  167. package/dist/namespaces/Population.d.ts.map +1 -1
  168. package/dist/namespaces/Population.js +101 -101
  169. package/dist/namespaces/Posse.d.ts +54 -54
  170. package/dist/namespaces/Posse.d.ts.map +1 -1
  171. package/dist/namespaces/Posse.js +86 -86
  172. package/dist/namespaces/Replay.d.ts +1 -1
  173. package/dist/namespaces/Replay.d.ts.map +1 -1
  174. package/dist/namespaces/Replay.js +2 -2
  175. package/dist/namespaces/Scripts.d.ts +1 -1
  176. package/dist/namespaces/Scripts.d.ts.map +1 -1
  177. package/dist/namespaces/Scripts.js +12 -12
  178. package/dist/namespaces/Socialclub.js +8 -8
  179. package/dist/namespaces/Socialclubfeed.js +1 -1
  180. package/dist/namespaces/Spactionproxy.js +4 -4
  181. package/dist/namespaces/Stats.d.ts +197 -197
  182. package/dist/namespaces/Stats.d.ts.map +1 -1
  183. package/dist/namespaces/Stats.js +285 -285
  184. package/dist/namespaces/Streaming.d.ts +46 -46
  185. package/dist/namespaces/Streaming.d.ts.map +1 -1
  186. package/dist/namespaces/Streaming.js +79 -79
  187. package/dist/namespaces/Task.d.ts +138 -138
  188. package/dist/namespaces/Task.d.ts.map +1 -1
  189. package/dist/namespaces/Task.js +204 -204
  190. package/dist/namespaces/Telemetry.d.ts +212 -212
  191. package/dist/namespaces/Telemetry.d.ts.map +1 -1
  192. package/dist/namespaces/Telemetry.js +308 -308
  193. package/dist/namespaces/Txd.js +1 -1
  194. package/dist/namespaces/Uiapps.d.ts +25 -25
  195. package/dist/namespaces/Uiapps.d.ts.map +1 -1
  196. package/dist/namespaces/Uiapps.js +36 -36
  197. package/dist/namespaces/Uievents.js +1 -1
  198. package/dist/namespaces/Uifeed.d.ts +15 -15
  199. package/dist/namespaces/Uifeed.d.ts.map +1 -1
  200. package/dist/namespaces/Uifeed.js +25 -25
  201. package/dist/namespaces/Uistickyfeed.d.ts +16 -16
  202. package/dist/namespaces/Uistickyfeed.d.ts.map +1 -1
  203. package/dist/namespaces/Uistickyfeed.js +21 -21
  204. package/dist/namespaces/Unlock.js +5 -5
  205. package/dist/namespaces/VehicleStatics.js +12 -12
  206. package/dist/namespaces/Voice.d.ts +38 -38
  207. package/dist/namespaces/Voice.d.ts.map +1 -1
  208. package/dist/namespaces/Voice.js +61 -61
  209. package/dist/namespaces/VolumeStatics.d.ts +161 -161
  210. package/dist/namespaces/VolumeStatics.d.ts.map +1 -1
  211. package/dist/namespaces/VolumeStatics.js +217 -217
  212. package/dist/namespaces/Water.d.ts +27 -27
  213. package/dist/namespaces/Water.d.ts.map +1 -1
  214. package/dist/namespaces/Water.js +41 -41
  215. package/dist/namespaces/WeaponStatics.d.ts +274 -274
  216. package/dist/namespaces/WeaponStatics.d.ts.map +1 -1
  217. package/dist/namespaces/WeaponStatics.js +390 -390
  218. package/dist/namespaces/Zone.d.ts +7 -7
  219. package/dist/namespaces/Zone.d.ts.map +1 -1
  220. package/dist/namespaces/Zone.js +9 -9
  221. package/dist/types/NativeAliases.d.ts +3 -1
  222. package/dist/types/NativeAliases.d.ts.map +1 -1
  223. package/dist/types/NativeAliases.js +3 -1
  224. package/package.json +1 -1
  225. package/src/classes/AnimScene.ts +227 -227
  226. package/src/classes/BaseModel.ts +36 -36
  227. package/src/classes/BaseTask.ts +29 -29
  228. package/src/classes/Cam.ts +143 -143
  229. package/src/classes/Entity.ts +517 -506
  230. package/src/classes/Interior.ts +8 -8
  231. package/src/classes/ItemSet.ts +3 -3
  232. package/src/classes/Ped.ts +512 -512
  233. package/src/classes/PedModel.ts +2 -2
  234. package/src/classes/PedTask.ts +429 -429
  235. package/src/classes/PersChar.ts +35 -35
  236. package/src/classes/Pickup.ts +16 -16
  237. package/src/classes/Player.ts +995 -988
  238. package/src/classes/Prop.ts +177 -177
  239. package/src/classes/PropSet.ts +6 -6
  240. package/src/classes/Vehicle.ts +147 -147
  241. package/src/classes/VehicleModel.ts +2 -2
  242. package/src/classes/VehicleTask.ts +13 -13
  243. package/src/classes/Volume.ts +91 -91
  244. package/src/classes/Weapon.ts +489 -489
  245. package/src/namespaces/Aicoverpoint.ts +40 -40
  246. package/src/namespaces/Aitransport.ts +104 -104
  247. package/src/namespaces/Animscene.ts +74 -74
  248. package/src/namespaces/Audio.ts +647 -647
  249. package/src/namespaces/CamStatics.ts +768 -768
  250. package/src/namespaces/Collection.ts +12 -12
  251. package/src/namespaces/Companion.ts +34 -34
  252. package/src/namespaces/Compapp.ts +1 -1
  253. package/src/namespaces/Compendium.ts +120 -120
  254. package/src/namespaces/Crashlog.ts +9 -9
  255. package/src/namespaces/Crew.ts +4 -4
  256. package/src/namespaces/Databinding.ts +249 -249
  257. package/src/namespaces/Datafile.ts +4 -4
  258. package/src/namespaces/Decorator.ts +37 -37
  259. package/src/namespaces/Dlc.ts +9 -9
  260. package/src/namespaces/EntityStatics.ts +172 -172
  261. package/src/namespaces/Event.ts +4 -4
  262. package/src/namespaces/Fire.ts +127 -127
  263. package/src/namespaces/Flock.ts +2 -2
  264. package/src/namespaces/Gang.ts +2 -2
  265. package/src/namespaces/GoogleAnalytics.ts +2 -2
  266. package/src/namespaces/Graphics.ts +583 -583
  267. package/src/namespaces/Hud.ts +741 -741
  268. package/src/namespaces/Ik.ts +1 -1
  269. package/src/namespaces/Interaction.ts +3 -3
  270. package/src/namespaces/InteriorStatics.ts +2 -2
  271. package/src/namespaces/Inventory.ts +236 -236
  272. package/src/namespaces/Itemdatabase.ts +11 -11
  273. package/src/namespaces/Itemset.ts +2 -2
  274. package/src/namespaces/Law.ts +20 -20
  275. package/src/namespaces/Localization.ts +1 -1
  276. package/src/namespaces/Map.ts +256 -256
  277. package/src/namespaces/Minigame.ts +29 -29
  278. package/src/namespaces/Misc.ts +38 -38
  279. package/src/namespaces/Missiondata.ts +28 -28
  280. package/src/namespaces/Money.ts +3 -3
  281. package/src/namespaces/Netshopping.ts +99 -99
  282. package/src/namespaces/Network.ts +1165 -1165
  283. package/src/namespaces/Object.ts +214 -214
  284. package/src/namespaces/Pad.ts +150 -150
  285. package/src/namespaces/Pathfind.ts +10 -10
  286. package/src/namespaces/PedStatics.ts +42 -42
  287. package/src/namespaces/Perschar.ts +78 -78
  288. package/src/namespaces/Physics.ts +141 -141
  289. package/src/namespaces/PlayerStatics.ts +228 -228
  290. package/src/namespaces/Population.ts +114 -114
  291. package/src/namespaces/Posse.ts +87 -87
  292. package/src/namespaces/Replay.ts +3 -3
  293. package/src/namespaces/Scripts.ts +13 -13
  294. package/src/namespaces/Socialclub.ts +8 -8
  295. package/src/namespaces/Socialclubfeed.ts +1 -1
  296. package/src/namespaces/Spactionproxy.ts +4 -4
  297. package/src/namespaces/Stats.ts +293 -293
  298. package/src/namespaces/Streaming.ts +93 -93
  299. package/src/namespaces/Task.ts +228 -228
  300. package/src/namespaces/Telemetry.ts +322 -322
  301. package/src/namespaces/Txd.ts +1 -1
  302. package/src/namespaces/Uiapps.ts +43 -43
  303. package/src/namespaces/Uievents.ts +1 -1
  304. package/src/namespaces/Uifeed.ts +28 -28
  305. package/src/namespaces/Uistickyfeed.ts +23 -23
  306. package/src/namespaces/Unlock.ts +5 -5
  307. package/src/namespaces/VehicleStatics.ts +12 -12
  308. package/src/namespaces/Voice.ts +70 -70
  309. package/src/namespaces/VolumeStatics.ts +222 -222
  310. package/src/namespaces/Water.ts +47 -47
  311. package/src/namespaces/WeaponStatics.ts +402 -402
  312. package/src/namespaces/Zone.ts +10 -10
  313. package/src/types/NativeAliases.ts +6 -1
@@ -2,128 +2,126 @@ import { createFromHandle } from '../types/HandleRegistry';
2
2
  import { inv, rai, pvi, _h, f } from '../types/NativeAliases';
3
3
  export class Audio {
4
4
  /**
5
- * @param p0
6
- */
7
- static skipToNextScriptedConversationLine(p0) {
8
- inv('0x9663FE6B7A61EB00', p0);
9
- }
10
- /**
11
- * @param ped
12
- * @param p1
5
+ * https://github.com/femga/rdr3_discoveries/tree/master/audio/audio_flags
6
+ *
7
+ * @param flagName
8
+ * @param toggle
13
9
  */
14
- static stopCurrentPlayingSpeech(ped, p1) {
15
- inv('0x79D2F0E66F81D90D', ped.handle, p1);
16
- }
17
- static clearConversationHistory() {
18
- inv('0x33D51F801CB16E4F');
10
+ static setAudioFlag(flagName, toggle) {
11
+ inv('0xB9EFD5C25018725A', flagName, toggle);
19
12
  }
20
13
  /**
21
- * @param eventName
22
- * @returns
14
+ * @param vehicle
15
+ * @param toggle
23
16
  */
24
- static prepareMusicEvent(eventName) {
25
- return inv('0x1E5185B72EF5158A', eventName, rai());
17
+ static setHornEnabled(vehicle, toggle) {
18
+ inv('0x76D683C108594D0E', vehicle.handle, toggle);
26
19
  }
27
20
  /**
28
- * Starts Audio Loop
29
- * _PLAY_SOUND_FROM_ENTITY* - _PLAY_SOUND_FRONTEND*
21
+ * p1 is possibly naSpeechAudibility, naSpeechType, or naSpeechEventTypeRequestPriority
22
+ * SKIP_* - START_*
30
23
  *
31
- * @param soundId
32
- * @param soundName
33
- * @param pos
34
- * @param soundsetName
35
- * @param p6
36
- * @param p7
37
- * @param p8
24
+ * @param speechEventType Refer to [enum: naSpeechEventType]
25
+ * @param p1
26
+ * @param p2
38
27
  */
39
- static playSoundFromPositionWithId(soundId, soundName, pos, soundsetName, p6, p7, p8) {
40
- inv('0xDCF5BA95BBF0FABA', soundId, soundName, f(pos.x), f(pos.y), f(pos.z), soundsetName, p6, p7, p8);
28
+ static N_0x0D7FD6A55FD63AEF(speechEventType, p1, p2) {
29
+ inv('0x0D7FD6A55FD63AEF', speechEventType, p1, p2);
41
30
  }
42
31
  /**
43
32
  * @param p0
44
33
  * @param p1
45
34
  * @param p2
35
+ * @param p3
36
+ * @param p4
46
37
  */
47
- static N_0x8D29FDF565DED9AE(p0, p1, p2) {
48
- inv('0x8D29FDF565DED9AE', p0, p1, p2);
38
+ static N_0x06C5DF5EE444BC6B(p0, p1, p2, p3, p4) {
39
+ inv('0x06C5DF5EE444BC6B', p0, p1, p2, p3, p4);
49
40
  }
50
41
  /**
51
- * @param eventName
42
+ * @param p0
52
43
  * @returns
53
44
  */
54
- static triggerMusicEventWithHash(eventName) {
55
- return inv('0x05D6195FB4D428F4', _h(eventName));
45
+ static N_0x2B9C37C01BF25EDB(p0) {
46
+ return inv('0x2B9C37C01BF25EDB', p0);
56
47
  }
57
48
  /**
58
- * @param soundId
59
- * @returns
49
+ * @param p0
60
50
  */
61
- static hasSoundIdFinished(soundId) {
62
- return inv('0x84848E1C0FC67DBB', soundId);
51
+ static N_0x64B956F4E761DF5C(p0) {
52
+ inv('0x64B956F4E761DF5C', p0);
63
53
  }
64
54
  /**
65
- * @param scene
55
+ * @param p0
66
56
  */
67
- static stopAudioScene(scene) {
68
- inv('0xDFE8422B3B94E688', scene);
57
+ static setAudioOnlineTransitionStage(p0) {
58
+ inv('0x9B1FC259187C97C0', p0);
69
59
  }
70
60
  /**
71
- * @param p0
72
- * @param p1
61
+ * @param streamId
73
62
  */
74
- static N_0xA6847BBA4FCDD13F(p0, p1) {
75
- inv('0xA6847BBA4FCDD13F', p0, p1);
63
+ static playStreamFrontend(streamId) {
64
+ inv('0x58FCE43488F9F5F4', streamId);
76
65
  }
77
66
  /**
78
- * @param p0
67
+ * _IS_SOUND_RUNNING(?)
68
+ *
69
+ * @param audioName
70
+ * @param audioRef
79
71
  * @returns
80
72
  */
81
- static isScriptedSpeechPlaying(p0) {
82
- return inv('0xCC9AA18DCC7084F4', p0, rai());
73
+ static N_0x580D71DFE0088E34(audioName, audioRef) {
74
+ return !!inv('0x580D71DFE0088E34', audioName, audioRef, rai());
83
75
  }
84
76
  /**
85
- * @param ped
86
- * @param p1
87
- * @param hash
77
+ * nullsub, doesn't do anything
78
+ *
79
+ * @param p0
88
80
  */
89
- static useFootstepScriptSweeteners(ped, p1, hash) {
90
- inv('0xBF4DC1784BE94DFA', ped.handle, p1, _h(hash));
81
+ static registerScriptWithAudio(p0) {
82
+ inv('0xC6ED9D5092438D91', p0);
91
83
  }
92
84
  /**
93
- * whistleConfig: Ped.WhistlePitch (0.0 - 1.0), Ped.WhistleClarity (0.0 - 1.0), Ped.WhistleShape (0.0 - 10.0)
94
- *
95
- * @param ped
96
- * @param whistleConfig
97
- * @param value
85
+ * @param p0
86
+ * @param p1
98
87
  */
99
- static setWhistleConfigForPed(ped, whistleConfig, value) {
100
- inv('0x9963681A8BC69BF3', ped.handle, whistleConfig, f(value));
88
+ static N_0x35B8C070E0C16E2F(p0, p1) {
89
+ inv('0x35B8C070E0C16E2F', p0, p1);
90
+ }
91
+ static N_0x138ADB94F8B90616() {
92
+ inv('0x138ADB94F8B90616');
101
93
  }
102
94
  /**
103
- * @param ped
95
+ * @param p0
104
96
  * @param p1
105
97
  * @param p2
106
98
  */
107
- static playAnimalVocalizationPheromoneVialResponse(ped, p1, p2) {
108
- inv('0x0E53530D9B2DB01D', ped.handle, _h(p1), p2);
99
+ static N_0x380A2E353AD30917(p0, p1, p2) {
100
+ inv('0x380A2E353AD30917', p0, p1, p2);
109
101
  }
110
102
  /**
111
- * Only used in R* SP Scripts
112
- * Old Name: _UPDATE_SOUND_POSITION
113
- *
114
- * @param soundId
115
- * @param pos
103
+ * @param convoRoot
104
+ * @returns
116
105
  */
117
- static updateSoundCoord(soundId, pos) {
118
- inv('0x0286617C8FC50A53', soundId, f(pos.x), f(pos.y), f(pos.z));
106
+ static createNewScriptedConversation(convoRoot) {
107
+ return inv('0xD2C91A0B572AAE56', convoRoot);
119
108
  }
120
109
  /**
121
- * @param ambientZone
110
+ * @param p0
122
111
  * @param p1
123
112
  * @param p2
113
+ * @returns
124
114
  */
125
- static setAmbientZoneStatePersistent(ambientZone, p1, p2) {
126
- inv('0x1D6650420CEC9D3B', ambientZone, p1, p2);
115
+ static N_0x7678FE0455ED1145(p0, p1, p2) {
116
+ return inv('0x7678FE0455ED1145', p0, p1, p2);
117
+ }
118
+ /**
119
+ * @param entity
120
+ * @param groupName
121
+ * @param p2
122
+ */
123
+ static addEntityToAudioMixGroup(entity, groupName, p2) {
124
+ inv('0x153973AB99FE8980', entity.handle, groupName, f(p2));
127
125
  }
128
126
  /**
129
127
  * speechEventType: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/naSpeechEventType
@@ -170,7 +168,7 @@ export class Audio {
170
168
  * @returns
171
169
  */
172
170
  static N_0x0CB3D1919E8D7CBA(convoRoot) {
173
- return inv('0x0CB3D1919E8D7CBA', convoRoot, rai());
171
+ return !!inv('0x0CB3D1919E8D7CBA', convoRoot, rai());
174
172
  }
175
173
  /**
176
174
  * Name: ROPE_SETTINGS_DEFAULT
@@ -254,122 +252,128 @@ export class Audio {
254
252
  inv('0xDAD6CD07CAA4F382');
255
253
  }
256
254
  /**
257
- * @param ped
258
- * @param p1
255
+ * soundId maybe be incorrect name for param p2, in the decompiles is always -2
256
+ *
257
+ * @param soundName
258
+ * @param soundsetName
259
+ * @param soundId
260
+ * @returns
259
261
  */
260
- static stopCurrentPlayingAmbientSpeech(ped, p1) {
261
- inv('0xB8BEC0CA6F0EDB0F', ped.handle, p1);
262
+ static prepareSound(soundName, soundsetName, soundId) {
263
+ return inv('0xE368E8422C860BA7', soundName, soundsetName, soundId);
262
264
  }
263
265
  /**
264
266
  * @param p0
265
- * @param ped
266
- * @param p2
267
- * @returns
267
+ * @param p1
268
268
  */
269
- static isPedInCurrentConversation(p0, ped, p2) {
270
- return inv('0x049E937F18F4020C', p0, ped.handle, p2, rai());
269
+ static N_0x259ACC5B52A2B2D9(p0, p1) {
270
+ inv('0x259ACC5B52A2B2D9', p0, p1);
271
271
  }
272
272
  /**
273
- * @param p0
274
- * @returns
273
+ * @param audSpeechEvent
275
274
  */
276
- static isScriptedConversionOngoing(p0) {
277
- return inv('0xF01C570E0A0A1E67', p0);
275
+ static N_0x1E6F9A9FE1A99F36(audSpeechEvent) {
276
+ inv('0x1E6F9A9FE1A99F36', audSpeechEvent);
278
277
  }
279
278
  /**
280
- * @param soundsetName
279
+ * @param p0
280
+ * @param p1
281
+ * @param p2
282
+ * @param p3
281
283
  */
282
- static releaseSoundset(soundsetName) {
283
- inv('0x531A78D6BF27014B', soundsetName);
284
+ static N_0x017492B2201E3428(p0, p1, p2, p3) {
285
+ inv('0x017492B2201E3428', p0, p1, p2, p3);
284
286
  }
285
287
  /**
286
288
  * @returns
287
289
  */
288
- static getSoundId() {
289
- return inv('0x430386FE9BF80B45', rai());
290
+ static N_0xE600F61F54A444A6() {
291
+ return inv('0xE600F61F54A444A6');
290
292
  }
291
293
  /**
292
- * @param listeningToPed
293
- * @param ped
294
- * @param listenerName
294
+ * @param scene
295
+ * @param variable
296
+ * @param value
295
297
  */
296
- static N_0xA2323A2EAE32A290(listeningToPed, ped, listenerName) {
297
- inv('0xA2323A2EAE32A290', listeningToPed.handle, ped.handle, listenerName);
298
+ static setAudioSceneVariable(scene, variable, value) {
299
+ inv('0xEF21A9EF089A2668', scene, variable, f(value));
298
300
  }
299
301
  /**
300
- * @param p0
301
- * @returns
302
+ * Old name: _PLAY_AMBIENT_SPEECH_AT_COORDS
303
+ *
304
+ * @param pos
305
+ * @returns params
302
306
  */
303
- static N_0xF0EE69F500952FA5(p0) {
304
- return inv('0xF0EE69F500952FA5', p0);
307
+ static playAmbientSpeechFromPositionNative(pos) {
308
+ const result = inv('0xED640017ED337E45', f(pos.x), f(pos.y), f(pos.z), pvi());
309
+ return [result[0], result[1]];
305
310
  }
306
311
  /**
307
- * Old name: AUDIO_IS_SCRIPTED_MUSIC_PLAYING
308
- *
309
- * @returns
312
+ * @param p0
313
+ * @param p1
314
+ * @param p2
315
+ * @param p3
310
316
  */
311
- static isMusicPlaying() {
312
- return inv('0x845FFC3A4FEEFA3E', rai());
317
+ static N_0x5E3CCF03995388B5(p0, p1, p2, p3) {
318
+ inv('0x5E3CCF03995388B5', p0, p1, p2, p3);
313
319
  }
314
320
  /**
315
- * Used in Script Function NET_CAMP_CLIENT_UPDATE_PED_ROLE_STATE_SHOP: hash exists! Playing hash
316
- *
317
- * @param ped
318
- * @param p1
321
+ * @param entity
322
+ * @returns
319
323
  */
320
- static N_0xB93A769B8B726950(ped, p1) {
321
- inv('0xB93A769B8B726950', ped.handle, _h(p1));
324
+ static N_0x886657C5B3D8EDE3(entity) {
325
+ return inv('0x886657C5B3D8EDE3', entity.handle);
322
326
  }
323
327
  /**
324
- * @param variableName
325
- * @param variableValue
326
- * @param audioName
327
- * @param audioRef
328
+ * @param p0
328
329
  */
329
- static setVariableOnSoundWithName(variableName, variableValue, audioName, audioRef) {
330
- inv('0x9821B68CD3E05F2B', variableName, f(variableValue), audioName, audioRef);
330
+ static N_0x6B7A88A61B41E589(p0) {
331
+ inv('0x6B7A88A61B41E589', p0);
331
332
  }
332
333
  /**
333
334
  * @param p0
334
335
  * @param p1
336
+ * @param p2
335
337
  */
336
- static N_0xD733528B6C35647A(p0, p1) {
337
- inv('0xD733528B6C35647A', p0, p1);
338
+ static N_0x821C32C728B24477(p0, p1, p2) {
339
+ inv('0x821C32C728B24477', p0, p1, p2);
338
340
  }
339
341
  /**
340
- * @param ambientZone
342
+ * @param ped
341
343
  * @param p1
344
+ * @returns
342
345
  */
343
- static clearAmbientZoneListState(ambientZone, p1) {
344
- inv('0x120C48C614909FA4', ambientZone, p1);
346
+ static isPedInAnyConversation(ped, p1) {
347
+ return inv('0x54B187F111D9C6F8', ped.handle, p1);
345
348
  }
346
349
  /**
347
- * @param p0
348
- * @param p1
350
+ * Hashes: VOFX_PLAYER_MALE01, VOFX_PLAYER_MALE02, VOFX_PLAYER_MALE03, VOFX_PLAYER_FEMALE01, VOFX_PLAYER_FEMALE02, VOFX_PLAYER_FEMALE03
351
+ *
352
+ * @param ped
353
+ * @param voice
349
354
  */
350
- static N_0xE891504B2F0E2DBA(p0, p1) {
351
- inv('0xE891504B2F0E2DBA', p0, p1);
355
+ static setVofxPedVoice(ped, voice) {
356
+ inv('0x2703EFB583F0949A', ped.handle, _h(voice));
352
357
  }
353
358
  /**
354
359
  * @param ped
355
- * @param p1
356
360
  * @returns
357
361
  */
358
- static N_0xDF947FE0D551684E(ped, p1) {
359
- return inv('0xDF947FE0D551684E', ped.handle, p1, rai());
362
+ static isAnySpeechPlaying(ped) {
363
+ return !!inv('0x729072355FA39EC9', ped.handle, rai());
360
364
  }
361
365
  /**
362
- * @param entity
363
- * @param p1
366
+ * @param convoRoot
364
367
  */
365
- static N_0xE9694B2D6CB87B06(entity, p1) {
366
- inv('0xE9694B2D6CB87B06', entity.handle, p1);
368
+ static clearConversationHistoryForScriptedConversation(convoRoot) {
369
+ inv('0xEF51242E35242B47', convoRoot);
367
370
  }
368
371
  /**
369
- * @param audioBank
372
+ * @param p0
373
+ * @param p1
370
374
  */
371
- static releaseNamedScriptAudioBank(audioBank) {
372
- inv('0x77ED170667F50170', audioBank);
375
+ static N_0x018ABE833CA64D2A(p0, p1) {
376
+ inv('0x018ABE833CA64D2A', p0, p1);
373
377
  }
374
378
  /**
375
379
  * @param zoneName
@@ -390,7 +394,7 @@ export class Audio {
390
394
  * @returns
391
395
  */
392
396
  static N_0x5A13586A9447931F(p0) {
393
- return inv('0x5A13586A9447931F', p0, rai());
397
+ return !!inv('0x5A13586A9447931F', p0, rai());
394
398
  }
395
399
  /**
396
400
  * @param p0
@@ -426,7 +430,7 @@ export class Audio {
426
430
  * @returns
427
431
  */
428
432
  static isStreamPlaying(streamId) {
429
- return inv('0xD11FA52EB849D978', streamId, rai());
433
+ return !!inv('0xD11FA52EB849D978', streamId, rai());
430
434
  }
431
435
  /**
432
436
  * @param convoRoot
@@ -516,7 +520,7 @@ export class Audio {
516
520
  * @returns
517
521
  */
518
522
  static loadStream(streamName, soundSet) {
519
- return inv('0x1F1F957154EC51DF', streamName, soundSet, rai());
523
+ return !!inv('0x1F1F957154EC51DF', streamName, soundSet, rai());
520
524
  }
521
525
  /**
522
526
  * @param p0
@@ -539,7 +543,7 @@ export class Audio {
539
543
  * @returns
540
544
  */
541
545
  static isScriptedConversationPlaying(p0) {
542
- return inv('0x1ECC76792F661CF5', p0);
546
+ return !!inv('0x1ECC76792F661CF5', p0, rai());
543
547
  }
544
548
  /**
545
549
  * @param p0
@@ -627,7 +631,7 @@ export class Audio {
627
631
  * @returns
628
632
  */
629
633
  static doesContextExistForThisPed(ped, speechName, unk) {
630
- return inv('0x49B99BF3FDA89A7A', ped.handle, speechName, unk, rai());
634
+ return !!inv('0x49B99BF3FDA89A7A', ped.handle, speechName, unk, rai());
631
635
  }
632
636
  /**
633
637
  * @returns
@@ -660,14 +664,14 @@ export class Audio {
660
664
  * @returns
661
665
  */
662
666
  static cancelMusicEvent(eventName) {
663
- return inv('0x5B17A90291133DA5', eventName, rai());
667
+ return !!inv('0x5B17A90291133DA5', eventName, rai());
664
668
  }
665
669
  /**
666
670
  * @param ped
667
671
  * @returns
668
672
  */
669
673
  static isAmbientSpeechDisabled(ped) {
670
- return inv('0x932C2D096A2C3FFF', ped.handle, rai());
674
+ return !!inv('0x932C2D096A2C3FFF', ped.handle, rai());
671
675
  }
672
676
  /**
673
677
  * Not implemented.
@@ -723,578 +727,509 @@ export class Audio {
723
727
  * @returns
724
728
  */
725
729
  static isAmbientSpeechPlaying(ped) {
726
- return inv('0x9072C8B49907BFAD', ped.handle, rai());
727
- }
728
- /**
729
- * @param ambientZone
730
- * @param pos
731
- * @param heading
732
- */
733
- static setAmbientZonePosition(ambientZone, pos, heading) {
734
- inv('0x3743CE6948194349', ambientZone, f(pos.x), f(pos.y), f(pos.z), f(heading));
730
+ return !!inv('0x9072C8B49907BFAD', ped.handle, rai());
735
731
  }
736
732
  /**
737
- * @param entity
738
- * @returns
733
+ * @param ped
734
+ * @param toggle
739
735
  */
740
- static N_0x2FFF4A78384AFFDF(entity) {
741
- return inv('0x2FFF4A78384AFFDF', entity.handle);
736
+ static disablePedPainAudio(ped, toggle) {
737
+ inv('0xA9A41C1E940FB0E8', ped.handle, toggle);
742
738
  }
743
739
  /**
744
- * @param emitterName
745
- * @param toggle
740
+ * Old name: _FORCE_VEHICLE_ENGINE_AUDIO
741
+ *
742
+ * @param vehicle
743
+ * @param audioName
746
744
  */
747
- static setStaticEmitterEnabled(emitterName, toggle) {
748
- inv('0x399D2D3B33F1B8EB', emitterName, toggle);
745
+ static forceUseAudioGameObject(vehicle, audioName) {
746
+ inv('0x4F0C413926060B38', vehicle.handle, audioName);
749
747
  }
750
748
  /**
751
- * @param ped
752
- * @param toggle
749
+ * @param soundName
750
+ * @param entity
751
+ * @param soundsetName
752
+ * @param soundId
753
+ * @returns
753
754
  */
754
- static setPedIsDrunk(ped, toggle) {
755
- inv('0x95D2D383D5396B8A', ped.handle, toggle);
755
+ static prepareSoundWithEntity(soundName, entity, soundsetName, soundId) {
756
+ return inv('0x4AD019591E94C064', soundName, entity.handle, soundsetName, soundId);
756
757
  }
757
758
  /**
758
759
  * @param p0
759
760
  * @param p1
760
761
  * @param p2
761
- * @param p3
762
- * @param p4
763
762
  */
764
- static N_0x839C9F124BE74D94(p0, p1, p2, p3, p4) {
765
- inv('0x839C9F124BE74D94', p0, p1, p2, p3, p4);
763
+ static stopAllScriptedConversions(p0, p1, p2) {
764
+ inv('0x36559148B78853B3', p0, p1, p2);
766
765
  }
767
766
  /**
768
- * @param ambientZone
767
+ * @param entity
769
768
  * @param p1
770
- * @param p2
771
769
  */
772
- static setAmbientZoneListStatePersistent(ambientZone, p1, p2) {
773
- inv('0xF3638DAE8C4045E1', ambientZone, p1, p2);
770
+ static removeEntityFromAudioMixGroup(entity, p1) {
771
+ inv('0x18EB48CFC41F2EA0', entity.handle, f(p1));
774
772
  }
775
773
  /**
776
- * @param p0
777
- * @param p1
778
- * @param p2
779
- * @param p3
780
- * @param p4
774
+ * *AUDIO_IS** - _AUDIO_TRIGGER*
781
775
  */
782
- static pauseScriptedConversation(p0, p1, p2, p3, p4) {
783
- inv('0x8530AD776CD72B12', p0, p1, p2, p3, p4);
776
+ static N_0x7455CD705F7E933E() {
777
+ inv('0x7455CD705F7E933E');
784
778
  }
785
779
  /**
786
- * @param p0
780
+ * @param soundId
787
781
  */
788
- static N_0x6652B0C8F3D414D0(p0) {
789
- inv('0x6652B0C8F3D414D0', p0);
782
+ static releaseSoundId(soundId) {
783
+ inv('0x353FC880830B88FA', soundId);
790
784
  }
791
785
  /**
786
+ * Old Name: _SET_VARIABLE_ON_SOUND_WITH_ID
787
+ *
792
788
  * @param soundId
793
- * @param name
794
- * @param soundSet
795
- * @param p3
789
+ * @param variableName
790
+ * @param variableValue
796
791
  */
797
- static playSoundFrontendWithSoundId(soundId, name, soundSet, p3) {
798
- inv('0xCE5D0FFE83939AF1', soundId, name, soundSet, p3);
792
+ static setVariableOnSound(soundId, variableName, variableValue) {
793
+ inv('0x503703EC1781B7D6', soundId, variableName, f(variableValue));
799
794
  }
800
795
  /**
801
- * @param p0
802
- * @returns
796
+ * @param convoRoot
803
797
  */
804
- static N_0xFE5C6177064BD390(p0) {
805
- return inv('0xFE5C6177064BD390', p0, rai());
798
+ static startPreloadedConversation(convoRoot) {
799
+ inv('0x23641AFE870AF385', convoRoot);
806
800
  }
807
801
  /**
808
- * @param p0
809
- * @param currentScriptedConvoLine
802
+ * @param scene
810
803
  * @returns
811
804
  */
812
- static N_0x152ED1B56E8F1F50(p0, currentScriptedConvoLine) {
813
- return createFromHandle('Ped', inv('0x152ED1B56E8F1F50', p0, currentScriptedConvoLine, rai()));
805
+ static startAudioScene(scene) {
806
+ return !!inv('0x013A80FC08F6E4F2', scene, rai());
814
807
  }
815
808
  /**
816
- * @param p0
817
809
  * @returns
818
810
  */
819
- static N_0x4A98E228A936DBCC(p0) {
820
- return inv('0x4A98E228A936DBCC', p0);
811
+ static getMusicPlaytime() {
812
+ return inv('0xE7A0D23DC414507B', rai());
821
813
  }
822
814
  /**
823
- * https://en.m.wikipedia.org/wiki/Walla
815
+ * Checks for MOONSHINE_BAND
824
816
  *
825
- * @param p0
826
- * @param p1
817
+ * @param entity
818
+ * @returns
827
819
  */
828
- static setPedWallaDensity(p0, p1) {
829
- inv('0x149AEE66F0CB3A99', f(p0), f(p1));
820
+ static N_0xBE28DB99556FF8D9(entity) {
821
+ return (inv('0xBE28DB99556FF8D9', entity.handle, rai())) & 0xFFFFFFFF;
822
+ }
823
+ static N_0x569ABC36E28DDEAA() {
824
+ inv('0x569ABC36E28DDEAA');
830
825
  }
831
826
  /**
832
- * item: value returned from 0x2E1CDC1FF3B8473E
833
- * soundSet: HUD_SHOP_SOUNDSET, COMPANIONS_ROBBERIES_SOUNDSET
827
+ * struct ScriptedSpeechParams
828
+ * {
829
+ * const char* speechName;
830
+ * const char* voiceName;
831
+ * alignas(8) int variation;
832
+ * alignas(8) Hash speechParamHash;
833
+ * alignas(8) Ped listenerPed;
834
+ * alignas(8) BOOL syncOverNetwork;
835
+ * alignas(8) int v7;
836
+ * alignas(8) int v8;
837
+ * }; static_assert(sizeof(ScriptedSpeechParams) == 0x40, "incorrect ScriptedSpeechParams size"); Example: ScriptedSpeechParams params{"RE_PH_RHD_V3_AGGRO", "0405_U_M_M_RhdSheriff_01", 1, joaat("SPEECH_PARAMS_BEAT_SHOUTED_CLEAR"), 0, true, 1, 1};
838
+ * PLAY_PED_AMBIENT_SPEECH_NATIVE(PLAYER_PED_ID(), (Any*)&params); Old name: _PLAY_AMBIENT_SPEECH1
839
+ * https://github.com/femga/rdr3_discoveries/tree/master/audio/audio_banks
834
840
  *
835
- * @param item
836
- * @param soundSet
837
- * @param p2
841
+ * @param speaker
842
+ * @returns params
838
843
  */
839
- static playSoundFromItem(item, soundSet, p2) {
840
- inv('0xE8EAFF7B41EDD291', _h(item), _h(soundSet), p2);
844
+ static playPedAmbientSpeechNative(speaker) {
845
+ const result = inv('0x8E04FEDD28D42462', speaker.handle, pvi());
846
+ return [result[0], result[1]];
841
847
  }
842
848
  /**
843
- * @param ped
849
+ * Checks whether the horn of a vehicle is currently played.
850
+ *
851
+ * @param vehicle
844
852
  * @returns
845
853
  */
846
- static getPedSongIndexHost(ped) {
847
- return inv('0x2DBBF0C5E19383EE', ped.handle);
854
+ static isHornActive(vehicle) {
855
+ return !!inv('0x9D6BFC12B05C6121', vehicle.handle, rai());
848
856
  }
849
857
  /**
850
858
  * @param p0
859
+ * @param p1
860
+ * @param p2
861
+ * @param p3
851
862
  */
852
- static N_0x3E98AC9D8C56C62C(p0) {
853
- inv('0x3E98AC9D8C56C62C', p0);
863
+ static N_0xCFAD2C8CD1054523(p0, p1, p2, p3) {
864
+ inv('0xCFAD2C8CD1054523', p0, p1, p2, p3);
854
865
  }
855
866
  /**
856
- * @param audioName
857
867
  * @param sceneset
858
- * @returns
859
868
  */
860
- static setAudioSceneset(audioName, sceneset) {
861
- return inv('0xAC84686C06184B0D', audioName, sceneset);
869
+ static stopAudioSceneset(sceneset) {
870
+ inv('0x9428447DED71FC7E', sceneset);
862
871
  }
863
872
  /**
864
873
  * @param p0
874
+ * @returns
865
875
  */
866
- static removePortalSettingsOverride(p0) {
867
- inv('0xB4BBFD9CD8B3922B', p0);
876
+ static getCurrentScriptedConversationLine(p0) {
877
+ return inv('0x480357EE890C295A', p0, rai());
868
878
  }
869
879
  /**
870
880
  * @param convoRoot
871
- * @returns
881
+ * @param ped
882
+ * @param characterName
872
883
  */
873
- static isScriptedConversationLoaded(convoRoot) {
874
- return inv('0xDF0D54BE7A776737', convoRoot, rai());
884
+ static addPedToConversation(convoRoot, ped, characterName) {
885
+ inv('0x95D9F4BC443956E7', convoRoot, ped.handle, characterName);
875
886
  }
876
887
  /**
877
- * @param p0
888
+ * @param entity
878
889
  * @param p1
879
- * @param pos
880
- * @param isSrlLoaded
881
- * @param p6
882
- * @returns
890
+ * @param p2
891
+ * @param p3
892
+ * @param p4
883
893
  */
884
- static N_0xFFE9C53DEEA3DB0B(p0, p1, pos, isSrlLoaded, p6) {
885
- return inv('0xFFE9C53DEEA3DB0B', p0, p1, f(pos.x), f(pos.y), f(pos.z), isSrlLoaded, p6);
894
+ static N_0xABDB4863D3D72021(entity, p1, p2, p3, p4) {
895
+ inv('0xABDB4863D3D72021', entity.handle, p1, p2, f(p3), p4);
886
896
  }
887
- static N_0x3D0BBCCF401B5FDB() {
888
- inv('0x3D0BBCCF401B5FDB');
897
+ /**
898
+ * Not implemented.
899
+ *
900
+ * @param ped
901
+ */
902
+ static N_0x864A842B86993851(ped) {
903
+ inv('0x864A842B86993851', ped.handle);
889
904
  }
890
905
  /**
891
- * @param streamId
906
+ * @param p0
907
+ * @returns
892
908
  */
893
- static stopStream(streamId) {
894
- inv('0xA4718A1419D18151', streamId);
909
+ static N_0xDC2F83A0612CA34D(p0) {
910
+ return inv('0xDC2F83A0612CA34D', p0);
895
911
  }
896
912
  /**
897
- * https://github.com/femga/rdr3_discoveries/tree/master/audio/frontend_soundsets
913
+ * https://github.com/femga/rdr3_discoveries/tree/master/audio/soundsets
898
914
  *
899
- * @param audioName
900
- * @param audioRef
901
- * @param p2
902
- * @param p3
915
+ * @param soundsetName
916
+ * @param p1
917
+ * @returns
903
918
  */
904
- static playSoundFrontend(audioName, audioRef, p2, p3) {
905
- inv('0x67C540AA08E4A6F5', audioName, audioRef, p2, p3);
919
+ static prepareSoundset(soundsetName, p1) {
920
+ return inv('0xD9130842D7226045', soundsetName, p1);
906
921
  }
907
922
  /**
908
- * @param ped
909
- * @param shaking
923
+ * @param entity
924
+ * @returns
910
925
  */
911
- static stopPedSpeaking(ped, shaking) {
912
- inv('0x9D64D7405520E3D3', ped.handle, shaking);
926
+ static N_0x62377977E4F08668(entity) {
927
+ return createFromHandle('AnimScene', inv('0x62377977E4F08668', entity.handle, rai()));
913
928
  }
914
929
  /**
915
- * @param audioBank
930
+ * @param audioName
931
+ * @param sceneset
916
932
  * @returns
917
933
  */
918
- static requestScriptAudioBank(audioBank) {
919
- return inv('0x2F844A8B08D76685', audioBank, rai());
934
+ static startAudioSceneset(audioName, sceneset) {
935
+ return inv('0x6339C1EA3979B5F7', audioName, sceneset);
920
936
  }
921
937
  /**
922
938
  * @param p0
923
939
  * @param p1
940
+ * @param p2
941
+ * @param p3
942
+ * @param p4
924
943
  */
925
- static N_0xC886CD666ADD42E1(p0, p1) {
926
- inv('0xC886CD666ADD42E1', p0, p1);
944
+ static N_0x448F2647DD6F2E27(p0, p1, p2, p3, p4) {
945
+ inv('0x448F2647DD6F2E27', p0, p1, p2, p3, p4);
927
946
  }
928
947
  /**
929
948
  * @param p0
949
+ * @returns
930
950
  */
931
- static N_0xEA546C31FD45F8CD(p0) {
932
- inv('0xEA546C31FD45F8CD', p0);
951
+ static N_0xB18FEC133C7C6C69(p0) {
952
+ return inv('0xB18FEC133C7C6C69', p0);
933
953
  }
934
954
  /**
935
955
  * @param p0
956
+ * @returns
936
957
  */
937
- static N_0x0FAF7171BF613B80(p0) {
938
- inv('0x0FAF7171BF613B80', p0);
958
+ static N_0x295859EB18F48D82(p0) {
959
+ return inv('0x295859EB18F48D82', p0, rai());
939
960
  }
940
961
  /**
941
- * nullsub, doesn't do anything
962
+ * @param p0
942
963
  */
943
- static unregisterScriptWithAudio() {
944
- inv('0xA8638BE228D4751A');
964
+ static N_0xCBF2BEBB468A34F3(p0) {
965
+ inv('0xCBF2BEBB468A34F3', p0);
945
966
  }
946
967
  /**
947
- * @param convoRoot
948
- * @param singleLineIndex
949
- */
950
- static N_0x40CA665AB9D8D505(convoRoot, singleLineIndex) {
951
- inv('0x40CA665AB9D8D505', convoRoot, singleLineIndex);
952
- }
953
- static stopAllScriptedAudioSounds() {
954
- inv('0x2E399EAFBEEA74D5');
968
+ * @param p0
969
+ * @param p1
970
+ * @param p2
971
+ * @returns
972
+ */
973
+ static stopScriptedConversation(p0, p1, p2) {
974
+ return inv('0xD79DEEFB53455EBA', p0, p1, p2, rai());
955
975
  }
956
976
  /**
957
977
  * @param p0
978
+ * @param p1
958
979
  */
959
- static N_0xF232C2C546AC16D0(p0) {
960
- inv('0xF232C2C546AC16D0', p0);
980
+ static N_0xFD461D0ABA5559B1(p0, p1) {
981
+ inv('0xFD461D0ABA5559B1', p0, p1);
961
982
  }
962
983
  /**
963
- * https://github.com/femga/rdr3_discoveries/blob/master/audio/music_events/music_events.lua
984
+ * *IS_SCRIPTED_CONVERSATION**
964
985
  *
965
- * @param eventName
986
+ * @param convoRoot
966
987
  * @returns
967
988
  */
968
- static triggerMusicEvent(eventName) {
969
- return inv('0x706D57B0F50DA710', eventName, rai());
989
+ static N_0xD0730C1FA40348D9(convoRoot) {
990
+ return !!inv('0xD0730C1FA40348D9', convoRoot, rai());
970
991
  }
971
992
  /**
972
993
  * @param p0
973
994
  */
974
- static restartScriptedConversation(p0) {
975
- inv('0x9AEB285D1818C9AC', p0);
995
+ static skipToNextScriptedConversationLine(p0) {
996
+ inv('0x9663FE6B7A61EB00', p0);
976
997
  }
977
998
  /**
978
999
  * @param ped
979
- */
980
- static N_0xC4CFCE4C656EF480(ped) {
981
- inv('0xC4CFCE4C656EF480', ped.handle);
982
- }
983
- /**
984
- * @param p0
985
1000
  * @param p1
986
1001
  */
987
- static N_0x3A00D87B20A2A5E4(p0, p1) {
988
- inv('0x3A00D87B20A2A5E4', p0, p1);
1002
+ static stopCurrentPlayingSpeech(ped, p1) {
1003
+ inv('0x79D2F0E66F81D90D', ped.handle, p1);
989
1004
  }
990
- /**
991
- * @param pedHandle
992
- * @returns
993
- */
994
- static isAnimalVocalizationPlaying(pedHandle) {
995
- return inv('0xC265DF9FB44A9FBD', pedHandle.handle, rai());
1005
+ static clearConversationHistory() {
1006
+ inv('0x33D51F801CB16E4F');
996
1007
  }
997
1008
  /**
998
- * @param p0
1009
+ * @param eventName
999
1010
  * @returns
1000
1011
  */
1001
- static isAnyConversationPlaying(p0) {
1002
- return inv('0xA2CAC9DEF0195E6F', p0);
1012
+ static prepareMusicEvent(eventName) {
1013
+ return !!inv('0x1E5185B72EF5158A', eventName, rai());
1003
1014
  }
1004
1015
  /**
1005
- * @param name
1016
+ * Starts Audio Loop
1017
+ * _PLAY_SOUND_FROM_ENTITY* - _PLAY_SOUND_FRONTEND*
1018
+ *
1019
+ * @param soundId
1020
+ * @param soundName
1006
1021
  * @param pos
1022
+ * @param soundsetName
1023
+ * @param p6
1024
+ * @param p7
1025
+ * @param p8
1007
1026
  */
1008
- static triggerExplosion(name, pos) {
1009
- inv('0x374F0E716BFCDE82', name, f(pos.x), f(pos.y), f(pos.z));
1027
+ static playSoundFromPositionWithId(soundId, soundName, pos, soundsetName, p6, p7, p8) {
1028
+ inv('0xDCF5BA95BBF0FABA', soundId, soundName, f(pos.x), f(pos.y), f(pos.z), soundsetName, p6, p7, p8);
1010
1029
  }
1011
1030
  /**
1012
- * @param ropeId
1031
+ * @param p0
1013
1032
  * @param p1
1033
+ * @param p2
1014
1034
  */
1015
- static N_0x2651DDC0EA269073(ropeId, p1) {
1016
- inv('0x2651DDC0EA269073', ropeId, f(p1));
1035
+ static N_0x8D29FDF565DED9AE(p0, p1, p2) {
1036
+ inv('0x8D29FDF565DED9AE', p0, p1, p2);
1017
1037
  }
1018
- static stopAudioScenes() {
1019
- inv('0xBAC7FC81A75EC1A1');
1038
+ /**
1039
+ * @param eventName
1040
+ * @returns
1041
+ */
1042
+ static triggerMusicEventWithHash(eventName) {
1043
+ return inv('0x05D6195FB4D428F4', _h(eventName));
1020
1044
  }
1021
1045
  /**
1022
- * @param audioName
1023
- * @param audioRef
1024
- * @param p2
1025
- * @param p3
1026
- * @param p4
1027
- * @param p5
1046
+ * @param soundId
1047
+ * @returns
1028
1048
  */
1029
- static playSound(audioName, audioRef, p2, p3, p4, p5) {
1030
- inv('0x7FF4944CC209192D', audioName, audioRef, p2, p3, p4, p5);
1049
+ static hasSoundIdFinished(soundId) {
1050
+ return inv('0x84848E1C0FC67DBB', soundId);
1031
1051
  }
1032
1052
  /**
1033
1053
  * @param scene
1034
- * @returns
1035
1054
  */
1036
- static isAudioSceneActive(scene) {
1037
- return inv('0xB65B60556E2A9225', scene, rai());
1055
+ static stopAudioScene(scene) {
1056
+ inv('0xDFE8422B3B94E688', scene);
1038
1057
  }
1039
1058
  /**
1040
- * @param context
1041
- * @param block
1059
+ * @param p0
1060
+ * @param p1
1042
1061
  */
1043
- static blockSpeechContext(context, block) {
1044
- inv('0x6378A235374B852F', context, block);
1062
+ static N_0xA6847BBA4FCDD13F(p0, p1) {
1063
+ inv('0xA6847BBA4FCDD13F', p0, p1);
1045
1064
  }
1046
1065
  /**
1047
1066
  * @param p0
1048
1067
  * @returns
1049
1068
  */
1050
- static N_0x847748AE5D7B1071(p0) {
1051
- return inv('0x847748AE5D7B1071', p0, rai());
1069
+ static isScriptedSpeechPlaying(p0) {
1070
+ return !!inv('0xCC9AA18DCC7084F4', p0, rai());
1052
1071
  }
1053
1072
  /**
1054
- * https://github.com/femga/rdr3_discoveries/tree/master/audio/audio_flags
1073
+ * @param ped
1074
+ * @param p1
1075
+ * @param hash
1076
+ */
1077
+ static useFootstepScriptSweeteners(ped, p1, hash) {
1078
+ inv('0xBF4DC1784BE94DFA', ped.handle, p1, _h(hash));
1079
+ }
1080
+ /**
1081
+ * whistleConfig: Ped.WhistlePitch (0.0 - 1.0), Ped.WhistleClarity (0.0 - 1.0), Ped.WhistleShape (0.0 - 10.0)
1055
1082
  *
1056
- * @param flagName
1057
- * @param toggle
1083
+ * @param ped
1084
+ * @param whistleConfig
1085
+ * @param value
1058
1086
  */
1059
- static setAudioFlag(flagName, toggle) {
1060
- inv('0xB9EFD5C25018725A', flagName, toggle);
1087
+ static setWhistleConfigForPed(ped, whistleConfig, value) {
1088
+ inv('0x9963681A8BC69BF3', ped.handle, whistleConfig, f(value));
1061
1089
  }
1062
1090
  /**
1063
- * @param vehicle
1064
- * @param toggle
1091
+ * @param ped
1092
+ * @param p1
1093
+ * @param p2
1065
1094
  */
1066
- static setHornEnabled(vehicle, toggle) {
1067
- inv('0x76D683C108594D0E', vehicle.handle, toggle);
1095
+ static playAnimalVocalizationPheromoneVialResponse(ped, p1, p2) {
1096
+ inv('0x0E53530D9B2DB01D', ped.handle, _h(p1), p2);
1068
1097
  }
1069
1098
  /**
1070
- * p1 is possibly naSpeechAudibility, naSpeechType, or naSpeechEventTypeRequestPriority
1071
- * SKIP_* - START_*
1099
+ * Only used in R* SP Scripts
1100
+ * Old Name: _UPDATE_SOUND_POSITION
1072
1101
  *
1073
- * @param speechEventType Refer to [enum: naSpeechEventType]
1102
+ * @param soundId
1103
+ * @param pos
1104
+ */
1105
+ static updateSoundCoord(soundId, pos) {
1106
+ inv('0x0286617C8FC50A53', soundId, f(pos.x), f(pos.y), f(pos.z));
1107
+ }
1108
+ /**
1109
+ * @param ambientZone
1074
1110
  * @param p1
1075
1111
  * @param p2
1076
1112
  */
1077
- static N_0x0D7FD6A55FD63AEF(speechEventType, p1, p2) {
1078
- inv('0x0D7FD6A55FD63AEF', speechEventType, p1, p2);
1113
+ static setAmbientZoneStatePersistent(ambientZone, p1, p2) {
1114
+ inv('0x1D6650420CEC9D3B', ambientZone, p1, p2);
1079
1115
  }
1080
1116
  /**
1081
- * @param p0
1117
+ * @param ped
1082
1118
  * @param p1
1083
- * @param p2
1084
- * @param p3
1085
- * @param p4
1086
1119
  */
1087
- static N_0x06C5DF5EE444BC6B(p0, p1, p2, p3, p4) {
1088
- inv('0x06C5DF5EE444BC6B', p0, p1, p2, p3, p4);
1120
+ static stopCurrentPlayingAmbientSpeech(ped, p1) {
1121
+ inv('0xB8BEC0CA6F0EDB0F', ped.handle, p1);
1089
1122
  }
1090
1123
  /**
1091
1124
  * @param p0
1125
+ * @param ped
1126
+ * @param p2
1092
1127
  * @returns
1093
1128
  */
1094
- static N_0x2B9C37C01BF25EDB(p0) {
1095
- return inv('0x2B9C37C01BF25EDB', p0);
1129
+ static isPedInCurrentConversation(p0, ped, p2) {
1130
+ return !!inv('0x049E937F18F4020C', p0, ped.handle, p2, rai());
1096
1131
  }
1097
1132
  /**
1098
1133
  * @param p0
1134
+ * @returns
1099
1135
  */
1100
- static N_0x64B956F4E761DF5C(p0) {
1101
- inv('0x64B956F4E761DF5C', p0);
1136
+ static isScriptedConversionOngoing(p0) {
1137
+ return inv('0xF01C570E0A0A1E67', p0);
1102
1138
  }
1103
1139
  /**
1104
- * @param p0
1140
+ * @param soundsetName
1105
1141
  */
1106
- static setAudioOnlineTransitionStage(p0) {
1107
- inv('0x9B1FC259187C97C0', p0);
1142
+ static releaseSoundset(soundsetName) {
1143
+ inv('0x531A78D6BF27014B', soundsetName);
1108
1144
  }
1109
1145
  /**
1110
- * @param streamId
1146
+ * @returns
1111
1147
  */
1112
- static playStreamFrontend(streamId) {
1113
- inv('0x58FCE43488F9F5F4', streamId);
1148
+ static getSoundId() {
1149
+ return inv('0x430386FE9BF80B45', rai());
1114
1150
  }
1115
1151
  /**
1116
- * _IS_SOUND_RUNNING(?)
1117
- *
1118
- * @param audioName
1119
- * @param audioRef
1152
+ * @param listeningToPed
1153
+ * @param ped
1154
+ * @param listenerName
1155
+ */
1156
+ static N_0xA2323A2EAE32A290(listeningToPed, ped, listenerName) {
1157
+ inv('0xA2323A2EAE32A290', listeningToPed.handle, ped.handle, listenerName);
1158
+ }
1159
+ /**
1160
+ * @param p0
1120
1161
  * @returns
1121
1162
  */
1122
- static N_0x580D71DFE0088E34(audioName, audioRef) {
1123
- return inv('0x580D71DFE0088E34', audioName, audioRef, rai());
1163
+ static N_0xF0EE69F500952FA5(p0) {
1164
+ return inv('0xF0EE69F500952FA5', p0);
1124
1165
  }
1125
1166
  /**
1126
- * nullsub, doesn't do anything
1167
+ * Old name: AUDIO_IS_SCRIPTED_MUSIC_PLAYING
1127
1168
  *
1128
- * @param p0
1169
+ * @returns
1129
1170
  */
1130
- static registerScriptWithAudio(p0) {
1131
- inv('0xC6ED9D5092438D91', p0);
1171
+ static isMusicPlaying() {
1172
+ return !!inv('0x845FFC3A4FEEFA3E', rai());
1132
1173
  }
1133
1174
  /**
1134
- * @param p0
1175
+ * Used in Script Function NET_CAMP_CLIENT_UPDATE_PED_ROLE_STATE_SHOP: hash exists! Playing hash
1176
+ *
1177
+ * @param ped
1135
1178
  * @param p1
1136
1179
  */
1137
- static N_0x35B8C070E0C16E2F(p0, p1) {
1138
- inv('0x35B8C070E0C16E2F', p0, p1);
1180
+ static N_0xB93A769B8B726950(ped, p1) {
1181
+ inv('0xB93A769B8B726950', ped.handle, _h(p1));
1139
1182
  }
1140
- static N_0x138ADB94F8B90616() {
1141
- inv('0x138ADB94F8B90616');
1183
+ /**
1184
+ * @param variableName
1185
+ * @param variableValue
1186
+ * @param audioName
1187
+ * @param audioRef
1188
+ */
1189
+ static setVariableOnSoundWithName(variableName, variableValue, audioName, audioRef) {
1190
+ inv('0x9821B68CD3E05F2B', variableName, f(variableValue), audioName, audioRef);
1142
1191
  }
1143
1192
  /**
1144
1193
  * @param p0
1145
1194
  * @param p1
1146
- * @param p2
1147
1195
  */
1148
- static N_0x380A2E353AD30917(p0, p1, p2) {
1149
- inv('0x380A2E353AD30917', p0, p1, p2);
1196
+ static N_0xD733528B6C35647A(p0, p1) {
1197
+ inv('0xD733528B6C35647A', p0, p1);
1150
1198
  }
1151
1199
  /**
1152
- * @param convoRoot
1153
- * @returns
1200
+ * @param ambientZone
1201
+ * @param p1
1154
1202
  */
1155
- static createNewScriptedConversation(convoRoot) {
1156
- return inv('0xD2C91A0B572AAE56', convoRoot);
1203
+ static clearAmbientZoneListState(ambientZone, p1) {
1204
+ inv('0x120C48C614909FA4', ambientZone, p1);
1157
1205
  }
1158
1206
  /**
1159
1207
  * @param p0
1160
1208
  * @param p1
1161
- * @param p2
1209
+ */
1210
+ static N_0xE891504B2F0E2DBA(p0, p1) {
1211
+ inv('0xE891504B2F0E2DBA', p0, p1);
1212
+ }
1213
+ /**
1214
+ * @param ped
1215
+ * @param p1
1162
1216
  * @returns
1163
1217
  */
1164
- static N_0x7678FE0455ED1145(p0, p1, p2) {
1165
- return inv('0x7678FE0455ED1145', p0, p1, p2);
1218
+ static N_0xDF947FE0D551684E(ped, p1) {
1219
+ return !!inv('0xDF947FE0D551684E', ped.handle, p1, rai());
1166
1220
  }
1167
1221
  /**
1168
1222
  * @param entity
1169
- * @param groupName
1170
- * @param p2
1223
+ * @param p1
1171
1224
  */
1172
- static addEntityToAudioMixGroup(entity, groupName, p2) {
1173
- inv('0x153973AB99FE8980', entity.handle, groupName, f(p2));
1225
+ static N_0xE9694B2D6CB87B06(entity, p1) {
1226
+ inv('0xE9694B2D6CB87B06', entity.handle, p1);
1174
1227
  }
1175
1228
  /**
1176
- * soundId maybe be incorrect name for param p2, in the decompiles is always -2
1177
- *
1178
- * @param soundName
1179
- * @param soundsetName
1180
- * @param soundId
1181
- * @returns
1182
- */
1183
- static prepareSound(soundName, soundsetName, soundId) {
1184
- return inv('0xE368E8422C860BA7', soundName, soundsetName, soundId);
1185
- }
1186
- /**
1187
- * @param p0
1188
- * @param p1
1189
- */
1190
- static N_0x259ACC5B52A2B2D9(p0, p1) {
1191
- inv('0x259ACC5B52A2B2D9', p0, p1);
1192
- }
1193
- /**
1194
- * @param audSpeechEvent
1195
- */
1196
- static N_0x1E6F9A9FE1A99F36(audSpeechEvent) {
1197
- inv('0x1E6F9A9FE1A99F36', audSpeechEvent);
1198
- }
1199
- /**
1200
- * @param p0
1201
- * @param p1
1202
- * @param p2
1203
- * @param p3
1204
- */
1205
- static N_0x017492B2201E3428(p0, p1, p2, p3) {
1206
- inv('0x017492B2201E3428', p0, p1, p2, p3);
1207
- }
1208
- /**
1209
- * @returns
1210
- */
1211
- static N_0xE600F61F54A444A6() {
1212
- return inv('0xE600F61F54A444A6');
1213
- }
1214
- /**
1215
- * @param scene
1216
- * @param variable
1217
- * @param value
1218
- */
1219
- static setAudioSceneVariable(scene, variable, value) {
1220
- inv('0xEF21A9EF089A2668', scene, variable, f(value));
1221
- }
1222
- /**
1223
- * Old name: _PLAY_AMBIENT_SPEECH_AT_COORDS
1224
- *
1225
- * @param pos
1226
- * @returns params
1227
- */
1228
- static playAmbientSpeechFromPositionNative(pos) {
1229
- const result = inv('0xED640017ED337E45', f(pos.x), f(pos.y), f(pos.z), pvi());
1230
- return [result[0], result[1]];
1231
- }
1232
- /**
1233
- * @param p0
1234
- * @param p1
1235
- * @param p2
1236
- * @param p3
1237
- */
1238
- static N_0x5E3CCF03995388B5(p0, p1, p2, p3) {
1239
- inv('0x5E3CCF03995388B5', p0, p1, p2, p3);
1240
- }
1241
- /**
1242
- * @param entity
1243
- * @returns
1244
- */
1245
- static N_0x886657C5B3D8EDE3(entity) {
1246
- return inv('0x886657C5B3D8EDE3', entity.handle);
1247
- }
1248
- /**
1249
- * @param p0
1250
- */
1251
- static N_0x6B7A88A61B41E589(p0) {
1252
- inv('0x6B7A88A61B41E589', p0);
1253
- }
1254
- /**
1255
- * @param p0
1256
- * @param p1
1257
- * @param p2
1258
- */
1259
- static N_0x821C32C728B24477(p0, p1, p2) {
1260
- inv('0x821C32C728B24477', p0, p1, p2);
1261
- }
1262
- /**
1263
- * @param ped
1264
- * @param p1
1265
- * @returns
1266
- */
1267
- static isPedInAnyConversation(ped, p1) {
1268
- return inv('0x54B187F111D9C6F8', ped.handle, p1);
1269
- }
1270
- /**
1271
- * Hashes: VOFX_PLAYER_MALE01, VOFX_PLAYER_MALE02, VOFX_PLAYER_MALE03, VOFX_PLAYER_FEMALE01, VOFX_PLAYER_FEMALE02, VOFX_PLAYER_FEMALE03
1272
- *
1273
- * @param ped
1274
- * @param voice
1275
- */
1276
- static setVofxPedVoice(ped, voice) {
1277
- inv('0x2703EFB583F0949A', ped.handle, _h(voice));
1278
- }
1279
- /**
1280
- * @param ped
1281
- * @returns
1282
- */
1283
- static isAnySpeechPlaying(ped) {
1284
- return inv('0x729072355FA39EC9', ped.handle, rai());
1285
- }
1286
- /**
1287
- * @param convoRoot
1288
- */
1289
- static clearConversationHistoryForScriptedConversation(convoRoot) {
1290
- inv('0xEF51242E35242B47', convoRoot);
1291
- }
1292
- /**
1293
- * @param p0
1294
- * @param p1
1229
+ * @param audioBank
1295
1230
  */
1296
- static N_0x018ABE833CA64D2A(p0, p1) {
1297
- inv('0x018ABE833CA64D2A', p0, p1);
1231
+ static releaseNamedScriptAudioBank(audioBank) {
1232
+ inv('0x77ED170667F50170', audioBank);
1298
1233
  }
1299
1234
  /**
1300
1235
  * Only used in R* SP Script cv_mus_shared
@@ -1304,7 +1239,7 @@ export class Audio {
1304
1239
  * @returns
1305
1240
  */
1306
1241
  static N_0x79F9C57B8D0DFE90(convoRoot, animScene) {
1307
- return inv('0x79F9C57B8D0DFE90', convoRoot, animScene.handle, rai());
1242
+ return !!inv('0x79F9C57B8D0DFE90', convoRoot, animScene.handle, rai());
1308
1243
  }
1309
1244
  static forcePedPanicWalla() {
1310
1245
  inv('0x062D5EAD4DA2FA6A');
@@ -1433,263 +1368,328 @@ export class Audio {
1433
1368
  return inv('0xC68C02DE259C927C', p0);
1434
1369
  }
1435
1370
  /**
1436
- * @param ped
1437
- * @param toggle
1371
+ * @param ambientZone
1372
+ * @param pos
1373
+ * @param heading
1438
1374
  */
1439
- static disablePedPainAudio(ped, toggle) {
1440
- inv('0xA9A41C1E940FB0E8', ped.handle, toggle);
1375
+ static setAmbientZonePosition(ambientZone, pos, heading) {
1376
+ inv('0x3743CE6948194349', ambientZone, f(pos.x), f(pos.y), f(pos.z), f(heading));
1441
1377
  }
1442
1378
  /**
1443
- * Old name: _FORCE_VEHICLE_ENGINE_AUDIO
1444
- *
1445
- * @param vehicle
1446
- * @param audioName
1379
+ * @param entity
1380
+ * @returns
1447
1381
  */
1448
- static forceUseAudioGameObject(vehicle, audioName) {
1449
- inv('0x4F0C413926060B38', vehicle.handle, audioName);
1382
+ static N_0x2FFF4A78384AFFDF(entity) {
1383
+ return inv('0x2FFF4A78384AFFDF', entity.handle);
1450
1384
  }
1451
1385
  /**
1452
- * @param soundName
1453
- * @param entity
1454
- * @param soundsetName
1455
- * @param soundId
1456
- * @returns
1386
+ * @param emitterName
1387
+ * @param toggle
1457
1388
  */
1458
- static prepareSoundWithEntity(soundName, entity, soundsetName, soundId) {
1459
- return inv('0x4AD019591E94C064', soundName, entity.handle, soundsetName, soundId);
1389
+ static setStaticEmitterEnabled(emitterName, toggle) {
1390
+ inv('0x399D2D3B33F1B8EB', emitterName, toggle);
1391
+ }
1392
+ /**
1393
+ * @param ped
1394
+ * @param toggle
1395
+ */
1396
+ static setPedIsDrunk(ped, toggle) {
1397
+ inv('0x95D2D383D5396B8A', ped.handle, toggle);
1460
1398
  }
1461
1399
  /**
1462
1400
  * @param p0
1463
1401
  * @param p1
1464
1402
  * @param p2
1403
+ * @param p3
1404
+ * @param p4
1465
1405
  */
1466
- static stopAllScriptedConversions(p0, p1, p2) {
1467
- inv('0x36559148B78853B3', p0, p1, p2);
1406
+ static N_0x839C9F124BE74D94(p0, p1, p2, p3, p4) {
1407
+ inv('0x839C9F124BE74D94', p0, p1, p2, p3, p4);
1468
1408
  }
1469
1409
  /**
1470
- * @param entity
1410
+ * @param ambientZone
1471
1411
  * @param p1
1412
+ * @param p2
1472
1413
  */
1473
- static removeEntityFromAudioMixGroup(entity, p1) {
1474
- inv('0x18EB48CFC41F2EA0', entity.handle, f(p1));
1414
+ static setAmbientZoneListStatePersistent(ambientZone, p1, p2) {
1415
+ inv('0xF3638DAE8C4045E1', ambientZone, p1, p2);
1475
1416
  }
1476
1417
  /**
1477
- * *AUDIO_IS** - _AUDIO_TRIGGER*
1418
+ * @param p0
1419
+ * @param p1
1420
+ * @param p2
1421
+ * @param p3
1422
+ * @param p4
1478
1423
  */
1479
- static N_0x7455CD705F7E933E() {
1480
- inv('0x7455CD705F7E933E');
1424
+ static pauseScriptedConversation(p0, p1, p2, p3, p4) {
1425
+ inv('0x8530AD776CD72B12', p0, p1, p2, p3, p4);
1481
1426
  }
1482
1427
  /**
1483
- * @param soundId
1428
+ * @param p0
1484
1429
  */
1485
- static releaseSoundId(soundId) {
1486
- inv('0x353FC880830B88FA', soundId);
1430
+ static N_0x6652B0C8F3D414D0(p0) {
1431
+ inv('0x6652B0C8F3D414D0', p0);
1487
1432
  }
1488
1433
  /**
1489
- * Old Name: _SET_VARIABLE_ON_SOUND_WITH_ID
1490
- *
1491
1434
  * @param soundId
1492
- * @param variableName
1493
- * @param variableValue
1435
+ * @param name
1436
+ * @param soundSet
1437
+ * @param p3
1494
1438
  */
1495
- static setVariableOnSound(soundId, variableName, variableValue) {
1496
- inv('0x503703EC1781B7D6', soundId, variableName, f(variableValue));
1439
+ static playSoundFrontendWithSoundId(soundId, name, soundSet, p3) {
1440
+ inv('0xCE5D0FFE83939AF1', soundId, name, soundSet, p3);
1497
1441
  }
1498
1442
  /**
1499
- * @param convoRoot
1443
+ * @param p0
1444
+ * @returns
1500
1445
  */
1501
- static startPreloadedConversation(convoRoot) {
1502
- inv('0x23641AFE870AF385', convoRoot);
1446
+ static N_0xFE5C6177064BD390(p0) {
1447
+ return !!inv('0xFE5C6177064BD390', p0, rai());
1503
1448
  }
1504
1449
  /**
1505
- * @param scene
1450
+ * @param p0
1451
+ * @param currentScriptedConvoLine
1506
1452
  * @returns
1507
1453
  */
1508
- static startAudioScene(scene) {
1509
- return inv('0x013A80FC08F6E4F2', scene, rai());
1454
+ static N_0x152ED1B56E8F1F50(p0, currentScriptedConvoLine) {
1455
+ return createFromHandle('Ped', inv('0x152ED1B56E8F1F50', p0, currentScriptedConvoLine, rai()));
1510
1456
  }
1511
1457
  /**
1458
+ * @param p0
1512
1459
  * @returns
1513
1460
  */
1514
- static getMusicPlaytime() {
1515
- return inv('0xE7A0D23DC414507B', rai());
1461
+ static N_0x4A98E228A936DBCC(p0) {
1462
+ return inv('0x4A98E228A936DBCC', p0);
1516
1463
  }
1517
1464
  /**
1518
- * Checks for MOONSHINE_BAND
1465
+ * https://en.m.wikipedia.org/wiki/Walla
1519
1466
  *
1520
- * @param entity
1521
- * @returns
1467
+ * @param p0
1468
+ * @param p1
1522
1469
  */
1523
- static N_0xBE28DB99556FF8D9(entity) {
1524
- return (inv('0xBE28DB99556FF8D9', entity.handle, rai())) & 0xFFFFFFFF;
1525
- }
1526
- static N_0x569ABC36E28DDEAA() {
1527
- inv('0x569ABC36E28DDEAA');
1470
+ static setPedWallaDensity(p0, p1) {
1471
+ inv('0x149AEE66F0CB3A99', f(p0), f(p1));
1528
1472
  }
1529
1473
  /**
1530
- * struct ScriptedSpeechParams
1531
- * {
1532
- * const char* speechName;
1533
- * const char* voiceName;
1534
- * alignas(8) int variation;
1535
- * alignas(8) Hash speechParamHash;
1536
- * alignas(8) Ped listenerPed;
1537
- * alignas(8) BOOL syncOverNetwork;
1538
- * alignas(8) int v7;
1539
- * alignas(8) int v8;
1540
- * }; static_assert(sizeof(ScriptedSpeechParams) == 0x40, "incorrect ScriptedSpeechParams size"); Example: ScriptedSpeechParams params{"RE_PH_RHD_V3_AGGRO", "0405_U_M_M_RhdSheriff_01", 1, joaat("SPEECH_PARAMS_BEAT_SHOUTED_CLEAR"), 0, true, 1, 1};
1541
- * PLAY_PED_AMBIENT_SPEECH_NATIVE(PLAYER_PED_ID(), (Any*)&params); Old name: _PLAY_AMBIENT_SPEECH1
1542
- * https://github.com/femga/rdr3_discoveries/tree/master/audio/audio_banks
1474
+ * item: value returned from 0x2E1CDC1FF3B8473E
1475
+ * soundSet: HUD_SHOP_SOUNDSET, COMPANIONS_ROBBERIES_SOUNDSET
1543
1476
  *
1544
- * @param speaker
1545
- * @returns params
1477
+ * @param item
1478
+ * @param soundSet
1479
+ * @param p2
1546
1480
  */
1547
- static playPedAmbientSpeechNative(speaker) {
1548
- const result = inv('0x8E04FEDD28D42462', speaker.handle, pvi());
1549
- return [result[0], result[1]];
1481
+ static playSoundFromItem(item, soundSet, p2) {
1482
+ inv('0xE8EAFF7B41EDD291', _h(item), _h(soundSet), p2);
1550
1483
  }
1551
1484
  /**
1552
- * Checks whether the horn of a vehicle is currently played.
1553
- *
1554
- * @param vehicle
1485
+ * @param ped
1555
1486
  * @returns
1556
1487
  */
1557
- static isHornActive(vehicle) {
1558
- return inv('0x9D6BFC12B05C6121', vehicle.handle, rai());
1488
+ static getPedSongIndexHost(ped) {
1489
+ return inv('0x2DBBF0C5E19383EE', ped.handle);
1559
1490
  }
1560
1491
  /**
1561
1492
  * @param p0
1562
- * @param p1
1563
- * @param p2
1564
- * @param p3
1565
1493
  */
1566
- static N_0xCFAD2C8CD1054523(p0, p1, p2, p3) {
1567
- inv('0xCFAD2C8CD1054523', p0, p1, p2, p3);
1494
+ static N_0x3E98AC9D8C56C62C(p0) {
1495
+ inv('0x3E98AC9D8C56C62C', p0);
1568
1496
  }
1569
1497
  /**
1498
+ * @param audioName
1570
1499
  * @param sceneset
1500
+ * @returns
1571
1501
  */
1572
- static stopAudioSceneset(sceneset) {
1573
- inv('0x9428447DED71FC7E', sceneset);
1502
+ static setAudioSceneset(audioName, sceneset) {
1503
+ return inv('0xAC84686C06184B0D', audioName, sceneset);
1574
1504
  }
1575
1505
  /**
1576
1506
  * @param p0
1577
- * @returns
1578
1507
  */
1579
- static getCurrentScriptedConversationLine(p0) {
1580
- return inv('0x480357EE890C295A', p0, rai());
1508
+ static removePortalSettingsOverride(p0) {
1509
+ inv('0xB4BBFD9CD8B3922B', p0);
1581
1510
  }
1582
1511
  /**
1583
1512
  * @param convoRoot
1584
- * @param ped
1585
- * @param characterName
1513
+ * @returns
1586
1514
  */
1587
- static addPedToConversation(convoRoot, ped, characterName) {
1588
- inv('0x95D9F4BC443956E7', convoRoot, ped.handle, characterName);
1515
+ static isScriptedConversationLoaded(convoRoot) {
1516
+ return !!inv('0xDF0D54BE7A776737', convoRoot, rai());
1589
1517
  }
1590
1518
  /**
1591
- * @param entity
1519
+ * @param p0
1592
1520
  * @param p1
1521
+ * @param pos
1522
+ * @param isSrlLoaded
1523
+ * @param p6
1524
+ * @returns
1525
+ */
1526
+ static N_0xFFE9C53DEEA3DB0B(p0, p1, pos, isSrlLoaded, p6) {
1527
+ return inv('0xFFE9C53DEEA3DB0B', p0, p1, f(pos.x), f(pos.y), f(pos.z), isSrlLoaded, p6);
1528
+ }
1529
+ static N_0x3D0BBCCF401B5FDB() {
1530
+ inv('0x3D0BBCCF401B5FDB');
1531
+ }
1532
+ /**
1533
+ * @param streamId
1534
+ */
1535
+ static stopStream(streamId) {
1536
+ inv('0xA4718A1419D18151', streamId);
1537
+ }
1538
+ /**
1539
+ * https://github.com/femga/rdr3_discoveries/tree/master/audio/frontend_soundsets
1540
+ *
1541
+ * @param audioName
1542
+ * @param audioRef
1593
1543
  * @param p2
1594
1544
  * @param p3
1595
- * @param p4
1596
1545
  */
1597
- static N_0xABDB4863D3D72021(entity, p1, p2, p3, p4) {
1598
- inv('0xABDB4863D3D72021', entity.handle, p1, p2, f(p3), p4);
1546
+ static playSoundFrontend(audioName, audioRef, p2, p3) {
1547
+ inv('0x67C540AA08E4A6F5', audioName, audioRef, p2, p3);
1599
1548
  }
1600
1549
  /**
1601
- * Not implemented.
1602
- *
1603
1550
  * @param ped
1551
+ * @param shaking
1604
1552
  */
1605
- static N_0x864A842B86993851(ped) {
1606
- inv('0x864A842B86993851', ped.handle);
1553
+ static stopPedSpeaking(ped, shaking) {
1554
+ inv('0x9D64D7405520E3D3', ped.handle, shaking);
1607
1555
  }
1608
1556
  /**
1609
- * @param p0
1557
+ * @param audioBank
1610
1558
  * @returns
1611
1559
  */
1612
- static N_0xDC2F83A0612CA34D(p0) {
1613
- return inv('0xDC2F83A0612CA34D', p0);
1560
+ static requestScriptAudioBank(audioBank) {
1561
+ return !!inv('0x2F844A8B08D76685', audioBank, rai());
1614
1562
  }
1615
1563
  /**
1616
- * https://github.com/femga/rdr3_discoveries/tree/master/audio/soundsets
1617
- *
1618
- * @param soundsetName
1564
+ * @param p0
1619
1565
  * @param p1
1620
- * @returns
1621
1566
  */
1622
- static prepareSoundset(soundsetName, p1) {
1623
- return inv('0xD9130842D7226045', soundsetName, p1);
1567
+ static N_0xC886CD666ADD42E1(p0, p1) {
1568
+ inv('0xC886CD666ADD42E1', p0, p1);
1624
1569
  }
1625
1570
  /**
1626
- * @param entity
1627
- * @returns
1571
+ * @param p0
1628
1572
  */
1629
- static N_0x62377977E4F08668(entity) {
1630
- return createFromHandle('AnimScene', inv('0x62377977E4F08668', entity.handle, rai()));
1573
+ static N_0xEA546C31FD45F8CD(p0) {
1574
+ inv('0xEA546C31FD45F8CD', p0);
1631
1575
  }
1632
1576
  /**
1633
- * @param audioName
1634
- * @param sceneset
1577
+ * @param p0
1578
+ */
1579
+ static N_0x0FAF7171BF613B80(p0) {
1580
+ inv('0x0FAF7171BF613B80', p0);
1581
+ }
1582
+ /**
1583
+ * nullsub, doesn't do anything
1584
+ */
1585
+ static unregisterScriptWithAudio() {
1586
+ inv('0xA8638BE228D4751A');
1587
+ }
1588
+ /**
1589
+ * @param convoRoot
1590
+ * @param singleLineIndex
1591
+ */
1592
+ static N_0x40CA665AB9D8D505(convoRoot, singleLineIndex) {
1593
+ inv('0x40CA665AB9D8D505', convoRoot, singleLineIndex);
1594
+ }
1595
+ static stopAllScriptedAudioSounds() {
1596
+ inv('0x2E399EAFBEEA74D5');
1597
+ }
1598
+ /**
1599
+ * @param p0
1600
+ */
1601
+ static N_0xF232C2C546AC16D0(p0) {
1602
+ inv('0xF232C2C546AC16D0', p0);
1603
+ }
1604
+ /**
1605
+ * https://github.com/femga/rdr3_discoveries/blob/master/audio/music_events/music_events.lua
1606
+ *
1607
+ * @param eventName
1635
1608
  * @returns
1636
1609
  */
1637
- static startAudioSceneset(audioName, sceneset) {
1638
- return inv('0x6339C1EA3979B5F7', audioName, sceneset);
1610
+ static triggerMusicEvent(eventName) {
1611
+ return !!inv('0x706D57B0F50DA710', eventName, rai());
1639
1612
  }
1640
1613
  /**
1641
1614
  * @param p0
1642
- * @param p1
1643
- * @param p2
1644
- * @param p3
1645
- * @param p4
1646
1615
  */
1647
- static N_0x448F2647DD6F2E27(p0, p1, p2, p3, p4) {
1648
- inv('0x448F2647DD6F2E27', p0, p1, p2, p3, p4);
1616
+ static restartScriptedConversation(p0) {
1617
+ inv('0x9AEB285D1818C9AC', p0);
1618
+ }
1619
+ /**
1620
+ * @param ped
1621
+ */
1622
+ static N_0xC4CFCE4C656EF480(ped) {
1623
+ inv('0xC4CFCE4C656EF480', ped.handle);
1649
1624
  }
1650
1625
  /**
1651
1626
  * @param p0
1627
+ * @param p1
1628
+ */
1629
+ static N_0x3A00D87B20A2A5E4(p0, p1) {
1630
+ inv('0x3A00D87B20A2A5E4', p0, p1);
1631
+ }
1632
+ /**
1633
+ * @param pedHandle
1652
1634
  * @returns
1653
1635
  */
1654
- static N_0xB18FEC133C7C6C69(p0) {
1655
- return inv('0xB18FEC133C7C6C69', p0);
1636
+ static isAnimalVocalizationPlaying(pedHandle) {
1637
+ return !!inv('0xC265DF9FB44A9FBD', pedHandle.handle, rai());
1656
1638
  }
1657
1639
  /**
1658
1640
  * @param p0
1659
1641
  * @returns
1660
1642
  */
1661
- static N_0x295859EB18F48D82(p0) {
1662
- return inv('0x295859EB18F48D82', p0, rai());
1643
+ static isAnyConversationPlaying(p0) {
1644
+ return inv('0xA2CAC9DEF0195E6F', p0);
1663
1645
  }
1664
1646
  /**
1665
- * @param p0
1647
+ * @param name
1648
+ * @param pos
1666
1649
  */
1667
- static N_0xCBF2BEBB468A34F3(p0) {
1668
- inv('0xCBF2BEBB468A34F3', p0);
1650
+ static triggerExplosion(name, pos) {
1651
+ inv('0x374F0E716BFCDE82', name, f(pos.x), f(pos.y), f(pos.z));
1669
1652
  }
1670
1653
  /**
1671
- * @param p0
1654
+ * @param ropeId
1672
1655
  * @param p1
1656
+ */
1657
+ static N_0x2651DDC0EA269073(ropeId, p1) {
1658
+ inv('0x2651DDC0EA269073', ropeId, f(p1));
1659
+ }
1660
+ static stopAudioScenes() {
1661
+ inv('0xBAC7FC81A75EC1A1');
1662
+ }
1663
+ /**
1664
+ * @param audioName
1665
+ * @param audioRef
1673
1666
  * @param p2
1667
+ * @param p3
1668
+ * @param p4
1669
+ * @param p5
1670
+ */
1671
+ static playSound(audioName, audioRef, p2, p3, p4, p5) {
1672
+ inv('0x7FF4944CC209192D', audioName, audioRef, p2, p3, p4, p5);
1673
+ }
1674
+ /**
1675
+ * @param scene
1674
1676
  * @returns
1675
1677
  */
1676
- static stopScriptedConversation(p0, p1, p2) {
1677
- return inv('0xD79DEEFB53455EBA', p0, p1, p2, rai());
1678
+ static isAudioSceneActive(scene) {
1679
+ return !!inv('0xB65B60556E2A9225', scene, rai());
1678
1680
  }
1679
1681
  /**
1680
- * @param p0
1681
- * @param p1
1682
+ * @param context
1683
+ * @param block
1682
1684
  */
1683
- static N_0xFD461D0ABA5559B1(p0, p1) {
1684
- inv('0xFD461D0ABA5559B1', p0, p1);
1685
+ static blockSpeechContext(context, block) {
1686
+ inv('0x6378A235374B852F', context, block);
1685
1687
  }
1686
1688
  /**
1687
- * *IS_SCRIPTED_CONVERSATION**
1688
- *
1689
- * @param convoRoot
1689
+ * @param p0
1690
1690
  * @returns
1691
1691
  */
1692
- static N_0xD0730C1FA40348D9(convoRoot) {
1693
- return inv('0xD0730C1FA40348D9', convoRoot, rai());
1692
+ static N_0x847748AE5D7B1071(p0) {
1693
+ return !!inv('0x847748AE5D7B1071', p0, rai());
1694
1694
  }
1695
1695
  }