@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
@@ -11,143 +11,141 @@ import { inv, rai, raf, ras, rav, pvi, pvf, pvv, pvii, pvfi, _h, f } from '../ty
11
11
 
12
12
  export class Audio {
13
13
  /**
14
- * @param p0
15
- */
16
- static skipToNextScriptedConversationLine(p0: string | null): void {
17
- inv<void>('0x9663FE6B7A61EB00', p0);
18
- }
19
-
20
- /**
21
- * @param ped
22
- * @param p1
14
+ * https://github.com/femga/rdr3_discoveries/tree/master/audio/audio_flags
15
+ *
16
+ * @param flagName
17
+ * @param toggle
23
18
  */
24
- static stopCurrentPlayingSpeech(ped: Ped, p1: any): void {
25
- inv<void>('0x79D2F0E66F81D90D', ped.handle, p1);
26
- }
27
-
28
- static clearConversationHistory(): void {
29
- inv<void>('0x33D51F801CB16E4F');
19
+ static setAudioFlag(flagName: string | null, toggle: boolean): void {
20
+ inv<void>('0xB9EFD5C25018725A', flagName, toggle);
30
21
  }
31
22
 
32
23
  /**
33
- * @param eventName
34
- * @returns
24
+ * @param vehicle
25
+ * @param toggle
35
26
  */
36
- static prepareMusicEvent(eventName: string | null): boolean {
37
- return inv<boolean>('0x1E5185B72EF5158A', eventName, rai());
27
+ static setHornEnabled(vehicle: Vehicle, toggle: boolean): void {
28
+ inv<void>('0x76D683C108594D0E', vehicle.handle, toggle);
38
29
  }
39
30
 
40
31
  /**
41
- * Starts Audio Loop
42
- * _PLAY_SOUND_FROM_ENTITY* - _PLAY_SOUND_FRONTEND*
32
+ * p1 is possibly naSpeechAudibility, naSpeechType, or naSpeechEventTypeRequestPriority
33
+ * SKIP_* - START_*
43
34
  *
44
- * @param soundId
45
- * @param soundName
46
- * @param pos
47
- * @param soundsetName
48
- * @param p6
49
- * @param p7
50
- * @param p8
35
+ * @param speechEventType Refer to [enum: naSpeechEventType]
36
+ * @param p1
37
+ * @param p2
51
38
  */
52
- static playSoundFromPositionWithId(soundId: number, soundName: string | null, pos: Vector3, soundsetName: string | null, p6: boolean, p7: number, p8: boolean): void {
53
- inv<void>('0xDCF5BA95BBF0FABA', soundId, soundName, f(pos.x), f(pos.y), f(pos.z), soundsetName, p6, p7, p8);
39
+ static N_0x0D7FD6A55FD63AEF(speechEventType: number, p1: number, p2: boolean): void {
40
+ inv<void>('0x0D7FD6A55FD63AEF', speechEventType, p1, p2);
54
41
  }
55
42
 
56
43
  /**
57
44
  * @param p0
58
45
  * @param p1
59
46
  * @param p2
47
+ * @param p3
48
+ * @param p4
60
49
  */
61
- static N_0x8D29FDF565DED9AE(p0: any, p1: any, p2: any): void {
62
- inv<void>('0x8D29FDF565DED9AE', p0, p1, p2);
50
+ static N_0x06C5DF5EE444BC6B(p0: any, p1: any, p2: any, p3: any, p4: any): void {
51
+ inv<void>('0x06C5DF5EE444BC6B', p0, p1, p2, p3, p4);
63
52
  }
64
53
 
65
54
  /**
66
- * @param eventName
55
+ * @param p0
67
56
  * @returns
68
57
  */
69
- static triggerMusicEventWithHash(eventName: string | number): any {
70
- return inv<number>('0x05D6195FB4D428F4', _h(eventName));
58
+ static N_0x2B9C37C01BF25EDB(p0: any): any {
59
+ return inv<number>('0x2B9C37C01BF25EDB', p0);
71
60
  }
72
61
 
73
62
  /**
74
- * @param soundId
75
- * @returns
63
+ * @param p0
76
64
  */
77
- static hasSoundIdFinished(soundId: number): any {
78
- return inv<number>('0x84848E1C0FC67DBB', soundId);
65
+ static N_0x64B956F4E761DF5C(p0: any): void {
66
+ inv<void>('0x64B956F4E761DF5C', p0);
79
67
  }
80
68
 
81
69
  /**
82
- * @param scene
70
+ * @param p0
83
71
  */
84
- static stopAudioScene(scene: string | null): void {
85
- inv<void>('0xDFE8422B3B94E688', scene);
72
+ static setAudioOnlineTransitionStage(p0: string | null): void {
73
+ inv<void>('0x9B1FC259187C97C0', p0);
86
74
  }
87
75
 
88
76
  /**
89
- * @param p0
90
- * @param p1
77
+ * @param streamId
91
78
  */
92
- static N_0xA6847BBA4FCDD13F(p0: any, p1: any): void {
93
- inv<void>('0xA6847BBA4FCDD13F', p0, p1);
79
+ static playStreamFrontend(streamId: number): void {
80
+ inv<void>('0x58FCE43488F9F5F4', streamId);
94
81
  }
95
82
 
96
83
  /**
97
- * @param p0
84
+ * _IS_SOUND_RUNNING(?)
85
+ *
86
+ * @param audioName
87
+ * @param audioRef
98
88
  * @returns
99
89
  */
100
- static isScriptedSpeechPlaying(p0: any): boolean {
101
- return inv<boolean>('0xCC9AA18DCC7084F4', p0, rai());
90
+ static N_0x580D71DFE0088E34(audioName: string | null, audioRef: string | null): boolean {
91
+ return !!inv<boolean>('0x580D71DFE0088E34', audioName, audioRef, rai());
102
92
  }
103
93
 
104
94
  /**
105
- * @param ped
106
- * @param p1
107
- * @param hash
95
+ * nullsub, doesn't do anything
96
+ *
97
+ * @param p0
108
98
  */
109
- static useFootstepScriptSweeteners(ped: Ped, p1: boolean, hash: string | number): void {
110
- inv<void>('0xBF4DC1784BE94DFA', ped.handle, p1, _h(hash));
99
+ static registerScriptWithAudio(p0: boolean): void {
100
+ inv<void>('0xC6ED9D5092438D91', p0);
111
101
  }
112
102
 
113
103
  /**
114
- * whistleConfig: Ped.WhistlePitch (0.0 - 1.0), Ped.WhistleClarity (0.0 - 1.0), Ped.WhistleShape (0.0 - 10.0)
115
- *
116
- * @param ped
117
- * @param whistleConfig
118
- * @param value
104
+ * @param p0
105
+ * @param p1
119
106
  */
120
- static setWhistleConfigForPed(ped: Ped, whistleConfig: string | null, value: number): void {
121
- inv<void>('0x9963681A8BC69BF3', ped.handle, whistleConfig, f(value));
107
+ static N_0x35B8C070E0C16E2F(p0: any, p1: any): void {
108
+ inv<void>('0x35B8C070E0C16E2F', p0, p1);
109
+ }
110
+
111
+ static N_0x138ADB94F8B90616(): void {
112
+ inv<void>('0x138ADB94F8B90616');
122
113
  }
123
114
 
124
115
  /**
125
- * @param ped
116
+ * @param p0
126
117
  * @param p1
127
118
  * @param p2
128
119
  */
129
- static playAnimalVocalizationPheromoneVialResponse(ped: Ped, p1: string | number, p2: boolean): void {
130
- inv<void>('0x0E53530D9B2DB01D', ped.handle, _h(p1), p2);
120
+ static N_0x380A2E353AD30917(p0: any, p1: any, p2: any): void {
121
+ inv<void>('0x380A2E353AD30917', p0, p1, p2);
131
122
  }
132
123
 
133
124
  /**
134
- * Only used in R* SP Scripts
135
- * Old Name: _UPDATE_SOUND_POSITION
136
- *
137
- * @param soundId
138
- * @param pos
125
+ * @param convoRoot
126
+ * @returns
139
127
  */
140
- static updateSoundCoord(soundId: number, pos: Vector3): void {
141
- inv<void>('0x0286617C8FC50A53', soundId, f(pos.x), f(pos.y), f(pos.z));
128
+ static createNewScriptedConversation(convoRoot: string | null): any {
129
+ return inv<number>('0xD2C91A0B572AAE56', convoRoot);
142
130
  }
143
131
 
144
132
  /**
145
- * @param ambientZone
133
+ * @param p0
146
134
  * @param p1
147
135
  * @param p2
136
+ * @returns
148
137
  */
149
- static setAmbientZoneStatePersistent(ambientZone: string | null, p1: boolean, p2: boolean): void {
150
- inv<void>('0x1D6650420CEC9D3B', ambientZone, p1, p2);
138
+ static N_0x7678FE0455ED1145(p0: any, p1: any, p2: any): any {
139
+ return inv<number>('0x7678FE0455ED1145', p0, p1, p2);
140
+ }
141
+
142
+ /**
143
+ * @param entity
144
+ * @param groupName
145
+ * @param p2
146
+ */
147
+ static addEntityToAudioMixGroup(entity: Entity, groupName: string | null, p2: number): void {
148
+ inv<void>('0x153973AB99FE8980', entity.handle, groupName, f(p2));
151
149
  }
152
150
 
153
151
  /**
@@ -201,7 +199,7 @@ export class Audio {
201
199
  * @returns
202
200
  */
203
201
  static N_0x0CB3D1919E8D7CBA(convoRoot: string | null): boolean {
204
- return inv<boolean>('0x0CB3D1919E8D7CBA', convoRoot, rai());
202
+ return !!inv<boolean>('0x0CB3D1919E8D7CBA', convoRoot, rai());
205
203
  }
206
204
 
207
205
  /**
@@ -295,137 +293,143 @@ export class Audio {
295
293
  }
296
294
 
297
295
  /**
298
- * @param ped
299
- * @param p1
300
- */
301
- static stopCurrentPlayingAmbientSpeech(ped: Ped, p1: any): void {
302
- inv<void>('0xB8BEC0CA6F0EDB0F', ped.handle, p1);
303
- }
304
-
305
- /**
306
- * @param p0
307
- * @param ped
308
- * @param p2
296
+ * soundId maybe be incorrect name for param p2, in the decompiles is always -2
297
+ *
298
+ * @param soundName
299
+ * @param soundsetName
300
+ * @param soundId
309
301
  * @returns
310
302
  */
311
- static isPedInCurrentConversation(p0: string | null, ped: Ped, p2: any): boolean {
312
- return inv<boolean>('0x049E937F18F4020C', p0, ped.handle, p2, rai());
303
+ static prepareSound(soundName: string | null, soundsetName: string | null, soundId: number): any {
304
+ return inv<number>('0xE368E8422C860BA7', soundName, soundsetName, soundId);
313
305
  }
314
306
 
315
307
  /**
316
308
  * @param p0
317
- * @returns
309
+ * @param p1
318
310
  */
319
- static isScriptedConversionOngoing(p0: string | null): any {
320
- return inv<number>('0xF01C570E0A0A1E67', p0);
311
+ static N_0x259ACC5B52A2B2D9(p0: any, p1: any): void {
312
+ inv<void>('0x259ACC5B52A2B2D9', p0, p1);
321
313
  }
322
314
 
323
315
  /**
324
- * @param soundsetName
316
+ * @param audSpeechEvent
325
317
  */
326
- static releaseSoundset(soundsetName: string | null): void {
327
- inv<void>('0x531A78D6BF27014B', soundsetName);
318
+ static N_0x1E6F9A9FE1A99F36(audSpeechEvent: string | null): void {
319
+ inv<void>('0x1E6F9A9FE1A99F36', audSpeechEvent);
328
320
  }
329
321
 
330
322
  /**
331
- * @returns
323
+ * @param p0
324
+ * @param p1
325
+ * @param p2
326
+ * @param p3
332
327
  */
333
- static getSoundId(): number {
334
- return inv<number>('0x430386FE9BF80B45', rai());
328
+ static N_0x017492B2201E3428(p0: any, p1: any, p2: any, p3: any): void {
329
+ inv<void>('0x017492B2201E3428', p0, p1, p2, p3);
335
330
  }
336
331
 
337
332
  /**
338
- * @param listeningToPed
339
- * @param ped
340
- * @param listenerName
333
+ * @returns
341
334
  */
342
- static N_0xA2323A2EAE32A290(listeningToPed: Ped, ped: Ped, listenerName: string | null): void {
343
- inv<void>('0xA2323A2EAE32A290', listeningToPed.handle, ped.handle, listenerName);
335
+ static N_0xE600F61F54A444A6(): any {
336
+ return inv<number>('0xE600F61F54A444A6');
344
337
  }
345
338
 
346
339
  /**
347
- * @param p0
348
- * @returns
340
+ * @param scene
341
+ * @param variable
342
+ * @param value
349
343
  */
350
- static N_0xF0EE69F500952FA5(p0: any): any {
351
- return inv<number>('0xF0EE69F500952FA5', p0);
344
+ static setAudioSceneVariable(scene: string | null, variable: string | null, value: number): void {
345
+ inv<void>('0xEF21A9EF089A2668', scene, variable, f(value));
352
346
  }
353
347
 
354
348
  /**
355
- * Old name: AUDIO_IS_SCRIPTED_MUSIC_PLAYING
349
+ * Old name: _PLAY_AMBIENT_SPEECH_AT_COORDS
356
350
  *
357
- * @returns
351
+ * @param pos
352
+ * @returns params
358
353
  */
359
- static isMusicPlaying(): boolean {
360
- return inv<boolean>('0x845FFC3A4FEEFA3E', rai());
354
+ static playAmbientSpeechFromPositionNative(pos: Vector3): [any, number] {
355
+ const result = inv<[number, number]>('0xED640017ED337E45', f(pos.x), f(pos.y), f(pos.z), pvi());
356
+ return [result[0], result[1]];
361
357
  }
362
358
 
363
359
  /**
364
- * Used in Script Function NET_CAMP_CLIENT_UPDATE_PED_ROLE_STATE_SHOP: hash exists! Playing hash
365
- *
366
- * @param ped
360
+ * @param p0
367
361
  * @param p1
362
+ * @param p2
363
+ * @param p3
368
364
  */
369
- static N_0xB93A769B8B726950(ped: Ped, p1: string | number): void {
370
- inv<void>('0xB93A769B8B726950', ped.handle, _h(p1));
365
+ static N_0x5E3CCF03995388B5(p0: any, p1: any, p2: any, p3: any): void {
366
+ inv<void>('0x5E3CCF03995388B5', p0, p1, p2, p3);
371
367
  }
372
368
 
373
369
  /**
374
- * @param variableName
375
- * @param variableValue
376
- * @param audioName
377
- * @param audioRef
370
+ * @param entity
371
+ * @returns
378
372
  */
379
- static setVariableOnSoundWithName(variableName: string | null, variableValue: number, audioName: string | null, audioRef: string | null): void {
380
- inv<void>('0x9821B68CD3E05F2B', variableName, f(variableValue), audioName, audioRef);
373
+ static N_0x886657C5B3D8EDE3(entity: Entity): any {
374
+ return inv<number>('0x886657C5B3D8EDE3', entity.handle);
381
375
  }
382
376
 
383
377
  /**
384
378
  * @param p0
385
- * @param p1
386
379
  */
387
- static N_0xD733528B6C35647A(p0: any, p1: any): void {
388
- inv<void>('0xD733528B6C35647A', p0, p1);
380
+ static N_0x6B7A88A61B41E589(p0: any): void {
381
+ inv<void>('0x6B7A88A61B41E589', p0);
389
382
  }
390
383
 
391
384
  /**
392
- * @param ambientZone
385
+ * @param p0
393
386
  * @param p1
387
+ * @param p2
394
388
  */
395
- static clearAmbientZoneListState(ambientZone: string | null, p1: boolean): void {
396
- inv<void>('0x120C48C614909FA4', ambientZone, p1);
389
+ static N_0x821C32C728B24477(p0: any, p1: any, p2: any): void {
390
+ inv<void>('0x821C32C728B24477', p0, p1, p2);
397
391
  }
398
392
 
399
393
  /**
400
- * @param p0
394
+ * @param ped
401
395
  * @param p1
396
+ * @returns
402
397
  */
403
- static N_0xE891504B2F0E2DBA(p0: any, p1: any): void {
404
- inv<void>('0xE891504B2F0E2DBA', p0, p1);
398
+ static isPedInAnyConversation(ped: Ped, p1: boolean): any {
399
+ return inv<number>('0x54B187F111D9C6F8', ped.handle, p1);
405
400
  }
406
401
 
407
402
  /**
403
+ * Hashes: VOFX_PLAYER_MALE01, VOFX_PLAYER_MALE02, VOFX_PLAYER_MALE03, VOFX_PLAYER_FEMALE01, VOFX_PLAYER_FEMALE02, VOFX_PLAYER_FEMALE03
404
+ *
408
405
  * @param ped
409
- * @param p1
410
- * @returns
406
+ * @param voice
411
407
  */
412
- static N_0xDF947FE0D551684E(ped: Ped, p1: string | null): boolean {
413
- return inv<boolean>('0xDF947FE0D551684E', ped.handle, p1, rai());
408
+ static setVofxPedVoice(ped: Ped, voice: string | number): void {
409
+ inv<void>('0x2703EFB583F0949A', ped.handle, _h(voice));
414
410
  }
415
411
 
416
412
  /**
417
- * @param entity
418
- * @param p1
413
+ * @param ped
414
+ * @returns
419
415
  */
420
- static N_0xE9694B2D6CB87B06(entity: Entity, p1: any): void {
421
- inv<void>('0xE9694B2D6CB87B06', entity.handle, p1);
416
+ static isAnySpeechPlaying(ped: Ped): boolean {
417
+ return !!inv<boolean>('0x729072355FA39EC9', ped.handle, rai());
422
418
  }
423
419
 
424
420
  /**
425
- * @param audioBank
421
+ * @param convoRoot
426
422
  */
427
- static releaseNamedScriptAudioBank(audioBank: string | null): void {
428
- inv<void>('0x77ED170667F50170', audioBank);
423
+ static clearConversationHistoryForScriptedConversation(convoRoot: string | null): void {
424
+ inv<void>('0xEF51242E35242B47', convoRoot);
425
+ }
426
+
427
+ /**
428
+ * @param p0
429
+ * @param p1
430
+ */
431
+ static N_0x018ABE833CA64D2A(p0: any, p1: any): void {
432
+ inv<void>('0x018ABE833CA64D2A', p0, p1);
429
433
  }
430
434
 
431
435
  /**
@@ -449,7 +453,7 @@ export class Audio {
449
453
  * @returns
450
454
  */
451
455
  static N_0x5A13586A9447931F(p0: boolean): boolean {
452
- return inv<boolean>('0x5A13586A9447931F', p0, rai());
456
+ return !!inv<boolean>('0x5A13586A9447931F', p0, rai());
453
457
  }
454
458
 
455
459
  /**
@@ -490,7 +494,7 @@ export class Audio {
490
494
  * @returns
491
495
  */
492
496
  static isStreamPlaying(streamId: number): boolean {
493
- return inv<boolean>('0xD11FA52EB849D978', streamId, rai());
497
+ return !!inv<boolean>('0xD11FA52EB849D978', streamId, rai());
494
498
  }
495
499
 
496
500
  /**
@@ -591,7 +595,7 @@ export class Audio {
591
595
  * @returns
592
596
  */
593
597
  static loadStream(streamName: string | null, soundSet: string | null): boolean {
594
- return inv<boolean>('0x1F1F957154EC51DF', streamName, soundSet, rai());
598
+ return !!inv<boolean>('0x1F1F957154EC51DF', streamName, soundSet, rai());
595
599
  }
596
600
 
597
601
  /**
@@ -617,8 +621,8 @@ export class Audio {
617
621
  * @param p0
618
622
  * @returns
619
623
  */
620
- static isScriptedConversationPlaying(p0: string | null): any {
621
- return inv<number>('0x1ECC76792F661CF5', p0);
624
+ static isScriptedConversationPlaying(p0: string | null): boolean {
625
+ return !!inv<boolean>('0x1ECC76792F661CF5', p0, rai());
622
626
  }
623
627
 
624
628
  /**
@@ -717,7 +721,7 @@ export class Audio {
717
721
  * @returns
718
722
  */
719
723
  static doesContextExistForThisPed(ped: Ped, speechName: string | null, unk: boolean): boolean {
720
- return inv<boolean>('0x49B99BF3FDA89A7A', ped.handle, speechName, unk, rai());
724
+ return !!inv<boolean>('0x49B99BF3FDA89A7A', ped.handle, speechName, unk, rai());
721
725
  }
722
726
 
723
727
  /**
@@ -755,7 +759,7 @@ export class Audio {
755
759
  * @returns
756
760
  */
757
761
  static cancelMusicEvent(eventName: string | null): boolean {
758
- return inv<boolean>('0x5B17A90291133DA5', eventName, rai());
762
+ return !!inv<boolean>('0x5B17A90291133DA5', eventName, rai());
759
763
  }
760
764
 
761
765
  /**
@@ -763,7 +767,7 @@ export class Audio {
763
767
  * @returns
764
768
  */
765
769
  static isAmbientSpeechDisabled(ped: Ped): boolean {
766
- return inv<boolean>('0x932C2D096A2C3FFF', ped.handle, rai());
770
+ return !!inv<boolean>('0x932C2D096A2C3FFF', ped.handle, rai());
767
771
  }
768
772
 
769
773
  /**
@@ -827,655 +831,573 @@ export class Audio {
827
831
  * @returns
828
832
  */
829
833
  static isAmbientSpeechPlaying(ped: Ped): boolean {
830
- return inv<boolean>('0x9072C8B49907BFAD', ped.handle, rai());
831
- }
832
-
833
- /**
834
- * @param ambientZone
835
- * @param pos
836
- * @param heading
837
- */
838
- static setAmbientZonePosition(ambientZone: string | null, pos: Vector3, heading: number): void {
839
- inv<void>('0x3743CE6948194349', ambientZone, f(pos.x), f(pos.y), f(pos.z), f(heading));
834
+ return !!inv<boolean>('0x9072C8B49907BFAD', ped.handle, rai());
840
835
  }
841
836
 
842
837
  /**
843
- * @param entity
844
- * @returns
838
+ * @param ped
839
+ * @param toggle
845
840
  */
846
- static N_0x2FFF4A78384AFFDF(entity: Entity): any {
847
- return inv<number>('0x2FFF4A78384AFFDF', entity.handle);
841
+ static disablePedPainAudio(ped: Ped, toggle: boolean): void {
842
+ inv<void>('0xA9A41C1E940FB0E8', ped.handle, toggle);
848
843
  }
849
844
 
850
845
  /**
851
- * @param emitterName
852
- * @param toggle
846
+ * Old name: _FORCE_VEHICLE_ENGINE_AUDIO
847
+ *
848
+ * @param vehicle
849
+ * @param audioName
853
850
  */
854
- static setStaticEmitterEnabled(emitterName: string | null, toggle: boolean): void {
855
- inv<void>('0x399D2D3B33F1B8EB', emitterName, toggle);
851
+ static forceUseAudioGameObject(vehicle: Vehicle, audioName: string | null): void {
852
+ inv<void>('0x4F0C413926060B38', vehicle.handle, audioName);
856
853
  }
857
854
 
858
855
  /**
859
- * @param ped
860
- * @param toggle
856
+ * @param soundName
857
+ * @param entity
858
+ * @param soundsetName
859
+ * @param soundId
860
+ * @returns
861
861
  */
862
- static setPedIsDrunk(ped: Ped, toggle: boolean): void {
863
- inv<void>('0x95D2D383D5396B8A', ped.handle, toggle);
862
+ static prepareSoundWithEntity(soundName: string | null, entity: Entity, soundsetName: string | null, soundId: number): any {
863
+ return inv<number>('0x4AD019591E94C064', soundName, entity.handle, soundsetName, soundId);
864
864
  }
865
865
 
866
866
  /**
867
867
  * @param p0
868
868
  * @param p1
869
869
  * @param p2
870
- * @param p3
871
- * @param p4
872
870
  */
873
- static N_0x839C9F124BE74D94(p0: any, p1: any, p2: any, p3: any, p4: any): void {
874
- inv<void>('0x839C9F124BE74D94', p0, p1, p2, p3, p4);
871
+ static stopAllScriptedConversions(p0: boolean, p1: boolean, p2: boolean): void {
872
+ inv<void>('0x36559148B78853B3', p0, p1, p2);
875
873
  }
876
874
 
877
875
  /**
878
- * @param ambientZone
876
+ * @param entity
879
877
  * @param p1
880
- * @param p2
881
878
  */
882
- static setAmbientZoneListStatePersistent(ambientZone: string | null, p1: boolean, p2: boolean): void {
883
- inv<void>('0xF3638DAE8C4045E1', ambientZone, p1, p2);
879
+ static removeEntityFromAudioMixGroup(entity: Entity, p1: number): void {
880
+ inv<void>('0x18EB48CFC41F2EA0', entity.handle, f(p1));
884
881
  }
885
882
 
886
883
  /**
887
- * @param p0
888
- * @param p1
889
- * @param p2
890
- * @param p3
891
- * @param p4
884
+ * *AUDIO_IS** - _AUDIO_TRIGGER*
892
885
  */
893
- static pauseScriptedConversation(p0: string | null, p1: boolean, p2: boolean, p3: boolean, p4: boolean): void {
894
- inv<void>('0x8530AD776CD72B12', p0, p1, p2, p3, p4);
886
+ static N_0x7455CD705F7E933E(): void {
887
+ inv<void>('0x7455CD705F7E933E');
895
888
  }
896
889
 
897
890
  /**
898
- * @param p0
891
+ * @param soundId
899
892
  */
900
- static N_0x6652B0C8F3D414D0(p0: any): void {
901
- inv<void>('0x6652B0C8F3D414D0', p0);
893
+ static releaseSoundId(soundId: number): void {
894
+ inv<void>('0x353FC880830B88FA', soundId);
902
895
  }
903
896
 
904
897
  /**
898
+ * Old Name: _SET_VARIABLE_ON_SOUND_WITH_ID
899
+ *
905
900
  * @param soundId
906
- * @param name
907
- * @param soundSet
908
- * @param p3
901
+ * @param variableName
902
+ * @param variableValue
909
903
  */
910
- static playSoundFrontendWithSoundId(soundId: number, name: string | null, soundSet: string | null, p3: boolean): void {
911
- inv<void>('0xCE5D0FFE83939AF1', soundId, name, soundSet, p3);
904
+ static setVariableOnSound(soundId: number, variableName: string | null, variableValue: number): void {
905
+ inv<void>('0x503703EC1781B7D6', soundId, variableName, f(variableValue));
912
906
  }
913
907
 
914
908
  /**
915
- * @param p0
916
- * @returns
909
+ * @param convoRoot
917
910
  */
918
- static N_0xFE5C6177064BD390(p0: boolean): boolean {
919
- return inv<boolean>('0xFE5C6177064BD390', p0, rai());
911
+ static startPreloadedConversation(convoRoot: string | null): void {
912
+ inv<void>('0x23641AFE870AF385', convoRoot);
920
913
  }
921
914
 
922
915
  /**
923
- * @param p0
924
- * @param currentScriptedConvoLine
916
+ * @param scene
925
917
  * @returns
926
918
  */
927
- static N_0x152ED1B56E8F1F50(p0: string | null, currentScriptedConvoLine: number): Ped | null {
928
- return createFromHandle<Ped>('Ped', inv<number>('0x152ED1B56E8F1F50', p0, currentScriptedConvoLine, rai()));
919
+ static startAudioScene(scene: string | null): boolean {
920
+ return !!inv<boolean>('0x013A80FC08F6E4F2', scene, rai());
929
921
  }
930
922
 
931
923
  /**
932
- * @param p0
933
924
  * @returns
934
925
  */
935
- static N_0x4A98E228A936DBCC(p0: any): any {
936
- return inv<number>('0x4A98E228A936DBCC', p0);
926
+ static getMusicPlaytime(): number {
927
+ return inv<number>('0xE7A0D23DC414507B', rai());
937
928
  }
938
929
 
939
930
  /**
940
- * https://en.m.wikipedia.org/wiki/Walla
931
+ * Checks for MOONSHINE_BAND
941
932
  *
942
- * @param p0
943
- * @param p1
933
+ * @param entity
934
+ * @returns
944
935
  */
945
- static setPedWallaDensity(p0: number, p1: number): void {
946
- inv<void>('0x149AEE66F0CB3A99', f(p0), f(p1));
936
+ static N_0xBE28DB99556FF8D9(entity: Entity): number {
937
+ return (inv<number>('0xBE28DB99556FF8D9', entity.handle, rai())) & 0xFFFFFFFF;
938
+ }
939
+
940
+ static N_0x569ABC36E28DDEAA(): void {
941
+ inv<void>('0x569ABC36E28DDEAA');
947
942
  }
948
943
 
949
944
  /**
950
- * item: value returned from 0x2E1CDC1FF3B8473E
951
- * soundSet: HUD_SHOP_SOUNDSET, COMPANIONS_ROBBERIES_SOUNDSET
945
+ * struct ScriptedSpeechParams
946
+ * {
947
+ * const char* speechName;
948
+ * const char* voiceName;
949
+ * alignas(8) int variation;
950
+ * alignas(8) Hash speechParamHash;
951
+ * alignas(8) Ped listenerPed;
952
+ * alignas(8) BOOL syncOverNetwork;
953
+ * alignas(8) int v7;
954
+ * alignas(8) int v8;
955
+ * }; 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};
956
+ * PLAY_PED_AMBIENT_SPEECH_NATIVE(PLAYER_PED_ID(), (Any*)&params); Old name: _PLAY_AMBIENT_SPEECH1
957
+ * https://github.com/femga/rdr3_discoveries/tree/master/audio/audio_banks
952
958
  *
953
- * @param item
954
- * @param soundSet
955
- * @param p2
959
+ * @param speaker
960
+ * @returns params
956
961
  */
957
- static playSoundFromItem(item: string | number, soundSet: string | number, p2: any): void {
958
- inv<void>('0xE8EAFF7B41EDD291', _h(item), _h(soundSet), p2);
962
+ static playPedAmbientSpeechNative(speaker: Ped): [any, number] {
963
+ const result = inv<[number, number]>('0x8E04FEDD28D42462', speaker.handle, pvi());
964
+ return [result[0], result[1]];
959
965
  }
960
966
 
961
967
  /**
962
- * @param ped
968
+ * Checks whether the horn of a vehicle is currently played.
969
+ *
970
+ * @param vehicle
963
971
  * @returns
964
972
  */
965
- static getPedSongIndexHost(ped: Ped): any {
966
- return inv<number>('0x2DBBF0C5E19383EE', ped.handle);
973
+ static isHornActive(vehicle: Vehicle): boolean {
974
+ return !!inv<boolean>('0x9D6BFC12B05C6121', vehicle.handle, rai());
967
975
  }
968
976
 
969
977
  /**
970
978
  * @param p0
979
+ * @param p1
980
+ * @param p2
981
+ * @param p3
971
982
  */
972
- static N_0x3E98AC9D8C56C62C(p0: any): void {
973
- inv<void>('0x3E98AC9D8C56C62C', p0);
983
+ static N_0xCFAD2C8CD1054523(p0: any, p1: any, p2: any, p3: any): void {
984
+ inv<void>('0xCFAD2C8CD1054523', p0, p1, p2, p3);
974
985
  }
975
986
 
976
987
  /**
977
- * @param audioName
978
988
  * @param sceneset
979
- * @returns
980
989
  */
981
- static setAudioSceneset(audioName: string | null, sceneset: string | null): any {
982
- return inv<number>('0xAC84686C06184B0D', audioName, sceneset);
990
+ static stopAudioSceneset(sceneset: string | null): void {
991
+ inv<void>('0x9428447DED71FC7E', sceneset);
983
992
  }
984
993
 
985
994
  /**
986
995
  * @param p0
996
+ * @returns
987
997
  */
988
- static removePortalSettingsOverride(p0: string | null): void {
989
- inv<void>('0xB4BBFD9CD8B3922B', p0);
998
+ static getCurrentScriptedConversationLine(p0: string | null): number {
999
+ return inv<number>('0x480357EE890C295A', p0, rai());
990
1000
  }
991
1001
 
992
1002
  /**
993
1003
  * @param convoRoot
994
- * @returns
1004
+ * @param ped
1005
+ * @param characterName
995
1006
  */
996
- static isScriptedConversationLoaded(convoRoot: string | null): boolean {
997
- return inv<boolean>('0xDF0D54BE7A776737', convoRoot, rai());
1007
+ static addPedToConversation(convoRoot: string | null, ped: Ped, characterName: string | null): void {
1008
+ inv<void>('0x95D9F4BC443956E7', convoRoot, ped.handle, characterName);
998
1009
  }
999
1010
 
1000
1011
  /**
1001
- * @param p0
1012
+ * @param entity
1002
1013
  * @param p1
1003
- * @param pos
1004
- * @param isSrlLoaded
1005
- * @param p6
1006
- * @returns
1014
+ * @param p2
1015
+ * @param p3
1016
+ * @param p4
1007
1017
  */
1008
- static N_0xFFE9C53DEEA3DB0B(p0: any, p1: any, pos: Vector3, isSrlLoaded: boolean, p6: any): any {
1009
- return inv<number>('0xFFE9C53DEEA3DB0B', p0, p1, f(pos.x), f(pos.y), f(pos.z), isSrlLoaded, p6);
1018
+ static N_0xABDB4863D3D72021(entity: Entity, p1: any, p2: any, p3: number, p4: any): void {
1019
+ inv<void>('0xABDB4863D3D72021', entity.handle, p1, p2, f(p3), p4);
1010
1020
  }
1011
1021
 
1012
- static N_0x3D0BBCCF401B5FDB(): void {
1013
- inv<void>('0x3D0BBCCF401B5FDB');
1022
+ /**
1023
+ * Not implemented.
1024
+ *
1025
+ * @param ped
1026
+ */
1027
+ static N_0x864A842B86993851(ped: Ped): void {
1028
+ inv<void>('0x864A842B86993851', ped.handle);
1014
1029
  }
1015
1030
 
1016
1031
  /**
1017
- * @param streamId
1032
+ * @param p0
1033
+ * @returns
1018
1034
  */
1019
- static stopStream(streamId: number): void {
1020
- inv<void>('0xA4718A1419D18151', streamId);
1035
+ static N_0xDC2F83A0612CA34D(p0: any): any {
1036
+ return inv<number>('0xDC2F83A0612CA34D', p0);
1021
1037
  }
1022
1038
 
1023
1039
  /**
1024
- * https://github.com/femga/rdr3_discoveries/tree/master/audio/frontend_soundsets
1040
+ * https://github.com/femga/rdr3_discoveries/tree/master/audio/soundsets
1025
1041
  *
1026
- * @param audioName
1027
- * @param audioRef
1028
- * @param p2
1029
- * @param p3
1042
+ * @param soundsetName
1043
+ * @param p1
1044
+ * @returns
1030
1045
  */
1031
- static playSoundFrontend(audioName: string | null, audioRef: string | null, p2: boolean, p3: any): void {
1032
- inv<void>('0x67C540AA08E4A6F5', audioName, audioRef, p2, p3);
1046
+ static prepareSoundset(soundsetName: string | null, p1: boolean): any {
1047
+ return inv<number>('0xD9130842D7226045', soundsetName, p1);
1033
1048
  }
1034
1049
 
1035
1050
  /**
1036
- * @param ped
1037
- * @param shaking
1051
+ * @param entity
1052
+ * @returns
1038
1053
  */
1039
- static stopPedSpeaking(ped: Ped, shaking: boolean): void {
1040
- inv<void>('0x9D64D7405520E3D3', ped.handle, shaking);
1054
+ static N_0x62377977E4F08668(entity: Entity): AnimScene | null {
1055
+ return createFromHandle<AnimScene>('AnimScene', inv<number>('0x62377977E4F08668', entity.handle, rai()));
1041
1056
  }
1042
1057
 
1043
1058
  /**
1044
- * @param audioBank
1059
+ * @param audioName
1060
+ * @param sceneset
1045
1061
  * @returns
1046
1062
  */
1047
- static requestScriptAudioBank(audioBank: string | null): boolean {
1048
- return inv<boolean>('0x2F844A8B08D76685', audioBank, rai());
1063
+ static startAudioSceneset(audioName: string | null, sceneset: string | null): any {
1064
+ return inv<number>('0x6339C1EA3979B5F7', audioName, sceneset);
1049
1065
  }
1050
1066
 
1051
1067
  /**
1052
1068
  * @param p0
1053
1069
  * @param p1
1070
+ * @param p2
1071
+ * @param p3
1072
+ * @param p4
1054
1073
  */
1055
- static N_0xC886CD666ADD42E1(p0: any, p1: any): void {
1056
- inv<void>('0xC886CD666ADD42E1', p0, p1);
1074
+ static N_0x448F2647DD6F2E27(p0: any, p1: any, p2: any, p3: any, p4: any): void {
1075
+ inv<void>('0x448F2647DD6F2E27', p0, p1, p2, p3, p4);
1057
1076
  }
1058
1077
 
1059
1078
  /**
1060
1079
  * @param p0
1080
+ * @returns
1061
1081
  */
1062
- static N_0xEA546C31FD45F8CD(p0: any): void {
1063
- inv<void>('0xEA546C31FD45F8CD', p0);
1082
+ static N_0xB18FEC133C7C6C69(p0: any): any {
1083
+ return inv<number>('0xB18FEC133C7C6C69', p0);
1064
1084
  }
1065
1085
 
1066
1086
  /**
1067
1087
  * @param p0
1088
+ * @returns
1068
1089
  */
1069
- static N_0x0FAF7171BF613B80(p0: any): void {
1070
- inv<void>('0x0FAF7171BF613B80', p0);
1090
+ static N_0x295859EB18F48D82(p0: string | null): number {
1091
+ return inv<number>('0x295859EB18F48D82', p0, rai());
1071
1092
  }
1072
1093
 
1073
1094
  /**
1074
- * nullsub, doesn't do anything
1095
+ * @param p0
1075
1096
  */
1076
- static unregisterScriptWithAudio(): void {
1077
- inv<void>('0xA8638BE228D4751A');
1097
+ static N_0xCBF2BEBB468A34F3(p0: any): void {
1098
+ inv<void>('0xCBF2BEBB468A34F3', p0);
1078
1099
  }
1079
1100
 
1080
1101
  /**
1081
- * @param convoRoot
1082
- * @param singleLineIndex
1102
+ * @param p0
1103
+ * @param p1
1104
+ * @param p2
1105
+ * @returns
1083
1106
  */
1084
- static N_0x40CA665AB9D8D505(convoRoot: string | null, singleLineIndex: number): void {
1085
- inv<void>('0x40CA665AB9D8D505', convoRoot, singleLineIndex);
1086
- }
1087
-
1088
- static stopAllScriptedAudioSounds(): void {
1089
- inv<void>('0x2E399EAFBEEA74D5');
1107
+ static stopScriptedConversation(p0: string | null, p1: boolean, p2: boolean): number {
1108
+ return inv<number>('0xD79DEEFB53455EBA', p0, p1, p2, rai());
1090
1109
  }
1091
1110
 
1092
1111
  /**
1093
1112
  * @param p0
1113
+ * @param p1
1094
1114
  */
1095
- static N_0xF232C2C546AC16D0(p0: string | null): void {
1096
- inv<void>('0xF232C2C546AC16D0', p0);
1115
+ static N_0xFD461D0ABA5559B1(p0: any, p1: any): void {
1116
+ inv<void>('0xFD461D0ABA5559B1', p0, p1);
1097
1117
  }
1098
1118
 
1099
1119
  /**
1100
- * https://github.com/femga/rdr3_discoveries/blob/master/audio/music_events/music_events.lua
1120
+ * *IS_SCRIPTED_CONVERSATION**
1101
1121
  *
1102
- * @param eventName
1122
+ * @param convoRoot
1103
1123
  * @returns
1104
1124
  */
1105
- static triggerMusicEvent(eventName: string | null): boolean {
1106
- return inv<boolean>('0x706D57B0F50DA710', eventName, rai());
1125
+ static N_0xD0730C1FA40348D9(convoRoot: string | null): boolean {
1126
+ return !!inv<boolean>('0xD0730C1FA40348D9', convoRoot, rai());
1107
1127
  }
1108
1128
 
1109
1129
  /**
1110
1130
  * @param p0
1111
1131
  */
1112
- static restartScriptedConversation(p0: string | null): void {
1113
- inv<void>('0x9AEB285D1818C9AC', p0);
1132
+ static skipToNextScriptedConversationLine(p0: string | null): void {
1133
+ inv<void>('0x9663FE6B7A61EB00', p0);
1114
1134
  }
1115
1135
 
1116
1136
  /**
1117
1137
  * @param ped
1118
- */
1119
- static N_0xC4CFCE4C656EF480(ped: Ped): void {
1120
- inv<void>('0xC4CFCE4C656EF480', ped.handle);
1121
- }
1122
-
1123
- /**
1124
- * @param p0
1125
1138
  * @param p1
1126
1139
  */
1127
- static N_0x3A00D87B20A2A5E4(p0: any, p1: any): void {
1128
- inv<void>('0x3A00D87B20A2A5E4', p0, p1);
1140
+ static stopCurrentPlayingSpeech(ped: Ped, p1: any): void {
1141
+ inv<void>('0x79D2F0E66F81D90D', ped.handle, p1);
1129
1142
  }
1130
1143
 
1131
- /**
1132
- * @param pedHandle
1133
- * @returns
1134
- */
1135
- static isAnimalVocalizationPlaying(pedHandle: Ped): boolean {
1136
- return inv<boolean>('0xC265DF9FB44A9FBD', pedHandle.handle, rai());
1144
+ static clearConversationHistory(): void {
1145
+ inv<void>('0x33D51F801CB16E4F');
1137
1146
  }
1138
1147
 
1139
1148
  /**
1140
- * @param p0
1149
+ * @param eventName
1141
1150
  * @returns
1142
1151
  */
1143
- static isAnyConversationPlaying(p0: boolean): any {
1144
- return inv<number>('0xA2CAC9DEF0195E6F', p0);
1152
+ static prepareMusicEvent(eventName: string | null): boolean {
1153
+ return !!inv<boolean>('0x1E5185B72EF5158A', eventName, rai());
1145
1154
  }
1146
1155
 
1147
1156
  /**
1148
- * @param name
1157
+ * Starts Audio Loop
1158
+ * _PLAY_SOUND_FROM_ENTITY* - _PLAY_SOUND_FRONTEND*
1159
+ *
1160
+ * @param soundId
1161
+ * @param soundName
1149
1162
  * @param pos
1163
+ * @param soundsetName
1164
+ * @param p6
1165
+ * @param p7
1166
+ * @param p8
1150
1167
  */
1151
- static triggerExplosion(name: string | null, pos: Vector3): void {
1152
- inv<void>('0x374F0E716BFCDE82', name, f(pos.x), f(pos.y), f(pos.z));
1168
+ static playSoundFromPositionWithId(soundId: number, soundName: string | null, pos: Vector3, soundsetName: string | null, p6: boolean, p7: number, p8: boolean): void {
1169
+ inv<void>('0xDCF5BA95BBF0FABA', soundId, soundName, f(pos.x), f(pos.y), f(pos.z), soundsetName, p6, p7, p8);
1153
1170
  }
1154
1171
 
1155
1172
  /**
1156
- * @param ropeId
1173
+ * @param p0
1157
1174
  * @param p1
1175
+ * @param p2
1158
1176
  */
1159
- static N_0x2651DDC0EA269073(ropeId: number, p1: number): void {
1160
- inv<void>('0x2651DDC0EA269073', ropeId, f(p1));
1177
+ static N_0x8D29FDF565DED9AE(p0: any, p1: any, p2: any): void {
1178
+ inv<void>('0x8D29FDF565DED9AE', p0, p1, p2);
1161
1179
  }
1162
1180
 
1163
- static stopAudioScenes(): void {
1164
- inv<void>('0xBAC7FC81A75EC1A1');
1181
+ /**
1182
+ * @param eventName
1183
+ * @returns
1184
+ */
1185
+ static triggerMusicEventWithHash(eventName: string | number): any {
1186
+ return inv<number>('0x05D6195FB4D428F4', _h(eventName));
1165
1187
  }
1166
1188
 
1167
1189
  /**
1168
- * @param audioName
1169
- * @param audioRef
1170
- * @param p2
1171
- * @param p3
1172
- * @param p4
1173
- * @param p5
1190
+ * @param soundId
1191
+ * @returns
1174
1192
  */
1175
- static playSound(audioName: string | null, audioRef: string | null, p2: boolean, p3: any, p4: boolean, p5: any): void {
1176
- inv<void>('0x7FF4944CC209192D', audioName, audioRef, p2, p3, p4, p5);
1193
+ static hasSoundIdFinished(soundId: number): any {
1194
+ return inv<number>('0x84848E1C0FC67DBB', soundId);
1177
1195
  }
1178
1196
 
1179
1197
  /**
1180
1198
  * @param scene
1181
- * @returns
1182
1199
  */
1183
- static isAudioSceneActive(scene: string | null): boolean {
1184
- return inv<boolean>('0xB65B60556E2A9225', scene, rai());
1200
+ static stopAudioScene(scene: string | null): void {
1201
+ inv<void>('0xDFE8422B3B94E688', scene);
1185
1202
  }
1186
1203
 
1187
1204
  /**
1188
- * @param context
1189
- * @param block
1205
+ * @param p0
1206
+ * @param p1
1190
1207
  */
1191
- static blockSpeechContext(context: string | null, block: boolean): void {
1192
- inv<void>('0x6378A235374B852F', context, block);
1208
+ static N_0xA6847BBA4FCDD13F(p0: any, p1: any): void {
1209
+ inv<void>('0xA6847BBA4FCDD13F', p0, p1);
1193
1210
  }
1194
1211
 
1195
1212
  /**
1196
1213
  * @param p0
1197
1214
  * @returns
1198
1215
  */
1199
- static N_0x847748AE5D7B1071(p0: boolean): boolean {
1200
- return inv<boolean>('0x847748AE5D7B1071', p0, rai());
1216
+ static isScriptedSpeechPlaying(p0: any): boolean {
1217
+ return !!inv<boolean>('0xCC9AA18DCC7084F4', p0, rai());
1201
1218
  }
1202
1219
 
1203
1220
  /**
1204
- * https://github.com/femga/rdr3_discoveries/tree/master/audio/audio_flags
1205
- *
1206
- * @param flagName
1207
- * @param toggle
1221
+ * @param ped
1222
+ * @param p1
1223
+ * @param hash
1208
1224
  */
1209
- static setAudioFlag(flagName: string | null, toggle: boolean): void {
1210
- inv<void>('0xB9EFD5C25018725A', flagName, toggle);
1225
+ static useFootstepScriptSweeteners(ped: Ped, p1: boolean, hash: string | number): void {
1226
+ inv<void>('0xBF4DC1784BE94DFA', ped.handle, p1, _h(hash));
1211
1227
  }
1212
1228
 
1213
1229
  /**
1214
- * @param vehicle
1215
- * @param toggle
1230
+ * whistleConfig: Ped.WhistlePitch (0.0 - 1.0), Ped.WhistleClarity (0.0 - 1.0), Ped.WhistleShape (0.0 - 10.0)
1231
+ *
1232
+ * @param ped
1233
+ * @param whistleConfig
1234
+ * @param value
1216
1235
  */
1217
- static setHornEnabled(vehicle: Vehicle, toggle: boolean): void {
1218
- inv<void>('0x76D683C108594D0E', vehicle.handle, toggle);
1236
+ static setWhistleConfigForPed(ped: Ped, whistleConfig: string | null, value: number): void {
1237
+ inv<void>('0x9963681A8BC69BF3', ped.handle, whistleConfig, f(value));
1219
1238
  }
1220
1239
 
1221
1240
  /**
1222
- * p1 is possibly naSpeechAudibility, naSpeechType, or naSpeechEventTypeRequestPriority
1223
- * SKIP_* - START_*
1224
- *
1225
- * @param speechEventType Refer to [enum: naSpeechEventType]
1241
+ * @param ped
1226
1242
  * @param p1
1227
1243
  * @param p2
1228
1244
  */
1229
- static N_0x0D7FD6A55FD63AEF(speechEventType: number, p1: number, p2: boolean): void {
1230
- inv<void>('0x0D7FD6A55FD63AEF', speechEventType, p1, p2);
1245
+ static playAnimalVocalizationPheromoneVialResponse(ped: Ped, p1: string | number, p2: boolean): void {
1246
+ inv<void>('0x0E53530D9B2DB01D', ped.handle, _h(p1), p2);
1231
1247
  }
1232
1248
 
1233
1249
  /**
1234
- * @param p0
1250
+ * Only used in R* SP Scripts
1251
+ * Old Name: _UPDATE_SOUND_POSITION
1252
+ *
1253
+ * @param soundId
1254
+ * @param pos
1255
+ */
1256
+ static updateSoundCoord(soundId: number, pos: Vector3): void {
1257
+ inv<void>('0x0286617C8FC50A53', soundId, f(pos.x), f(pos.y), f(pos.z));
1258
+ }
1259
+
1260
+ /**
1261
+ * @param ambientZone
1235
1262
  * @param p1
1236
1263
  * @param p2
1237
- * @param p3
1238
- * @param p4
1239
1264
  */
1240
- static N_0x06C5DF5EE444BC6B(p0: any, p1: any, p2: any, p3: any, p4: any): void {
1241
- inv<void>('0x06C5DF5EE444BC6B', p0, p1, p2, p3, p4);
1265
+ static setAmbientZoneStatePersistent(ambientZone: string | null, p1: boolean, p2: boolean): void {
1266
+ inv<void>('0x1D6650420CEC9D3B', ambientZone, p1, p2);
1242
1267
  }
1243
1268
 
1244
1269
  /**
1245
- * @param p0
1246
- * @returns
1270
+ * @param ped
1271
+ * @param p1
1247
1272
  */
1248
- static N_0x2B9C37C01BF25EDB(p0: any): any {
1249
- return inv<number>('0x2B9C37C01BF25EDB', p0);
1273
+ static stopCurrentPlayingAmbientSpeech(ped: Ped, p1: any): void {
1274
+ inv<void>('0xB8BEC0CA6F0EDB0F', ped.handle, p1);
1250
1275
  }
1251
1276
 
1252
1277
  /**
1253
1278
  * @param p0
1279
+ * @param ped
1280
+ * @param p2
1281
+ * @returns
1254
1282
  */
1255
- static N_0x64B956F4E761DF5C(p0: any): void {
1256
- inv<void>('0x64B956F4E761DF5C', p0);
1283
+ static isPedInCurrentConversation(p0: string | null, ped: Ped, p2: any): boolean {
1284
+ return !!inv<boolean>('0x049E937F18F4020C', p0, ped.handle, p2, rai());
1257
1285
  }
1258
1286
 
1259
1287
  /**
1260
1288
  * @param p0
1289
+ * @returns
1261
1290
  */
1262
- static setAudioOnlineTransitionStage(p0: string | null): void {
1263
- inv<void>('0x9B1FC259187C97C0', p0);
1291
+ static isScriptedConversionOngoing(p0: string | null): any {
1292
+ return inv<number>('0xF01C570E0A0A1E67', p0);
1264
1293
  }
1265
1294
 
1266
1295
  /**
1267
- * @param streamId
1296
+ * @param soundsetName
1268
1297
  */
1269
- static playStreamFrontend(streamId: number): void {
1270
- inv<void>('0x58FCE43488F9F5F4', streamId);
1298
+ static releaseSoundset(soundsetName: string | null): void {
1299
+ inv<void>('0x531A78D6BF27014B', soundsetName);
1271
1300
  }
1272
1301
 
1273
1302
  /**
1274
- * _IS_SOUND_RUNNING(?)
1275
- *
1276
- * @param audioName
1277
- * @param audioRef
1278
1303
  * @returns
1279
1304
  */
1280
- static N_0x580D71DFE0088E34(audioName: string | null, audioRef: string | null): boolean {
1281
- return inv<boolean>('0x580D71DFE0088E34', audioName, audioRef, rai());
1305
+ static getSoundId(): number {
1306
+ return inv<number>('0x430386FE9BF80B45', rai());
1282
1307
  }
1283
1308
 
1284
1309
  /**
1285
- * nullsub, doesn't do anything
1286
- *
1287
- * @param p0
1310
+ * @param listeningToPed
1311
+ * @param ped
1312
+ * @param listenerName
1288
1313
  */
1289
- static registerScriptWithAudio(p0: boolean): void {
1290
- inv<void>('0xC6ED9D5092438D91', p0);
1314
+ static N_0xA2323A2EAE32A290(listeningToPed: Ped, ped: Ped, listenerName: string | null): void {
1315
+ inv<void>('0xA2323A2EAE32A290', listeningToPed.handle, ped.handle, listenerName);
1291
1316
  }
1292
1317
 
1293
1318
  /**
1294
1319
  * @param p0
1295
- * @param p1
1320
+ * @returns
1296
1321
  */
1297
- static N_0x35B8C070E0C16E2F(p0: any, p1: any): void {
1298
- inv<void>('0x35B8C070E0C16E2F', p0, p1);
1322
+ static N_0xF0EE69F500952FA5(p0: any): any {
1323
+ return inv<number>('0xF0EE69F500952FA5', p0);
1299
1324
  }
1300
1325
 
1301
- static N_0x138ADB94F8B90616(): void {
1302
- inv<void>('0x138ADB94F8B90616');
1326
+ /**
1327
+ * Old name: AUDIO_IS_SCRIPTED_MUSIC_PLAYING
1328
+ *
1329
+ * @returns
1330
+ */
1331
+ static isMusicPlaying(): boolean {
1332
+ return !!inv<boolean>('0x845FFC3A4FEEFA3E', rai());
1303
1333
  }
1304
1334
 
1305
1335
  /**
1306
- * @param p0
1336
+ * Used in Script Function NET_CAMP_CLIENT_UPDATE_PED_ROLE_STATE_SHOP: hash exists! Playing hash
1337
+ *
1338
+ * @param ped
1307
1339
  * @param p1
1308
- * @param p2
1309
1340
  */
1310
- static N_0x380A2E353AD30917(p0: any, p1: any, p2: any): void {
1311
- inv<void>('0x380A2E353AD30917', p0, p1, p2);
1341
+ static N_0xB93A769B8B726950(ped: Ped, p1: string | number): void {
1342
+ inv<void>('0xB93A769B8B726950', ped.handle, _h(p1));
1312
1343
  }
1313
1344
 
1314
1345
  /**
1315
- * @param convoRoot
1316
- * @returns
1346
+ * @param variableName
1347
+ * @param variableValue
1348
+ * @param audioName
1349
+ * @param audioRef
1317
1350
  */
1318
- static createNewScriptedConversation(convoRoot: string | null): any {
1319
- return inv<number>('0xD2C91A0B572AAE56', convoRoot);
1351
+ static setVariableOnSoundWithName(variableName: string | null, variableValue: number, audioName: string | null, audioRef: string | null): void {
1352
+ inv<void>('0x9821B68CD3E05F2B', variableName, f(variableValue), audioName, audioRef);
1320
1353
  }
1321
1354
 
1322
1355
  /**
1323
1356
  * @param p0
1324
1357
  * @param p1
1325
- * @param p2
1326
- * @returns
1327
1358
  */
1328
- static N_0x7678FE0455ED1145(p0: any, p1: any, p2: any): any {
1329
- return inv<number>('0x7678FE0455ED1145', p0, p1, p2);
1359
+ static N_0xD733528B6C35647A(p0: any, p1: any): void {
1360
+ inv<void>('0xD733528B6C35647A', p0, p1);
1330
1361
  }
1331
1362
 
1332
1363
  /**
1333
- * @param entity
1334
- * @param groupName
1335
- * @param p2
1364
+ * @param ambientZone
1365
+ * @param p1
1336
1366
  */
1337
- static addEntityToAudioMixGroup(entity: Entity, groupName: string | null, p2: number): void {
1338
- inv<void>('0x153973AB99FE8980', entity.handle, groupName, f(p2));
1339
- }
1340
-
1341
- /**
1342
- * soundId maybe be incorrect name for param p2, in the decompiles is always -2
1343
- *
1344
- * @param soundName
1345
- * @param soundsetName
1346
- * @param soundId
1347
- * @returns
1348
- */
1349
- static prepareSound(soundName: string | null, soundsetName: string | null, soundId: number): any {
1350
- return inv<number>('0xE368E8422C860BA7', soundName, soundsetName, soundId);
1367
+ static clearAmbientZoneListState(ambientZone: string | null, p1: boolean): void {
1368
+ inv<void>('0x120C48C614909FA4', ambientZone, p1);
1351
1369
  }
1352
1370
 
1353
1371
  /**
1354
1372
  * @param p0
1355
1373
  * @param p1
1356
1374
  */
1357
- static N_0x259ACC5B52A2B2D9(p0: any, p1: any): void {
1358
- inv<void>('0x259ACC5B52A2B2D9', p0, p1);
1359
- }
1360
-
1361
- /**
1362
- * @param audSpeechEvent
1363
- */
1364
- static N_0x1E6F9A9FE1A99F36(audSpeechEvent: string | null): void {
1365
- inv<void>('0x1E6F9A9FE1A99F36', audSpeechEvent);
1375
+ static N_0xE891504B2F0E2DBA(p0: any, p1: any): void {
1376
+ inv<void>('0xE891504B2F0E2DBA', p0, p1);
1366
1377
  }
1367
1378
 
1368
1379
  /**
1369
- * @param p0
1380
+ * @param ped
1370
1381
  * @param p1
1371
- * @param p2
1372
- * @param p3
1373
- */
1374
- static N_0x017492B2201E3428(p0: any, p1: any, p2: any, p3: any): void {
1375
- inv<void>('0x017492B2201E3428', p0, p1, p2, p3);
1376
- }
1377
-
1378
- /**
1379
1382
  * @returns
1380
1383
  */
1381
- static N_0xE600F61F54A444A6(): any {
1382
- return inv<number>('0xE600F61F54A444A6');
1383
- }
1384
-
1385
- /**
1386
- * @param scene
1387
- * @param variable
1388
- * @param value
1389
- */
1390
- static setAudioSceneVariable(scene: string | null, variable: string | null, value: number): void {
1391
- inv<void>('0xEF21A9EF089A2668', scene, variable, f(value));
1392
- }
1393
-
1394
- /**
1395
- * Old name: _PLAY_AMBIENT_SPEECH_AT_COORDS
1396
- *
1397
- * @param pos
1398
- * @returns params
1399
- */
1400
- static playAmbientSpeechFromPositionNative(pos: Vector3): [any, number] {
1401
- const result = inv<[number, number]>('0xED640017ED337E45', f(pos.x), f(pos.y), f(pos.z), pvi());
1402
- return [result[0], result[1]];
1403
- }
1404
-
1405
- /**
1406
- * @param p0
1407
- * @param p1
1408
- * @param p2
1409
- * @param p3
1410
- */
1411
- static N_0x5E3CCF03995388B5(p0: any, p1: any, p2: any, p3: any): void {
1412
- inv<void>('0x5E3CCF03995388B5', p0, p1, p2, p3);
1384
+ static N_0xDF947FE0D551684E(ped: Ped, p1: string | null): boolean {
1385
+ return !!inv<boolean>('0xDF947FE0D551684E', ped.handle, p1, rai());
1413
1386
  }
1414
1387
 
1415
1388
  /**
1416
1389
  * @param entity
1417
- * @returns
1418
- */
1419
- static N_0x886657C5B3D8EDE3(entity: Entity): any {
1420
- return inv<number>('0x886657C5B3D8EDE3', entity.handle);
1421
- }
1422
-
1423
- /**
1424
- * @param p0
1425
- */
1426
- static N_0x6B7A88A61B41E589(p0: any): void {
1427
- inv<void>('0x6B7A88A61B41E589', p0);
1428
- }
1429
-
1430
- /**
1431
- * @param p0
1432
1390
  * @param p1
1433
- * @param p2
1434
1391
  */
1435
- static N_0x821C32C728B24477(p0: any, p1: any, p2: any): void {
1436
- inv<void>('0x821C32C728B24477', p0, p1, p2);
1437
- }
1438
-
1439
- /**
1440
- * @param ped
1441
- * @param p1
1442
- * @returns
1443
- */
1444
- static isPedInAnyConversation(ped: Ped, p1: boolean): any {
1445
- return inv<number>('0x54B187F111D9C6F8', ped.handle, p1);
1446
- }
1447
-
1448
- /**
1449
- * Hashes: VOFX_PLAYER_MALE01, VOFX_PLAYER_MALE02, VOFX_PLAYER_MALE03, VOFX_PLAYER_FEMALE01, VOFX_PLAYER_FEMALE02, VOFX_PLAYER_FEMALE03
1450
- *
1451
- * @param ped
1452
- * @param voice
1453
- */
1454
- static setVofxPedVoice(ped: Ped, voice: string | number): void {
1455
- inv<void>('0x2703EFB583F0949A', ped.handle, _h(voice));
1456
- }
1457
-
1458
- /**
1459
- * @param ped
1460
- * @returns
1461
- */
1462
- static isAnySpeechPlaying(ped: Ped): boolean {
1463
- return inv<boolean>('0x729072355FA39EC9', ped.handle, rai());
1464
- }
1465
-
1466
- /**
1467
- * @param convoRoot
1468
- */
1469
- static clearConversationHistoryForScriptedConversation(convoRoot: string | null): void {
1470
- inv<void>('0xEF51242E35242B47', convoRoot);
1392
+ static N_0xE9694B2D6CB87B06(entity: Entity, p1: any): void {
1393
+ inv<void>('0xE9694B2D6CB87B06', entity.handle, p1);
1471
1394
  }
1472
1395
 
1473
1396
  /**
1474
- * @param p0
1475
- * @param p1
1397
+ * @param audioBank
1476
1398
  */
1477
- static N_0x018ABE833CA64D2A(p0: any, p1: any): void {
1478
- inv<void>('0x018ABE833CA64D2A', p0, p1);
1399
+ static releaseNamedScriptAudioBank(audioBank: string | null): void {
1400
+ inv<void>('0x77ED170667F50170', audioBank);
1479
1401
  }
1480
1402
 
1481
1403
  /**
@@ -1486,7 +1408,7 @@ export class Audio {
1486
1408
  * @returns
1487
1409
  */
1488
1410
  static N_0x79F9C57B8D0DFE90(convoRoot: string | null, animScene: AnimScene): boolean {
1489
- return inv<boolean>('0x79F9C57B8D0DFE90', convoRoot, animScene.handle, rai());
1411
+ return !!inv<boolean>('0x79F9C57B8D0DFE90', convoRoot, animScene.handle, rai());
1490
1412
  }
1491
1413
 
1492
1414
  static forcePedPanicWalla(): void {
@@ -1631,295 +1553,373 @@ export class Audio {
1631
1553
  }
1632
1554
 
1633
1555
  /**
1634
- * @param ped
1635
- * @param toggle
1556
+ * @param ambientZone
1557
+ * @param pos
1558
+ * @param heading
1636
1559
  */
1637
- static disablePedPainAudio(ped: Ped, toggle: boolean): void {
1638
- inv<void>('0xA9A41C1E940FB0E8', ped.handle, toggle);
1560
+ static setAmbientZonePosition(ambientZone: string | null, pos: Vector3, heading: number): void {
1561
+ inv<void>('0x3743CE6948194349', ambientZone, f(pos.x), f(pos.y), f(pos.z), f(heading));
1639
1562
  }
1640
1563
 
1641
1564
  /**
1642
- * Old name: _FORCE_VEHICLE_ENGINE_AUDIO
1643
- *
1644
- * @param vehicle
1645
- * @param audioName
1565
+ * @param entity
1566
+ * @returns
1646
1567
  */
1647
- static forceUseAudioGameObject(vehicle: Vehicle, audioName: string | null): void {
1648
- inv<void>('0x4F0C413926060B38', vehicle.handle, audioName);
1568
+ static N_0x2FFF4A78384AFFDF(entity: Entity): any {
1569
+ return inv<number>('0x2FFF4A78384AFFDF', entity.handle);
1649
1570
  }
1650
1571
 
1651
1572
  /**
1652
- * @param soundName
1653
- * @param entity
1654
- * @param soundsetName
1655
- * @param soundId
1656
- * @returns
1573
+ * @param emitterName
1574
+ * @param toggle
1657
1575
  */
1658
- static prepareSoundWithEntity(soundName: string | null, entity: Entity, soundsetName: string | null, soundId: number): any {
1659
- return inv<number>('0x4AD019591E94C064', soundName, entity.handle, soundsetName, soundId);
1576
+ static setStaticEmitterEnabled(emitterName: string | null, toggle: boolean): void {
1577
+ inv<void>('0x399D2D3B33F1B8EB', emitterName, toggle);
1578
+ }
1579
+
1580
+ /**
1581
+ * @param ped
1582
+ * @param toggle
1583
+ */
1584
+ static setPedIsDrunk(ped: Ped, toggle: boolean): void {
1585
+ inv<void>('0x95D2D383D5396B8A', ped.handle, toggle);
1660
1586
  }
1661
1587
 
1662
1588
  /**
1663
1589
  * @param p0
1664
1590
  * @param p1
1665
1591
  * @param p2
1592
+ * @param p3
1593
+ * @param p4
1666
1594
  */
1667
- static stopAllScriptedConversions(p0: boolean, p1: boolean, p2: boolean): void {
1668
- inv<void>('0x36559148B78853B3', p0, p1, p2);
1595
+ static N_0x839C9F124BE74D94(p0: any, p1: any, p2: any, p3: any, p4: any): void {
1596
+ inv<void>('0x839C9F124BE74D94', p0, p1, p2, p3, p4);
1669
1597
  }
1670
1598
 
1671
1599
  /**
1672
- * @param entity
1600
+ * @param ambientZone
1673
1601
  * @param p1
1602
+ * @param p2
1674
1603
  */
1675
- static removeEntityFromAudioMixGroup(entity: Entity, p1: number): void {
1676
- inv<void>('0x18EB48CFC41F2EA0', entity.handle, f(p1));
1604
+ static setAmbientZoneListStatePersistent(ambientZone: string | null, p1: boolean, p2: boolean): void {
1605
+ inv<void>('0xF3638DAE8C4045E1', ambientZone, p1, p2);
1677
1606
  }
1678
1607
 
1679
1608
  /**
1680
- * *AUDIO_IS** - _AUDIO_TRIGGER*
1609
+ * @param p0
1610
+ * @param p1
1611
+ * @param p2
1612
+ * @param p3
1613
+ * @param p4
1681
1614
  */
1682
- static N_0x7455CD705F7E933E(): void {
1683
- inv<void>('0x7455CD705F7E933E');
1615
+ static pauseScriptedConversation(p0: string | null, p1: boolean, p2: boolean, p3: boolean, p4: boolean): void {
1616
+ inv<void>('0x8530AD776CD72B12', p0, p1, p2, p3, p4);
1684
1617
  }
1685
1618
 
1686
1619
  /**
1687
- * @param soundId
1620
+ * @param p0
1688
1621
  */
1689
- static releaseSoundId(soundId: number): void {
1690
- inv<void>('0x353FC880830B88FA', soundId);
1622
+ static N_0x6652B0C8F3D414D0(p0: any): void {
1623
+ inv<void>('0x6652B0C8F3D414D0', p0);
1691
1624
  }
1692
1625
 
1693
1626
  /**
1694
- * Old Name: _SET_VARIABLE_ON_SOUND_WITH_ID
1695
- *
1696
1627
  * @param soundId
1697
- * @param variableName
1698
- * @param variableValue
1628
+ * @param name
1629
+ * @param soundSet
1630
+ * @param p3
1699
1631
  */
1700
- static setVariableOnSound(soundId: number, variableName: string | null, variableValue: number): void {
1701
- inv<void>('0x503703EC1781B7D6', soundId, variableName, f(variableValue));
1632
+ static playSoundFrontendWithSoundId(soundId: number, name: string | null, soundSet: string | null, p3: boolean): void {
1633
+ inv<void>('0xCE5D0FFE83939AF1', soundId, name, soundSet, p3);
1702
1634
  }
1703
1635
 
1704
1636
  /**
1705
- * @param convoRoot
1637
+ * @param p0
1638
+ * @returns
1706
1639
  */
1707
- static startPreloadedConversation(convoRoot: string | null): void {
1708
- inv<void>('0x23641AFE870AF385', convoRoot);
1640
+ static N_0xFE5C6177064BD390(p0: boolean): boolean {
1641
+ return !!inv<boolean>('0xFE5C6177064BD390', p0, rai());
1709
1642
  }
1710
1643
 
1711
1644
  /**
1712
- * @param scene
1645
+ * @param p0
1646
+ * @param currentScriptedConvoLine
1713
1647
  * @returns
1714
1648
  */
1715
- static startAudioScene(scene: string | null): boolean {
1716
- return inv<boolean>('0x013A80FC08F6E4F2', scene, rai());
1649
+ static N_0x152ED1B56E8F1F50(p0: string | null, currentScriptedConvoLine: number): Ped | null {
1650
+ return createFromHandle<Ped>('Ped', inv<number>('0x152ED1B56E8F1F50', p0, currentScriptedConvoLine, rai()));
1717
1651
  }
1718
1652
 
1719
1653
  /**
1654
+ * @param p0
1720
1655
  * @returns
1721
1656
  */
1722
- static getMusicPlaytime(): number {
1723
- return inv<number>('0xE7A0D23DC414507B', rai());
1657
+ static N_0x4A98E228A936DBCC(p0: any): any {
1658
+ return inv<number>('0x4A98E228A936DBCC', p0);
1724
1659
  }
1725
1660
 
1726
1661
  /**
1727
- * Checks for MOONSHINE_BAND
1662
+ * https://en.m.wikipedia.org/wiki/Walla
1728
1663
  *
1729
- * @param entity
1730
- * @returns
1664
+ * @param p0
1665
+ * @param p1
1731
1666
  */
1732
- static N_0xBE28DB99556FF8D9(entity: Entity): number {
1733
- return (inv<number>('0xBE28DB99556FF8D9', entity.handle, rai())) & 0xFFFFFFFF;
1734
- }
1735
-
1736
- static N_0x569ABC36E28DDEAA(): void {
1737
- inv<void>('0x569ABC36E28DDEAA');
1667
+ static setPedWallaDensity(p0: number, p1: number): void {
1668
+ inv<void>('0x149AEE66F0CB3A99', f(p0), f(p1));
1738
1669
  }
1739
1670
 
1740
1671
  /**
1741
- * struct ScriptedSpeechParams
1742
- * {
1743
- * const char* speechName;
1744
- * const char* voiceName;
1745
- * alignas(8) int variation;
1746
- * alignas(8) Hash speechParamHash;
1747
- * alignas(8) Ped listenerPed;
1748
- * alignas(8) BOOL syncOverNetwork;
1749
- * alignas(8) int v7;
1750
- * alignas(8) int v8;
1751
- * }; 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};
1752
- * PLAY_PED_AMBIENT_SPEECH_NATIVE(PLAYER_PED_ID(), (Any*)&params); Old name: _PLAY_AMBIENT_SPEECH1
1753
- * https://github.com/femga/rdr3_discoveries/tree/master/audio/audio_banks
1672
+ * item: value returned from 0x2E1CDC1FF3B8473E
1673
+ * soundSet: HUD_SHOP_SOUNDSET, COMPANIONS_ROBBERIES_SOUNDSET
1754
1674
  *
1755
- * @param speaker
1756
- * @returns params
1675
+ * @param item
1676
+ * @param soundSet
1677
+ * @param p2
1757
1678
  */
1758
- static playPedAmbientSpeechNative(speaker: Ped): [any, number] {
1759
- const result = inv<[number, number]>('0x8E04FEDD28D42462', speaker.handle, pvi());
1760
- return [result[0], result[1]];
1679
+ static playSoundFromItem(item: string | number, soundSet: string | number, p2: any): void {
1680
+ inv<void>('0xE8EAFF7B41EDD291', _h(item), _h(soundSet), p2);
1761
1681
  }
1762
1682
 
1763
1683
  /**
1764
- * Checks whether the horn of a vehicle is currently played.
1765
- *
1766
- * @param vehicle
1684
+ * @param ped
1767
1685
  * @returns
1768
1686
  */
1769
- static isHornActive(vehicle: Vehicle): boolean {
1770
- return inv<boolean>('0x9D6BFC12B05C6121', vehicle.handle, rai());
1687
+ static getPedSongIndexHost(ped: Ped): any {
1688
+ return inv<number>('0x2DBBF0C5E19383EE', ped.handle);
1771
1689
  }
1772
1690
 
1773
1691
  /**
1774
1692
  * @param p0
1775
- * @param p1
1776
- * @param p2
1777
- * @param p3
1778
1693
  */
1779
- static N_0xCFAD2C8CD1054523(p0: any, p1: any, p2: any, p3: any): void {
1780
- inv<void>('0xCFAD2C8CD1054523', p0, p1, p2, p3);
1694
+ static N_0x3E98AC9D8C56C62C(p0: any): void {
1695
+ inv<void>('0x3E98AC9D8C56C62C', p0);
1781
1696
  }
1782
1697
 
1783
1698
  /**
1699
+ * @param audioName
1784
1700
  * @param sceneset
1701
+ * @returns
1785
1702
  */
1786
- static stopAudioSceneset(sceneset: string | null): void {
1787
- inv<void>('0x9428447DED71FC7E', sceneset);
1703
+ static setAudioSceneset(audioName: string | null, sceneset: string | null): any {
1704
+ return inv<number>('0xAC84686C06184B0D', audioName, sceneset);
1788
1705
  }
1789
1706
 
1790
1707
  /**
1791
1708
  * @param p0
1792
- * @returns
1793
1709
  */
1794
- static getCurrentScriptedConversationLine(p0: string | null): number {
1795
- return inv<number>('0x480357EE890C295A', p0, rai());
1710
+ static removePortalSettingsOverride(p0: string | null): void {
1711
+ inv<void>('0xB4BBFD9CD8B3922B', p0);
1796
1712
  }
1797
1713
 
1798
1714
  /**
1799
1715
  * @param convoRoot
1800
- * @param ped
1801
- * @param characterName
1716
+ * @returns
1802
1717
  */
1803
- static addPedToConversation(convoRoot: string | null, ped: Ped, characterName: string | null): void {
1804
- inv<void>('0x95D9F4BC443956E7', convoRoot, ped.handle, characterName);
1718
+ static isScriptedConversationLoaded(convoRoot: string | null): boolean {
1719
+ return !!inv<boolean>('0xDF0D54BE7A776737', convoRoot, rai());
1805
1720
  }
1806
1721
 
1807
1722
  /**
1808
- * @param entity
1723
+ * @param p0
1809
1724
  * @param p1
1725
+ * @param pos
1726
+ * @param isSrlLoaded
1727
+ * @param p6
1728
+ * @returns
1729
+ */
1730
+ static N_0xFFE9C53DEEA3DB0B(p0: any, p1: any, pos: Vector3, isSrlLoaded: boolean, p6: any): any {
1731
+ return inv<number>('0xFFE9C53DEEA3DB0B', p0, p1, f(pos.x), f(pos.y), f(pos.z), isSrlLoaded, p6);
1732
+ }
1733
+
1734
+ static N_0x3D0BBCCF401B5FDB(): void {
1735
+ inv<void>('0x3D0BBCCF401B5FDB');
1736
+ }
1737
+
1738
+ /**
1739
+ * @param streamId
1740
+ */
1741
+ static stopStream(streamId: number): void {
1742
+ inv<void>('0xA4718A1419D18151', streamId);
1743
+ }
1744
+
1745
+ /**
1746
+ * https://github.com/femga/rdr3_discoveries/tree/master/audio/frontend_soundsets
1747
+ *
1748
+ * @param audioName
1749
+ * @param audioRef
1810
1750
  * @param p2
1811
1751
  * @param p3
1812
- * @param p4
1813
1752
  */
1814
- static N_0xABDB4863D3D72021(entity: Entity, p1: any, p2: any, p3: number, p4: any): void {
1815
- inv<void>('0xABDB4863D3D72021', entity.handle, p1, p2, f(p3), p4);
1753
+ static playSoundFrontend(audioName: string | null, audioRef: string | null, p2: boolean, p3: any): void {
1754
+ inv<void>('0x67C540AA08E4A6F5', audioName, audioRef, p2, p3);
1816
1755
  }
1817
1756
 
1818
1757
  /**
1819
- * Not implemented.
1820
- *
1821
1758
  * @param ped
1759
+ * @param shaking
1822
1760
  */
1823
- static N_0x864A842B86993851(ped: Ped): void {
1824
- inv<void>('0x864A842B86993851', ped.handle);
1761
+ static stopPedSpeaking(ped: Ped, shaking: boolean): void {
1762
+ inv<void>('0x9D64D7405520E3D3', ped.handle, shaking);
1825
1763
  }
1826
1764
 
1827
1765
  /**
1828
- * @param p0
1766
+ * @param audioBank
1829
1767
  * @returns
1830
1768
  */
1831
- static N_0xDC2F83A0612CA34D(p0: any): any {
1832
- return inv<number>('0xDC2F83A0612CA34D', p0);
1769
+ static requestScriptAudioBank(audioBank: string | null): boolean {
1770
+ return !!inv<boolean>('0x2F844A8B08D76685', audioBank, rai());
1833
1771
  }
1834
1772
 
1835
1773
  /**
1836
- * https://github.com/femga/rdr3_discoveries/tree/master/audio/soundsets
1837
- *
1838
- * @param soundsetName
1774
+ * @param p0
1839
1775
  * @param p1
1840
- * @returns
1841
1776
  */
1842
- static prepareSoundset(soundsetName: string | null, p1: boolean): any {
1843
- return inv<number>('0xD9130842D7226045', soundsetName, p1);
1777
+ static N_0xC886CD666ADD42E1(p0: any, p1: any): void {
1778
+ inv<void>('0xC886CD666ADD42E1', p0, p1);
1844
1779
  }
1845
1780
 
1846
1781
  /**
1847
- * @param entity
1848
- * @returns
1782
+ * @param p0
1849
1783
  */
1850
- static N_0x62377977E4F08668(entity: Entity): AnimScene | null {
1851
- return createFromHandle<AnimScene>('AnimScene', inv<number>('0x62377977E4F08668', entity.handle, rai()));
1784
+ static N_0xEA546C31FD45F8CD(p0: any): void {
1785
+ inv<void>('0xEA546C31FD45F8CD', p0);
1852
1786
  }
1853
1787
 
1854
1788
  /**
1855
- * @param audioName
1856
- * @param sceneset
1789
+ * @param p0
1790
+ */
1791
+ static N_0x0FAF7171BF613B80(p0: any): void {
1792
+ inv<void>('0x0FAF7171BF613B80', p0);
1793
+ }
1794
+
1795
+ /**
1796
+ * nullsub, doesn't do anything
1797
+ */
1798
+ static unregisterScriptWithAudio(): void {
1799
+ inv<void>('0xA8638BE228D4751A');
1800
+ }
1801
+
1802
+ /**
1803
+ * @param convoRoot
1804
+ * @param singleLineIndex
1805
+ */
1806
+ static N_0x40CA665AB9D8D505(convoRoot: string | null, singleLineIndex: number): void {
1807
+ inv<void>('0x40CA665AB9D8D505', convoRoot, singleLineIndex);
1808
+ }
1809
+
1810
+ static stopAllScriptedAudioSounds(): void {
1811
+ inv<void>('0x2E399EAFBEEA74D5');
1812
+ }
1813
+
1814
+ /**
1815
+ * @param p0
1816
+ */
1817
+ static N_0xF232C2C546AC16D0(p0: string | null): void {
1818
+ inv<void>('0xF232C2C546AC16D0', p0);
1819
+ }
1820
+
1821
+ /**
1822
+ * https://github.com/femga/rdr3_discoveries/blob/master/audio/music_events/music_events.lua
1823
+ *
1824
+ * @param eventName
1857
1825
  * @returns
1858
1826
  */
1859
- static startAudioSceneset(audioName: string | null, sceneset: string | null): any {
1860
- return inv<number>('0x6339C1EA3979B5F7', audioName, sceneset);
1827
+ static triggerMusicEvent(eventName: string | null): boolean {
1828
+ return !!inv<boolean>('0x706D57B0F50DA710', eventName, rai());
1861
1829
  }
1862
1830
 
1863
1831
  /**
1864
1832
  * @param p0
1865
- * @param p1
1866
- * @param p2
1867
- * @param p3
1868
- * @param p4
1869
1833
  */
1870
- static N_0x448F2647DD6F2E27(p0: any, p1: any, p2: any, p3: any, p4: any): void {
1871
- inv<void>('0x448F2647DD6F2E27', p0, p1, p2, p3, p4);
1834
+ static restartScriptedConversation(p0: string | null): void {
1835
+ inv<void>('0x9AEB285D1818C9AC', p0);
1836
+ }
1837
+
1838
+ /**
1839
+ * @param ped
1840
+ */
1841
+ static N_0xC4CFCE4C656EF480(ped: Ped): void {
1842
+ inv<void>('0xC4CFCE4C656EF480', ped.handle);
1872
1843
  }
1873
1844
 
1874
1845
  /**
1875
1846
  * @param p0
1847
+ * @param p1
1848
+ */
1849
+ static N_0x3A00D87B20A2A5E4(p0: any, p1: any): void {
1850
+ inv<void>('0x3A00D87B20A2A5E4', p0, p1);
1851
+ }
1852
+
1853
+ /**
1854
+ * @param pedHandle
1876
1855
  * @returns
1877
1856
  */
1878
- static N_0xB18FEC133C7C6C69(p0: any): any {
1879
- return inv<number>('0xB18FEC133C7C6C69', p0);
1857
+ static isAnimalVocalizationPlaying(pedHandle: Ped): boolean {
1858
+ return !!inv<boolean>('0xC265DF9FB44A9FBD', pedHandle.handle, rai());
1880
1859
  }
1881
1860
 
1882
1861
  /**
1883
1862
  * @param p0
1884
1863
  * @returns
1885
1864
  */
1886
- static N_0x295859EB18F48D82(p0: string | null): number {
1887
- return inv<number>('0x295859EB18F48D82', p0, rai());
1865
+ static isAnyConversationPlaying(p0: boolean): any {
1866
+ return inv<number>('0xA2CAC9DEF0195E6F', p0);
1888
1867
  }
1889
1868
 
1890
1869
  /**
1891
- * @param p0
1870
+ * @param name
1871
+ * @param pos
1892
1872
  */
1893
- static N_0xCBF2BEBB468A34F3(p0: any): void {
1894
- inv<void>('0xCBF2BEBB468A34F3', p0);
1873
+ static triggerExplosion(name: string | null, pos: Vector3): void {
1874
+ inv<void>('0x374F0E716BFCDE82', name, f(pos.x), f(pos.y), f(pos.z));
1895
1875
  }
1896
1876
 
1897
1877
  /**
1898
- * @param p0
1878
+ * @param ropeId
1899
1879
  * @param p1
1880
+ */
1881
+ static N_0x2651DDC0EA269073(ropeId: number, p1: number): void {
1882
+ inv<void>('0x2651DDC0EA269073', ropeId, f(p1));
1883
+ }
1884
+
1885
+ static stopAudioScenes(): void {
1886
+ inv<void>('0xBAC7FC81A75EC1A1');
1887
+ }
1888
+
1889
+ /**
1890
+ * @param audioName
1891
+ * @param audioRef
1900
1892
  * @param p2
1893
+ * @param p3
1894
+ * @param p4
1895
+ * @param p5
1896
+ */
1897
+ static playSound(audioName: string | null, audioRef: string | null, p2: boolean, p3: any, p4: boolean, p5: any): void {
1898
+ inv<void>('0x7FF4944CC209192D', audioName, audioRef, p2, p3, p4, p5);
1899
+ }
1900
+
1901
+ /**
1902
+ * @param scene
1901
1903
  * @returns
1902
1904
  */
1903
- static stopScriptedConversation(p0: string | null, p1: boolean, p2: boolean): number {
1904
- return inv<number>('0xD79DEEFB53455EBA', p0, p1, p2, rai());
1905
+ static isAudioSceneActive(scene: string | null): boolean {
1906
+ return !!inv<boolean>('0xB65B60556E2A9225', scene, rai());
1905
1907
  }
1906
1908
 
1907
1909
  /**
1908
- * @param p0
1909
- * @param p1
1910
+ * @param context
1911
+ * @param block
1910
1912
  */
1911
- static N_0xFD461D0ABA5559B1(p0: any, p1: any): void {
1912
- inv<void>('0xFD461D0ABA5559B1', p0, p1);
1913
+ static blockSpeechContext(context: string | null, block: boolean): void {
1914
+ inv<void>('0x6378A235374B852F', context, block);
1913
1915
  }
1914
1916
 
1915
1917
  /**
1916
- * *IS_SCRIPTED_CONVERSATION**
1917
- *
1918
- * @param convoRoot
1918
+ * @param p0
1919
1919
  * @returns
1920
1920
  */
1921
- static N_0xD0730C1FA40348D9(convoRoot: string | null): boolean {
1922
- return inv<boolean>('0xD0730C1FA40348D9', convoRoot, rai());
1921
+ static N_0x847748AE5D7B1071(p0: boolean): boolean {
1922
+ return !!inv<boolean>('0x847748AE5D7B1071', p0, rai());
1923
1923
  }
1924
1924
 
1925
1925
  }