@nativewrappers/redm-codegen 0.0.2 → 0.0.3

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 (254) hide show
  1. package/dist/classes/AnimScene.d.ts +142 -142
  2. package/dist/classes/AnimScene.d.ts.map +1 -1
  3. package/dist/classes/AnimScene.js +203 -203
  4. package/dist/classes/BaseModel.d.ts +29 -29
  5. package/dist/classes/BaseModel.d.ts.map +1 -1
  6. package/dist/classes/BaseModel.js +43 -43
  7. package/dist/classes/BaseTask.d.ts +34 -34
  8. package/dist/classes/BaseTask.d.ts.map +1 -1
  9. package/dist/classes/BaseTask.js +42 -42
  10. package/dist/classes/Cam.d.ts +71 -71
  11. package/dist/classes/Cam.d.ts.map +1 -1
  12. package/dist/classes/Cam.js +102 -102
  13. package/dist/classes/Entity.d.ts +387 -386
  14. package/dist/classes/Entity.d.ts.map +1 -1
  15. package/dist/classes/Entity.js +509 -504
  16. package/dist/classes/Interior.d.ts +27 -27
  17. package/dist/classes/Interior.d.ts.map +1 -1
  18. package/dist/classes/Interior.js +42 -42
  19. package/dist/classes/Ped.d.ts +67 -66
  20. package/dist/classes/Ped.d.ts.map +1 -1
  21. package/dist/classes/Ped.js +80 -75
  22. package/dist/classes/PedTask.d.ts +1518 -1518
  23. package/dist/classes/PedTask.d.ts.map +1 -1
  24. package/dist/classes/PedTask.js +1930 -1930
  25. package/dist/classes/PersChar.d.ts +11 -11
  26. package/dist/classes/PersChar.d.ts.map +1 -1
  27. package/dist/classes/PersChar.js +23 -23
  28. package/dist/classes/Pickup.d.ts +7 -7
  29. package/dist/classes/Pickup.d.ts.map +1 -1
  30. package/dist/classes/Pickup.js +13 -13
  31. package/dist/classes/Player.d.ts +237 -237
  32. package/dist/classes/Player.d.ts.map +1 -1
  33. package/dist/classes/Player.js +319 -319
  34. package/dist/classes/Prop.d.ts +105 -104
  35. package/dist/classes/Prop.d.ts.map +1 -1
  36. package/dist/classes/Prop.js +155 -150
  37. package/dist/classes/PropSet.d.ts +1 -1
  38. package/dist/classes/PropSet.d.ts.map +1 -1
  39. package/dist/classes/Vehicle.d.ts +1 -0
  40. package/dist/classes/Vehicle.d.ts.map +1 -1
  41. package/dist/classes/Vehicle.js +5 -0
  42. package/dist/classes/VehicleTask.d.ts +21 -21
  43. package/dist/classes/VehicleTask.d.ts.map +1 -1
  44. package/dist/classes/VehicleTask.js +27 -27
  45. package/dist/classes/Volume.d.ts +40 -40
  46. package/dist/classes/Volume.d.ts.map +1 -1
  47. package/dist/classes/Volume.js +54 -54
  48. package/dist/classes/Weapon.d.ts +364 -364
  49. package/dist/classes/Weapon.d.ts.map +1 -1
  50. package/dist/classes/Weapon.js +515 -515
  51. package/dist/namespaces/Aitransport.d.ts +77 -77
  52. package/dist/namespaces/Aitransport.d.ts.map +1 -1
  53. package/dist/namespaces/Aitransport.js +94 -94
  54. package/dist/namespaces/Animscene.d.ts +65 -65
  55. package/dist/namespaces/Animscene.d.ts.map +1 -1
  56. package/dist/namespaces/Animscene.js +83 -83
  57. package/dist/namespaces/Audio.d.ts +464 -464
  58. package/dist/namespaces/Audio.d.ts.map +1 -1
  59. package/dist/namespaces/Audio.js +651 -651
  60. package/dist/namespaces/Bounty.d.ts +23 -23
  61. package/dist/namespaces/Bounty.d.ts.map +1 -1
  62. package/dist/namespaces/Bounty.js +40 -40
  63. package/dist/namespaces/Brain.d.ts +15 -15
  64. package/dist/namespaces/Brain.d.ts.map +1 -1
  65. package/dist/namespaces/Brain.js +20 -20
  66. package/dist/namespaces/CamStatics.d.ts +459 -459
  67. package/dist/namespaces/CamStatics.d.ts.map +1 -1
  68. package/dist/namespaces/CamStatics.js +719 -719
  69. package/dist/namespaces/Collection.d.ts +78 -78
  70. package/dist/namespaces/Collection.d.ts.map +1 -1
  71. package/dist/namespaces/Collection.js +109 -109
  72. package/dist/namespaces/Companion.d.ts +22 -22
  73. package/dist/namespaces/Companion.d.ts.map +1 -1
  74. package/dist/namespaces/Companion.js +30 -30
  75. package/dist/namespaces/Compendium.d.ts +94 -94
  76. package/dist/namespaces/Compendium.d.ts.map +1 -1
  77. package/dist/namespaces/Compendium.js +126 -126
  78. package/dist/namespaces/Databinding.d.ts +113 -113
  79. package/dist/namespaces/Databinding.d.ts.map +1 -1
  80. package/dist/namespaces/Databinding.js +167 -167
  81. package/dist/namespaces/Dlc.d.ts +5 -5
  82. package/dist/namespaces/Dlc.d.ts.map +1 -1
  83. package/dist/namespaces/Dlc.js +9 -9
  84. package/dist/namespaces/EntityStatics.d.ts +164 -164
  85. package/dist/namespaces/EntityStatics.d.ts.map +1 -1
  86. package/dist/namespaces/EntityStatics.js +225 -225
  87. package/dist/namespaces/Event.d.ts +62 -62
  88. package/dist/namespaces/Event.d.ts.map +1 -1
  89. package/dist/namespaces/Event.js +82 -82
  90. package/dist/namespaces/Fire.d.ts +7 -7
  91. package/dist/namespaces/Fire.d.ts.map +1 -1
  92. package/dist/namespaces/Fire.js +9 -9
  93. package/dist/namespaces/Graphics.d.ts +688 -688
  94. package/dist/namespaces/Graphics.d.ts.map +1 -1
  95. package/dist/namespaces/Graphics.js +876 -876
  96. package/dist/namespaces/Hud.d.ts +456 -456
  97. package/dist/namespaces/Hud.d.ts.map +1 -1
  98. package/dist/namespaces/Hud.js +598 -598
  99. package/dist/namespaces/InteriorStatics.d.ts +42 -42
  100. package/dist/namespaces/InteriorStatics.d.ts.map +1 -1
  101. package/dist/namespaces/InteriorStatics.js +56 -56
  102. package/dist/namespaces/Inventory.d.ts +156 -156
  103. package/dist/namespaces/Inventory.d.ts.map +1 -1
  104. package/dist/namespaces/Inventory.js +210 -210
  105. package/dist/namespaces/Itemdatabase.d.ts +3 -3
  106. package/dist/namespaces/Itemdatabase.d.ts.map +1 -1
  107. package/dist/namespaces/Law.d.ts +2 -2
  108. package/dist/namespaces/Law.d.ts.map +1 -1
  109. package/dist/namespaces/Map.d.ts +128 -128
  110. package/dist/namespaces/Map.d.ts.map +1 -1
  111. package/dist/namespaces/Map.js +180 -180
  112. package/dist/namespaces/Minigame.d.ts +60 -60
  113. package/dist/namespaces/Minigame.d.ts.map +1 -1
  114. package/dist/namespaces/Minigame.js +88 -88
  115. package/dist/namespaces/Misc.d.ts +5 -5
  116. package/dist/namespaces/Misc.d.ts.map +1 -1
  117. package/dist/namespaces/Missiondata.d.ts +3 -3
  118. package/dist/namespaces/Missiondata.d.ts.map +1 -1
  119. package/dist/namespaces/Netshopping.d.ts +1 -1
  120. package/dist/namespaces/Netshopping.d.ts.map +1 -1
  121. package/dist/namespaces/Network.d.ts +1528 -1536
  122. package/dist/namespaces/Network.d.ts.map +1 -1
  123. package/dist/namespaces/Network.js +2196 -2204
  124. package/dist/namespaces/Object.d.ts +244 -244
  125. package/dist/namespaces/Object.d.ts.map +1 -1
  126. package/dist/namespaces/Object.js +355 -355
  127. package/dist/namespaces/Pad.d.ts +43 -43
  128. package/dist/namespaces/Pad.d.ts.map +1 -1
  129. package/dist/namespaces/Pad.js +58 -58
  130. package/dist/namespaces/PedStatics.d.ts +21 -21
  131. package/dist/namespaces/PedStatics.d.ts.map +1 -1
  132. package/dist/namespaces/PedStatics.js +26 -26
  133. package/dist/namespaces/Perschar.d.ts +62 -62
  134. package/dist/namespaces/Perschar.d.ts.map +1 -1
  135. package/dist/namespaces/Perschar.js +91 -91
  136. package/dist/namespaces/Persistence.d.ts +30 -30
  137. package/dist/namespaces/Persistence.d.ts.map +1 -1
  138. package/dist/namespaces/Persistence.js +42 -42
  139. package/dist/namespaces/Physics.d.ts +207 -207
  140. package/dist/namespaces/Physics.d.ts.map +1 -1
  141. package/dist/namespaces/Physics.js +310 -310
  142. package/dist/namespaces/PlayerStatics.d.ts +72 -72
  143. package/dist/namespaces/PlayerStatics.d.ts.map +1 -1
  144. package/dist/namespaces/PlayerStatics.js +103 -103
  145. package/dist/namespaces/Population.d.ts +88 -88
  146. package/dist/namespaces/Population.d.ts.map +1 -1
  147. package/dist/namespaces/Population.js +116 -116
  148. package/dist/namespaces/Posse.d.ts +49 -49
  149. package/dist/namespaces/Posse.d.ts.map +1 -1
  150. package/dist/namespaces/Posse.js +79 -79
  151. package/dist/namespaces/Propset.d.ts +1 -1
  152. package/dist/namespaces/Propset.d.ts.map +1 -1
  153. package/dist/namespaces/Scripts.d.ts +3 -3
  154. package/dist/namespaces/Scripts.d.ts.map +1 -1
  155. package/dist/namespaces/Shapetest.d.ts +11 -11
  156. package/dist/namespaces/Shapetest.d.ts.map +1 -1
  157. package/dist/namespaces/Shapetest.js +13 -13
  158. package/dist/namespaces/Socialclub.d.ts +1 -1
  159. package/dist/namespaces/Socialclub.d.ts.map +1 -1
  160. package/dist/namespaces/Stats.d.ts +174 -174
  161. package/dist/namespaces/Stats.d.ts.map +1 -1
  162. package/dist/namespaces/Stats.js +240 -240
  163. package/dist/namespaces/Streaming.d.ts +127 -127
  164. package/dist/namespaces/Streaming.d.ts.map +1 -1
  165. package/dist/namespaces/Streaming.js +193 -193
  166. package/dist/namespaces/Task.d.ts +220 -220
  167. package/dist/namespaces/Task.d.ts.map +1 -1
  168. package/dist/namespaces/Task.js +299 -299
  169. package/dist/namespaces/Telemetry.d.ts +188 -188
  170. package/dist/namespaces/Telemetry.d.ts.map +1 -1
  171. package/dist/namespaces/Telemetry.js +249 -249
  172. package/dist/namespaces/Uiapps.d.ts +24 -24
  173. package/dist/namespaces/Uiapps.d.ts.map +1 -1
  174. package/dist/namespaces/Uiapps.js +33 -33
  175. package/dist/namespaces/Uistickyfeed.d.ts +16 -16
  176. package/dist/namespaces/Uistickyfeed.d.ts.map +1 -1
  177. package/dist/namespaces/Uistickyfeed.js +21 -21
  178. package/dist/namespaces/VehicleStatics.d.ts +2 -2
  179. package/dist/namespaces/VehicleStatics.d.ts.map +1 -1
  180. package/dist/namespaces/VolumeStatics.d.ts +64 -64
  181. package/dist/namespaces/VolumeStatics.d.ts.map +1 -1
  182. package/dist/namespaces/VolumeStatics.js +85 -85
  183. package/dist/namespaces/WeaponStatics.d.ts +262 -262
  184. package/dist/namespaces/WeaponStatics.d.ts.map +1 -1
  185. package/dist/namespaces/WeaponStatics.js +361 -361
  186. package/dist/namespaces/Zone.d.ts +2 -2
  187. package/dist/namespaces/Zone.d.ts.map +1 -1
  188. package/package.json +1 -1
  189. package/src/classes/AnimScene.ts +230 -230
  190. package/src/classes/BaseModel.ts +50 -50
  191. package/src/classes/BaseTask.ts +46 -46
  192. package/src/classes/Cam.ts +113 -113
  193. package/src/classes/Entity.ts +537 -532
  194. package/src/classes/Interior.ts +43 -43
  195. package/src/classes/Ped.ts +100 -95
  196. package/src/classes/PedTask.ts +1969 -1969
  197. package/src/classes/PersChar.ts +28 -28
  198. package/src/classes/Pickup.ts +13 -13
  199. package/src/classes/Player.ts +364 -364
  200. package/src/classes/Prop.ts +167 -162
  201. package/src/classes/PropSet.ts +1 -1
  202. package/src/classes/Vehicle.ts +5 -0
  203. package/src/classes/VehicleTask.ts +30 -30
  204. package/src/classes/Volume.ts +62 -62
  205. package/src/classes/Weapon.ts +517 -517
  206. package/src/namespaces/Aitransport.ts +102 -102
  207. package/src/namespaces/Animscene.ts +92 -92
  208. package/src/namespaces/Audio.ts +765 -765
  209. package/src/namespaces/Bounty.ts +46 -46
  210. package/src/namespaces/Brain.ts +22 -22
  211. package/src/namespaces/CamStatics.ts +747 -747
  212. package/src/namespaces/Collection.ts +112 -112
  213. package/src/namespaces/Companion.ts +34 -34
  214. package/src/namespaces/Compendium.ts +131 -131
  215. package/src/namespaces/Databinding.ts +170 -170
  216. package/src/namespaces/Dlc.ts +9 -9
  217. package/src/namespaces/EntityStatics.ts +237 -237
  218. package/src/namespaces/Event.ts +92 -92
  219. package/src/namespaces/Fire.ts +10 -10
  220. package/src/namespaces/Graphics.ts +1206 -1206
  221. package/src/namespaces/Hud.ts +647 -647
  222. package/src/namespaces/InteriorStatics.ts +66 -66
  223. package/src/namespaces/Inventory.ts +237 -237
  224. package/src/namespaces/Itemdatabase.ts +3 -3
  225. package/src/namespaces/Law.ts +2 -2
  226. package/src/namespaces/Map.ts +204 -204
  227. package/src/namespaces/Minigame.ts +100 -100
  228. package/src/namespaces/Misc.ts +5 -5
  229. package/src/namespaces/Missiondata.ts +3 -3
  230. package/src/namespaces/Netshopping.ts +1 -1
  231. package/src/namespaces/Network.ts +2217 -2225
  232. package/src/namespaces/Object.ts +381 -381
  233. package/src/namespaces/Pad.ts +67 -67
  234. package/src/namespaces/PedStatics.ts +33 -33
  235. package/src/namespaces/Perschar.ts +105 -105
  236. package/src/namespaces/Persistence.ts +48 -48
  237. package/src/namespaces/Physics.ts +326 -326
  238. package/src/namespaces/PlayerStatics.ts +113 -113
  239. package/src/namespaces/Population.ts +133 -133
  240. package/src/namespaces/Posse.ts +80 -80
  241. package/src/namespaces/Propset.ts +1 -1
  242. package/src/namespaces/Scripts.ts +3 -3
  243. package/src/namespaces/Shapetest.ts +14 -14
  244. package/src/namespaces/Socialclub.ts +1 -1
  245. package/src/namespaces/Stats.ts +266 -266
  246. package/src/namespaces/Streaming.ts +226 -226
  247. package/src/namespaces/Task.ts +527 -527
  248. package/src/namespaces/Telemetry.ts +300 -300
  249. package/src/namespaces/Uiapps.ts +39 -39
  250. package/src/namespaces/Uistickyfeed.ts +23 -23
  251. package/src/namespaces/VehicleStatics.ts +2 -2
  252. package/src/namespaces/VolumeStatics.ts +87 -87
  253. package/src/namespaces/WeaponStatics.ts +365 -365
  254. package/src/namespaces/Zone.ts +2 -2
@@ -2,126 +2,256 @@ import { createFromHandle } from '../types/HandleRegistry';
2
2
  import { inv, rai, pvi, _h, f } from '../types/NativeAliases';
3
3
  export class Audio {
4
4
  /**
5
- * https://github.com/femga/rdr3_discoveries/tree/master/audio/audio_flags
6
- *
7
- * @param flagName
8
- * @param toggle
5
+ * @param p0
9
6
  */
10
- static setAudioFlag(flagName, toggle) {
11
- inv('0xB9EFD5C25018725A', flagName, toggle);
7
+ static skipToNextScriptedConversationLine(p0) {
8
+ inv('0x9663FE6B7A61EB00', p0);
12
9
  }
13
10
  /**
14
- * @param vehicle
15
- * @param toggle
11
+ * @param ped
12
+ * @param p1
16
13
  */
17
- static setHornEnabled(vehicle, toggle) {
18
- inv('0x76D683C108594D0E', vehicle.handle, toggle);
14
+ static stopCurrentPlayingSpeech(ped, p1) {
15
+ inv('0x79D2F0E66F81D90D', ped.handle, p1);
16
+ }
17
+ static clearConversationHistory() {
18
+ inv('0x33D51F801CB16E4F');
19
19
  }
20
20
  /**
21
- * p1 is possibly naSpeechAudibility, naSpeechType, or naSpeechEventTypeRequestPriority
22
- * SKIP_* - START_*
21
+ * @param eventName
22
+ * @returns
23
+ */
24
+ static prepareMusicEvent(eventName) {
25
+ return inv('0x1E5185B72EF5158A', eventName, rai());
26
+ }
27
+ /**
28
+ * Starts Audio Loop
29
+ * _PLAY_SOUND_FROM_ENTITY* - _PLAY_SOUND_FRONTEND*
23
30
  *
24
- * @param speechEventType Refer to [enum: naSpeechEventType]
25
- * @param p1
26
- * @param p2
31
+ * @param soundId
32
+ * @param soundName
33
+ * @param pos
34
+ * @param soundsetName
35
+ * @param p6
36
+ * @param p7
37
+ * @param p8
27
38
  */
28
- static N_0x0D7FD6A55FD63AEF(speechEventType, p1, p2) {
29
- inv('0x0D7FD6A55FD63AEF', speechEventType, p1, p2);
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);
30
41
  }
31
42
  /**
32
43
  * @param p0
33
44
  * @param p1
34
45
  * @param p2
35
- * @param p3
36
- * @param p4
37
46
  */
38
- static N_0x06C5DF5EE444BC6B(p0, p1, p2, p3, p4) {
39
- inv('0x06C5DF5EE444BC6B', p0, p1, p2, p3, p4);
47
+ static N_0x8D29FDF565DED9AE(p0, p1, p2) {
48
+ inv('0x8D29FDF565DED9AE', p0, p1, p2);
40
49
  }
41
50
  /**
42
- * @param p0
51
+ * @param eventName
43
52
  * @returns
44
53
  */
45
- static N_0x2B9C37C01BF25EDB(p0) {
46
- return inv('0x2B9C37C01BF25EDB', p0);
54
+ static triggerMusicEventWithHash(eventName) {
55
+ return inv('0x05D6195FB4D428F4', _h(eventName));
56
+ }
57
+ /**
58
+ * @param soundId
59
+ * @returns
60
+ */
61
+ static hasSoundIdFinished(soundId) {
62
+ return inv('0x84848E1C0FC67DBB', soundId);
63
+ }
64
+ /**
65
+ * @param scene
66
+ */
67
+ static stopAudioScene(scene) {
68
+ inv('0xDFE8422B3B94E688', scene);
47
69
  }
48
70
  /**
49
71
  * @param p0
72
+ * @param p1
50
73
  */
51
- static N_0x64B956F4E761DF5C(p0) {
52
- inv('0x64B956F4E761DF5C', p0);
74
+ static N_0xA6847BBA4FCDD13F(p0, p1) {
75
+ inv('0xA6847BBA4FCDD13F', p0, p1);
53
76
  }
54
77
  /**
55
78
  * @param p0
79
+ * @returns
56
80
  */
57
- static setAudioOnlineTransitionStage(p0) {
58
- inv('0x9B1FC259187C97C0', p0);
81
+ static isScriptedSpeechPlaying(p0) {
82
+ return inv('0xCC9AA18DCC7084F4', p0, rai());
59
83
  }
60
84
  /**
61
- * @param streamId
85
+ * @param ped
86
+ * @param p1
87
+ * @param hash
62
88
  */
63
- static playStreamFrontend(streamId) {
64
- inv('0x58FCE43488F9F5F4', streamId);
89
+ static useFootstepScriptSweeteners(ped, p1, hash) {
90
+ inv('0xBF4DC1784BE94DFA', ped.handle, p1, _h(hash));
65
91
  }
66
92
  /**
67
- * _IS_SOUND_RUNNING(?)
93
+ * whistleConfig: Ped.WhistlePitch (0.0 - 1.0), Ped.WhistleClarity (0.0 - 1.0), Ped.WhistleShape (0.0 - 10.0)
68
94
  *
69
- * @param audioName
70
- * @param audioRef
71
- * @returns
95
+ * @param ped
96
+ * @param whistleConfig
97
+ * @param value
72
98
  */
73
- static N_0x580D71DFE0088E34(audioName, audioRef) {
74
- return inv('0x580D71DFE0088E34', audioName, audioRef, rai());
99
+ static setWhistleConfigForPed(ped, whistleConfig, value) {
100
+ inv('0x9963681A8BC69BF3', ped.handle, whistleConfig, f(value));
75
101
  }
76
102
  /**
77
- * nullsub, doesn't do anything
103
+ * @param ped
104
+ * @param p1
105
+ * @param p2
106
+ */
107
+ static playAnimalVocalizationPheromoneVialResponse(ped, p1, p2) {
108
+ inv('0x0E53530D9B2DB01D', ped.handle, _h(p1), p2);
109
+ }
110
+ /**
111
+ * Only used in R* SP Scripts
112
+ * Old Name: _UPDATE_SOUND_POSITION
78
113
  *
79
- * @param p0
114
+ * @param soundId
115
+ * @param pos
80
116
  */
81
- static registerScriptWithAudio(p0) {
82
- inv('0xC6ED9D5092438D91', p0);
117
+ static updateSoundCoord(soundId, pos) {
118
+ inv('0x0286617C8FC50A53', soundId, f(pos.x), f(pos.y), f(pos.z));
83
119
  }
84
120
  /**
85
- * @param p0
121
+ * @param ambientZone
86
122
  * @param p1
123
+ * @param p2
87
124
  */
88
- static N_0x35B8C070E0C16E2F(p0, p1) {
89
- inv('0x35B8C070E0C16E2F', p0, p1);
125
+ static setAmbientZoneStatePersistent(ambientZone, p1, p2) {
126
+ inv('0x1D6650420CEC9D3B', ambientZone, p1, p2);
90
127
  }
91
- static N_0x138ADB94F8B90616() {
92
- inv('0x138ADB94F8B90616');
128
+ /**
129
+ * speechEventType: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/naSpeechEventType
130
+ * SKIP_* - START_*
131
+ *
132
+ * @param speechEventType
133
+ */
134
+ static N_0x660A8F876DF1D4F8(speechEventType) {
135
+ inv('0x660A8F876DF1D4F8', speechEventType);
93
136
  }
94
137
  /**
95
138
  * @param p0
96
139
  * @param p1
97
- * @param p2
98
140
  */
99
- static N_0x380A2E353AD30917(p0, p1, p2) {
100
- inv('0x380A2E353AD30917', p0, p1, p2);
141
+ static N_0x139A4B9DF2D26CBF(p0, p1) {
142
+ inv('0x139A4B9DF2D26CBF', p0, p1);
143
+ }
144
+ /**
145
+ * @param pos
146
+ * @param streamId
147
+ */
148
+ static playStreamFromPosition(pos, streamId) {
149
+ inv('0x21442F412E8DE56B', f(pos.x), f(pos.y), f(pos.z), streamId);
150
+ }
151
+ /**
152
+ * @param entity
153
+ * @returns
154
+ */
155
+ static getEntityAudioMixGroup(entity) {
156
+ return (inv('0x8B25A18E390F75BF', entity.handle, rai())) & 0xFFFFFFFF;
101
157
  }
102
158
  /**
103
159
  * @param convoRoot
104
160
  * @returns
105
161
  */
106
- static createNewScriptedConversation(convoRoot) {
107
- return inv('0xD2C91A0B572AAE56', convoRoot);
162
+ static isScriptedConversationCreated(convoRoot) {
163
+ return inv('0xD89504D9D7D5057D', convoRoot);
164
+ }
165
+ static N_0xA2B851605748AD0E() {
166
+ inv('0xA2B851605748AD0E');
167
+ }
168
+ /**
169
+ * @param convoRoot
170
+ * @returns
171
+ */
172
+ static N_0x0CB3D1919E8D7CBA(convoRoot) {
173
+ return inv('0x0CB3D1919E8D7CBA', convoRoot, rai());
174
+ }
175
+ /**
176
+ * Name: ROPE_SETTINGS_DEFAULT
177
+ *
178
+ * @param ropeId
179
+ * @param name
180
+ */
181
+ static N_0xF092B6030D6FD49C(ropeId, name) {
182
+ inv('0xF092B6030D6FD49C', ropeId, name);
108
183
  }
109
184
  /**
110
185
  * @param p0
111
- * @param p1
112
- * @param p2
186
+ * @param currentScriptedConvoLine
113
187
  * @returns
114
188
  */
115
- static N_0x7678FE0455ED1145(p0, p1, p2) {
116
- return inv('0x7678FE0455ED1145', p0, p1, p2);
189
+ static N_0x254B0241E964B450(p0, currentScriptedConvoLine) {
190
+ return createFromHandle('Ped', inv('0x254B0241E964B450', p0, currentScriptedConvoLine, rai()));
117
191
  }
118
192
  /**
119
- * @param entity
120
- * @param groupName
193
+ * @param ped
194
+ * @param vocalizationName
121
195
  * @param p2
122
196
  */
123
- static addEntityToAudioMixGroup(entity, groupName, p2) {
124
- inv('0x153973AB99FE8980', entity.handle, groupName, f(p2));
197
+ static playAnimalVocalization(ped, vocalizationName, p2) {
198
+ inv('0xEE066C7006C49C0A', ped.handle, vocalizationName, p2);
199
+ }
200
+ /**
201
+ * @param p0
202
+ * @param p1
203
+ */
204
+ static setPedInteriorWallaDensity(p0, p1) {
205
+ inv('0x8BF907833BE275DE', f(p0), f(p1));
206
+ }
207
+ /**
208
+ * @param p0
209
+ * @param p1
210
+ */
211
+ static N_0xD47D47EFBF103FB8(p0, p1) {
212
+ inv('0xD47D47EFBF103FB8', p0, p1);
213
+ }
214
+ /**
215
+ * @param p0
216
+ * @param p1
217
+ */
218
+ static N_0x5BC885EBD75FAA7D(p0, p1) {
219
+ inv('0x5BC885EBD75FAA7D', p0, p1);
220
+ }
221
+ /**
222
+ * Valid pain IDs: 0..12 these names are not official, but here is a list of the IDs:
223
+ * 1 burning,
224
+ * 2 drowning,
225
+ * 3 coughing,
226
+ * 4 nothing,
227
+ * 5 nothing,
228
+ * 6 coughing_2,
229
+ * 7 nothing,
230
+ * 8 nothing,
231
+ * 9 hurtingSick?,
232
+ * 10 hurtingFall?,
233
+ * 11 nothing,
234
+ * 12 choking
235
+ *
236
+ * @param ped
237
+ * @param painId
238
+ * @param p2
239
+ * @param p3
240
+ * @param isNetwork
241
+ */
242
+ static playPain(ped, painId, p2, p3, isNetwork) {
243
+ inv('0xBC9AE166038A5CEC', ped.handle, painId, f(p2), p3, isNetwork);
244
+ }
245
+ /**
246
+ * *STOP_AUDIO**
247
+ *
248
+ * @param p0
249
+ */
250
+ static N_0x6AB944DF68B512D3(p0) {
251
+ inv('0x6AB944DF68B512D3', p0);
252
+ }
253
+ static N_0xDAD6CD07CAA4F382() {
254
+ inv('0xDAD6CD07CAA4F382');
125
255
  }
126
256
  /**
127
257
  * @param ped
@@ -359,274 +489,368 @@ export class Audio {
359
489
  inv('0x89049DD63C08B5D1', ped.handle, streamId);
360
490
  }
361
491
  /**
362
- * Only used in R* SP Script cv_mus_shared
492
+ * nullsub, doesn't do anything
363
493
  *
364
- * @param convoRoot
365
- * @param animScene
366
- * @returns
494
+ * @param active
367
495
  */
368
- static N_0x79F9C57B8D0DFE90(convoRoot, animScene) {
369
- return inv('0x79F9C57B8D0DFE90', convoRoot, animScene.handle, rai());
496
+ static setGpsActive(active) {
497
+ inv('0x3BD3F52BA9B1E4E8', active);
370
498
  }
371
- static forcePedPanicWalla() {
372
- inv('0x062D5EAD4DA2FA6A');
499
+ /**
500
+ * Old name: _PLAY_SOUND_FROM_POSITION
501
+ *
502
+ * @param SoundName
503
+ * @param pos
504
+ * @param SetName
505
+ * @param bOverNetwork
506
+ * @param nNetworkRange
507
+ * @param isExteriorLoc
508
+ * @param p8
509
+ */
510
+ static playSoundFromCoord(SoundName, pos, SetName, bOverNetwork, nNetworkRange, isExteriorLoc, p8) {
511
+ inv('0xCCE219C922737BFA', SoundName, f(pos.x), f(pos.y), f(pos.z), SetName, bOverNetwork, nNetworkRange, isExteriorLoc, p8);
373
512
  }
374
513
  /**
375
- * @param p0
376
- * @param p1
377
- * @param p2
514
+ * @param streamName
515
+ * @param soundSet
516
+ * @returns
378
517
  */
379
- static N_0xF64034D533CE8AAC(p0, p1, p2) {
380
- inv('0xF64034D533CE8AAC', p0, p1, p2);
518
+ static loadStream(streamName, soundSet) {
519
+ return inv('0x1F1F957154EC51DF', streamName, soundSet, rai());
381
520
  }
382
521
  /**
383
522
  * @param p0
384
523
  * @param p1
385
- * @param p2
386
- * @param p3
387
- * @param p4
388
- * @param p5
389
524
  */
390
- static N_0x6DA15746D5CC1A92(p0, p1, p2, p3, p4, p5) {
391
- inv('0x6DA15746D5CC1A92', p0, p1, p2, p3, p4, p5);
525
+ static N_0x9EB779765E68C52E(p0, p1) {
526
+ inv('0x9EB779765E68C52E', p0, p1);
392
527
  }
393
- /**
394
- * Params: p5 seems to be always 0
395
- *
396
- * @param soundId
397
- * @param soundName
398
- * @param entity
399
- * @param soundsetName
400
- * @param p4
401
- * @param p5
402
- */
403
- static playSoundFromEntityWithSet(soundId, soundName, entity, soundsetName, p4, p5) {
404
- inv('0xF1C5310FEAA36B48', soundId, soundName, entity.handle, soundsetName, p4, p5);
528
+ static N_0x43037ABFE214A851() {
529
+ inv('0x43037ABFE214A851');
405
530
  }
406
531
  /**
407
- * @param p0
408
- * @param p1
409
- * @param p2
410
- * @param p3
411
- * @param p4
412
- * @param p5
413
- * @param p6
414
- * @param p7
532
+ * @returns
415
533
  */
416
- static N_0x5AE0CB5F35F034FD(p0, p1, p2, p3, p4, p5, p6, p7) {
417
- inv('0x5AE0CB5F35F034FD', p0, p1, p2, p3, p4, p5, p6, p7);
534
+ static N_0xA6A3A3F96B8B030E() {
535
+ return inv('0xA6A3A3F96B8B030E');
418
536
  }
419
537
  /**
420
538
  * @param p0
421
- * @param currentScriptedConvoLine
422
539
  * @returns
423
540
  */
424
- static N_0x935DBD96D4A3DA1F(p0, currentScriptedConvoLine) {
425
- return inv('0x935DBD96D4A3DA1F', p0, currentScriptedConvoLine, rai());
541
+ static isScriptedConversationPlaying(p0) {
542
+ return inv('0x1ECC76792F661CF5', p0);
426
543
  }
427
544
  /**
428
545
  * @param p0
546
+ * @param p1
429
547
  */
430
- static N_0xDC93F0948F2C28F4(p0) {
431
- inv('0xDC93F0948F2C28F4', p0);
548
+ static setPortalSettingsOverride(p0, p1) {
549
+ inv('0x044DBAD7A7FA2BE5', p0, p1);
432
550
  }
433
551
  /**
434
- * p1: Entity.Relationship
435
- * p2: Player, Enemy, Teammate, Neutral
436
- *
437
552
  * @param ped
553
+ * @param disabled
554
+ * @returns
555
+ */
556
+ static setIsScriptedSpeechDisabled(ped, disabled) {
557
+ return inv('0xB2DE3AEBE31150E2', ped.handle, disabled);
558
+ }
559
+ /**
560
+ * @param p0
438
561
  * @param p1
439
562
  * @param p2
563
+ * @param p3
564
+ * @returns
440
565
  */
441
- static setSoundRelationshipOnPed(ped, p1, p2) {
442
- inv('0x2E31ACA7477CF00F', ped.handle, p1, p2);
566
+ static N_0x9D6DEC9791A4E501(p0, p1, p2, p3) {
567
+ return inv('0x9D6DEC9791A4E501', p0, p1, p2, p3);
443
568
  }
444
569
  /**
445
- * @param audioName
446
- * @param audioRef
570
+ * Old Name: _STOP_SOUND_WITH_ID
571
+ *
572
+ * @param soundId
447
573
  */
448
- static stopSoundWithName(audioName, audioRef) {
449
- inv('0x0F2A2175734926D8', audioName, audioRef);
574
+ static stopSound(soundId) {
575
+ inv('0x3210BCB36AF7621B', soundId);
450
576
  }
451
577
  /**
452
578
  * @param p0
453
- * @param p1
454
579
  * @returns
455
580
  */
456
- static N_0xC369E2234E34A0CA(p0, p1) {
457
- return inv('0xC369E2234E34A0CA', p0, p1);
581
+ static N_0xF336E9F989B3518F(p0) {
582
+ return inv('0xF336E9F989B3518F', p0, rai());
458
583
  }
459
584
  /**
460
585
  * @param p0
461
586
  * @param p1
462
- * @returns
463
587
  */
464
- static N_0x72E4D1C4639BC465(p0, p1) {
465
- return inv('0x72E4D1C4639BC465', p0.handle, p1);
588
+ static N_0xFCDEC42B1C78B7F8(p0, p1) {
589
+ inv('0xFCDEC42B1C78B7F8', p0, p1);
466
590
  }
467
591
  /**
468
- * @param audioName
469
- * @param soundsetName
470
- * @returns
592
+ * @param ped
471
593
  */
472
- static hasSoundAudioNameFinished(audioName, soundsetName) {
473
- return inv('0x714A0EA7DE1167BE', audioName, soundsetName);
594
+ static N_0x8E901B65206C2D3E(ped) {
595
+ inv('0x8E901B65206C2D3E', ped.handle);
474
596
  }
475
597
  /**
476
- * *UNLOAD*[A-C]* - USE_*
477
- *
478
- * @param speechContext
598
+ * @param p0
479
599
  */
480
- static unloadSpeechContext(speechContext) {
481
- inv('0x87E6302FC61208CC', speechContext);
600
+ static N_0x7E176C676F8652A9(p0) {
601
+ inv('0x7E176C676F8652A9', p0);
482
602
  }
483
603
  /**
484
- * @param p0
485
- * @param p1
604
+ * item: FUSE, value returned from 0x2E1CDC1FF3B8473E
605
+ * soundSet: HUD_SHOP_SOUNDSET, COMPANIONS_ROBBERIES_SOUNDSET
606
+ *
607
+ * @param item
608
+ * @param soundSet
609
+ * @returns
486
610
  */
487
- static N_0x3A3BE6B920525237(p0, p1) {
488
- inv('0x3A3BE6B920525237', p0, p1);
611
+ static isScriptedAudioCustom(item, soundSet) {
612
+ return inv('0x6DF942C4179BE5AB', _h(item), _h(soundSet));
489
613
  }
490
614
  /**
491
615
  * @param p0
492
616
  * @returns
493
617
  */
494
- static N_0xC68C02DE259C927C(p0) {
495
- return inv('0xC68C02DE259C927C', p0);
618
+ static N_0xD05A460328560477(p0) {
619
+ return inv('0xD05A460328560477', p0);
496
620
  }
497
621
  /**
622
+ * Checks if the ped can play the speech or has the speech file, last parameter is usually false.
623
+ *
498
624
  * @param ped
499
- * @param toggle
625
+ * @param speechName
626
+ * @param unk
627
+ * @returns
500
628
  */
501
- static disablePedPainAudio(ped, toggle) {
502
- inv('0xA9A41C1E940FB0E8', ped.handle, toggle);
629
+ static doesContextExistForThisPed(ped, speechName, unk) {
630
+ return inv('0x49B99BF3FDA89A7A', ped.handle, speechName, unk, rai());
503
631
  }
504
632
  /**
505
- * Old name: _FORCE_VEHICLE_ENGINE_AUDIO
506
- *
507
- * @param vehicle
508
- * @param audioName
633
+ * @returns
509
634
  */
510
- static forceUseAudioGameObject(vehicle, audioName) {
511
- inv('0x4F0C413926060B38', vehicle.handle, audioName);
635
+ static N_0x2B101AD9F651243A() {
636
+ return inv('0x2B101AD9F651243A');
512
637
  }
513
638
  /**
514
- * @param soundName
515
- * @param entity
516
- * @param soundsetName
517
- * @param soundId
639
+ * @param p0
518
640
  * @returns
519
641
  */
520
- static prepareSoundWithEntity(soundName, entity, soundsetName, soundId) {
521
- return inv('0x4AD019591E94C064', soundName, entity.handle, soundsetName, soundId);
642
+ static N_0x131EC9247E7A2903(p0) {
643
+ return inv('0x131EC9247E7A2903', p0);
522
644
  }
523
645
  /**
524
- * @param p0
525
- * @param p1
526
- * @param p2
646
+ * @param ped
647
+ * @param name
527
648
  */
528
- static stopAllScriptedConversions(p0, p1, p2) {
529
- inv('0x36559148B78853B3', p0, p1, p2);
649
+ static setAmbientVoiceName(ped, name) {
650
+ inv('0x6C8065A3B780185B', ped.handle, name);
530
651
  }
531
652
  /**
532
- * @param entity
533
- * @param p1
653
+ * @param play
534
654
  */
535
- static removeEntityFromAudioMixGroup(entity, p1) {
536
- inv('0x18EB48CFC41F2EA0', entity.handle, f(p1));
655
+ static playEndCreditsMusic(play) {
656
+ inv('0xCD536C4D33DCC900', play);
537
657
  }
538
658
  /**
539
- * *AUDIO_IS** - _AUDIO_TRIGGER*
659
+ * @param eventName
660
+ * @returns
540
661
  */
541
- static N_0x7455CD705F7E933E() {
542
- inv('0x7455CD705F7E933E');
662
+ static cancelMusicEvent(eventName) {
663
+ return inv('0x5B17A90291133DA5', eventName, rai());
543
664
  }
544
665
  /**
545
- * @param soundId
666
+ * @param ped
667
+ * @returns
546
668
  */
547
- static releaseSoundId(soundId) {
548
- inv('0x353FC880830B88FA', soundId);
669
+ static isAmbientSpeechDisabled(ped) {
670
+ return inv('0x932C2D096A2C3FFF', ped.handle, rai());
549
671
  }
550
672
  /**
551
- * Old Name: _SET_VARIABLE_ON_SOUND_WITH_ID
673
+ * Not implemented.
552
674
  *
553
- * @param soundId
554
- * @param variableName
555
- * @param variableValue
675
+ * @param animal
676
+ * @param mood
556
677
  */
557
- static setVariableOnSound(soundId, variableName, variableValue) {
558
- inv('0x503703EC1781B7D6', soundId, variableName, f(variableValue));
678
+ static setAnimalMood(animal, mood) {
679
+ inv('0xCC97B29285B1DC3B', animal.handle, mood);
559
680
  }
560
681
  /**
561
682
  * @param convoRoot
683
+ * @param p1
684
+ * @param p2
685
+ * @param clone
562
686
  */
563
- static startPreloadedConversation(convoRoot) {
564
- inv('0x23641AFE870AF385', convoRoot);
687
+ static startScriptConversation(convoRoot, p1, p2, clone) {
688
+ inv('0x6B17C62C9635D2DC', convoRoot, p1, p2, clone);
565
689
  }
566
690
  /**
567
- * @param scene
568
- * @returns
691
+ * @param p0
569
692
  */
570
- static startAudioScene(scene) {
571
- return inv('0x013A80FC08F6E4F2', scene, rai());
693
+ static N_0xEB4D592620B8C209(p0) {
694
+ inv('0xEB4D592620B8C209', p0);
695
+ }
696
+ static releaseScriptAudioBank() {
697
+ inv('0x7A2D8AD0A9EB9C3F');
698
+ }
699
+ static N_0x4BE3EC91C01F0FE8() {
700
+ inv('0x4BE3EC91C01F0FE8');
572
701
  }
573
702
  /**
574
- * @returns
703
+ * @param zoneName
704
+ * @param isEnabled
705
+ * @param p2
575
706
  */
576
- static getMusicPlaytime() {
577
- return inv('0xE7A0D23DC414507B', rai());
707
+ static setAmbientZoneState(zoneName, isEnabled, p2) {
708
+ inv('0xBDA07E5950085E46', zoneName, isEnabled, p2);
578
709
  }
579
710
  /**
580
- * Checks for MOONSHINE_BAND
581
- *
711
+ * @param audioName
582
712
  * @param entity
583
- * @returns
713
+ * @param audioRef
714
+ * @param isNetwork
715
+ * @param p4
716
+ * @param p5
584
717
  */
585
- static N_0xBE28DB99556FF8D9(entity) {
586
- return (inv('0xBE28DB99556FF8D9', entity.handle, rai())) & 0xFFFFFFFF;
587
- }
588
- static N_0x569ABC36E28DDEAA() {
589
- inv('0x569ABC36E28DDEAA');
718
+ static playSoundFromEntity(audioName, entity, audioRef, isNetwork, p4, p5) {
719
+ inv('0x6FB1DA3CA9DA7D90', audioName, entity.handle, audioRef, isNetwork, p4, p5);
590
720
  }
591
721
  /**
592
- * struct ScriptedSpeechParams
593
- * {
594
- * const char* speechName;
595
- * const char* voiceName;
596
- * alignas(8) int variation;
597
- * alignas(8) Hash speechParamHash;
598
- * alignas(8) Ped listenerPed;
599
- * alignas(8) BOOL syncOverNetwork;
600
- * alignas(8) int v7;
601
- * alignas(8) int v8;
602
- * }; 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};
603
- * PLAY_PED_AMBIENT_SPEECH_NATIVE(PLAYER_PED_ID(), (Any*)&params); Old name: _PLAY_AMBIENT_SPEECH1
604
- * https://github.com/femga/rdr3_discoveries/tree/master/audio/audio_banks
605
- *
606
- * @param speaker
607
- * @returns params
722
+ * @param ped
723
+ * @returns
608
724
  */
609
- static playPedAmbientSpeechNative(speaker) {
610
- const result = inv('0x8E04FEDD28D42462', speaker.handle, pvi());
611
- return [result[0], result[1]];
725
+ static isAmbientSpeechPlaying(ped) {
726
+ return inv('0x9072C8B49907BFAD', ped.handle, rai());
612
727
  }
613
728
  /**
614
- * Checks whether the horn of a vehicle is currently played.
615
- *
616
- * @param vehicle
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));
735
+ }
736
+ /**
737
+ * @param entity
617
738
  * @returns
618
739
  */
619
- static isHornActive(vehicle) {
620
- return inv('0x9D6BFC12B05C6121', vehicle.handle, rai());
740
+ static N_0x2FFF4A78384AFFDF(entity) {
741
+ return inv('0x2FFF4A78384AFFDF', entity.handle);
742
+ }
743
+ /**
744
+ * @param emitterName
745
+ * @param toggle
746
+ */
747
+ static setStaticEmitterEnabled(emitterName, toggle) {
748
+ inv('0x399D2D3B33F1B8EB', emitterName, toggle);
749
+ }
750
+ /**
751
+ * @param ped
752
+ * @param toggle
753
+ */
754
+ static setPedIsDrunk(ped, toggle) {
755
+ inv('0x95D2D383D5396B8A', ped.handle, toggle);
621
756
  }
622
757
  /**
623
758
  * @param p0
624
759
  * @param p1
625
760
  * @param p2
626
761
  * @param p3
762
+ * @param p4
627
763
  */
628
- static N_0xCFAD2C8CD1054523(p0, p1, p2, p3) {
629
- inv('0xCFAD2C8CD1054523', p0, p1, p2, p3);
764
+ static N_0x839C9F124BE74D94(p0, p1, p2, p3, p4) {
765
+ inv('0x839C9F124BE74D94', p0, p1, p2, p3, p4);
766
+ }
767
+ /**
768
+ * @param ambientZone
769
+ * @param p1
770
+ * @param p2
771
+ */
772
+ static setAmbientZoneListStatePersistent(ambientZone, p1, p2) {
773
+ inv('0xF3638DAE8C4045E1', ambientZone, p1, p2);
774
+ }
775
+ /**
776
+ * @param p0
777
+ * @param p1
778
+ * @param p2
779
+ * @param p3
780
+ * @param p4
781
+ */
782
+ static pauseScriptedConversation(p0, p1, p2, p3, p4) {
783
+ inv('0x8530AD776CD72B12', p0, p1, p2, p3, p4);
784
+ }
785
+ /**
786
+ * @param p0
787
+ */
788
+ static N_0x6652B0C8F3D414D0(p0) {
789
+ inv('0x6652B0C8F3D414D0', p0);
790
+ }
791
+ /**
792
+ * @param soundId
793
+ * @param name
794
+ * @param soundSet
795
+ * @param p3
796
+ */
797
+ static playSoundFrontendWithSoundId(soundId, name, soundSet, p3) {
798
+ inv('0xCE5D0FFE83939AF1', soundId, name, soundSet, p3);
799
+ }
800
+ /**
801
+ * @param p0
802
+ * @returns
803
+ */
804
+ static N_0xFE5C6177064BD390(p0) {
805
+ return inv('0xFE5C6177064BD390', p0, rai());
806
+ }
807
+ /**
808
+ * @param p0
809
+ * @param currentScriptedConvoLine
810
+ * @returns
811
+ */
812
+ static N_0x152ED1B56E8F1F50(p0, currentScriptedConvoLine) {
813
+ return createFromHandle('Ped', inv('0x152ED1B56E8F1F50', p0, currentScriptedConvoLine, rai()));
814
+ }
815
+ /**
816
+ * @param p0
817
+ * @returns
818
+ */
819
+ static N_0x4A98E228A936DBCC(p0) {
820
+ return inv('0x4A98E228A936DBCC', p0);
821
+ }
822
+ /**
823
+ * https://en.m.wikipedia.org/wiki/Walla
824
+ *
825
+ * @param p0
826
+ * @param p1
827
+ */
828
+ static setPedWallaDensity(p0, p1) {
829
+ inv('0x149AEE66F0CB3A99', f(p0), f(p1));
830
+ }
831
+ /**
832
+ * item: value returned from 0x2E1CDC1FF3B8473E
833
+ * soundSet: HUD_SHOP_SOUNDSET, COMPANIONS_ROBBERIES_SOUNDSET
834
+ *
835
+ * @param item
836
+ * @param soundSet
837
+ * @param p2
838
+ */
839
+ static playSoundFromItem(item, soundSet, p2) {
840
+ inv('0xE8EAFF7B41EDD291', _h(item), _h(soundSet), p2);
841
+ }
842
+ /**
843
+ * @param ped
844
+ * @returns
845
+ */
846
+ static getPedSongIndexHost(ped) {
847
+ return inv('0x2DBBF0C5E19383EE', ped.handle);
848
+ }
849
+ /**
850
+ * @param p0
851
+ */
852
+ static N_0x3E98AC9D8C56C62C(p0) {
853
+ inv('0x3E98AC9D8C56C62C', p0);
630
854
  }
631
855
  /**
632
856
  * @param audioName
@@ -827,256 +1051,126 @@ export class Audio {
827
1051
  return inv('0x847748AE5D7B1071', p0, rai());
828
1052
  }
829
1053
  /**
830
- * @param p0
831
- */
832
- static skipToNextScriptedConversationLine(p0) {
833
- inv('0x9663FE6B7A61EB00', p0);
834
- }
835
- /**
836
- * @param ped
837
- * @param p1
1054
+ * https://github.com/femga/rdr3_discoveries/tree/master/audio/audio_flags
1055
+ *
1056
+ * @param flagName
1057
+ * @param toggle
838
1058
  */
839
- static stopCurrentPlayingSpeech(ped, p1) {
840
- inv('0x79D2F0E66F81D90D', ped.handle, p1);
841
- }
842
- static clearConversationHistory() {
843
- inv('0x33D51F801CB16E4F');
1059
+ static setAudioFlag(flagName, toggle) {
1060
+ inv('0xB9EFD5C25018725A', flagName, toggle);
844
1061
  }
845
1062
  /**
846
- * @param eventName
847
- * @returns
1063
+ * @param vehicle
1064
+ * @param toggle
848
1065
  */
849
- static prepareMusicEvent(eventName) {
850
- return inv('0x1E5185B72EF5158A', eventName, rai());
1066
+ static setHornEnabled(vehicle, toggle) {
1067
+ inv('0x76D683C108594D0E', vehicle.handle, toggle);
851
1068
  }
852
1069
  /**
853
- * Starts Audio Loop
854
- * _PLAY_SOUND_FROM_ENTITY* - _PLAY_SOUND_FRONTEND*
1070
+ * p1 is possibly naSpeechAudibility, naSpeechType, or naSpeechEventTypeRequestPriority
1071
+ * SKIP_* - START_*
855
1072
  *
856
- * @param soundId
857
- * @param soundName
858
- * @param pos
859
- * @param soundsetName
860
- * @param p6
861
- * @param p7
862
- * @param p8
1073
+ * @param speechEventType Refer to [enum: naSpeechEventType]
1074
+ * @param p1
1075
+ * @param p2
863
1076
  */
864
- static playSoundFromPositionWithId(soundId, soundName, pos, soundsetName, p6, p7, p8) {
865
- inv('0xDCF5BA95BBF0FABA', soundId, soundName, f(pos.x), f(pos.y), f(pos.z), soundsetName, p6, p7, p8);
1077
+ static N_0x0D7FD6A55FD63AEF(speechEventType, p1, p2) {
1078
+ inv('0x0D7FD6A55FD63AEF', speechEventType, p1, p2);
866
1079
  }
867
1080
  /**
868
1081
  * @param p0
869
1082
  * @param p1
870
1083
  * @param p2
1084
+ * @param p3
1085
+ * @param p4
871
1086
  */
872
- static N_0x8D29FDF565DED9AE(p0, p1, p2) {
873
- inv('0x8D29FDF565DED9AE', p0, p1, p2);
1087
+ static N_0x06C5DF5EE444BC6B(p0, p1, p2, p3, p4) {
1088
+ inv('0x06C5DF5EE444BC6B', p0, p1, p2, p3, p4);
874
1089
  }
875
1090
  /**
876
- * @param eventName
1091
+ * @param p0
877
1092
  * @returns
878
1093
  */
879
- static triggerMusicEventWithHash(eventName) {
880
- return inv('0x05D6195FB4D428F4', _h(eventName));
1094
+ static N_0x2B9C37C01BF25EDB(p0) {
1095
+ return inv('0x2B9C37C01BF25EDB', p0);
881
1096
  }
882
1097
  /**
883
- * @param soundId
884
- * @returns
1098
+ * @param p0
885
1099
  */
886
- static hasSoundIdFinished(soundId) {
887
- return inv('0x84848E1C0FC67DBB', soundId);
1100
+ static N_0x64B956F4E761DF5C(p0) {
1101
+ inv('0x64B956F4E761DF5C', p0);
888
1102
  }
889
1103
  /**
890
- * @param scene
1104
+ * @param p0
891
1105
  */
892
- static stopAudioScene(scene) {
893
- inv('0xDFE8422B3B94E688', scene);
1106
+ static setAudioOnlineTransitionStage(p0) {
1107
+ inv('0x9B1FC259187C97C0', p0);
894
1108
  }
895
1109
  /**
896
- * @param p0
897
- * @param p1
1110
+ * @param streamId
898
1111
  */
899
- static N_0xA6847BBA4FCDD13F(p0, p1) {
900
- inv('0xA6847BBA4FCDD13F', p0, p1);
1112
+ static playStreamFrontend(streamId) {
1113
+ inv('0x58FCE43488F9F5F4', streamId);
901
1114
  }
902
1115
  /**
903
- * @param p0
1116
+ * _IS_SOUND_RUNNING(?)
1117
+ *
1118
+ * @param audioName
1119
+ * @param audioRef
904
1120
  * @returns
905
1121
  */
906
- static isScriptedSpeechPlaying(p0) {
907
- return inv('0xCC9AA18DCC7084F4', p0, rai());
1122
+ static N_0x580D71DFE0088E34(audioName, audioRef) {
1123
+ return inv('0x580D71DFE0088E34', audioName, audioRef, rai());
908
1124
  }
909
1125
  /**
910
- * @param ped
911
- * @param p1
912
- * @param hash
1126
+ * nullsub, doesn't do anything
1127
+ *
1128
+ * @param p0
913
1129
  */
914
- static useFootstepScriptSweeteners(ped, p1, hash) {
915
- inv('0xBF4DC1784BE94DFA', ped.handle, p1, _h(hash));
1130
+ static registerScriptWithAudio(p0) {
1131
+ inv('0xC6ED9D5092438D91', p0);
916
1132
  }
917
1133
  /**
918
- * whistleConfig: Ped.WhistlePitch (0.0 - 1.0), Ped.WhistleClarity (0.0 - 1.0), Ped.WhistleShape (0.0 - 10.0)
919
- *
920
- * @param ped
921
- * @param whistleConfig
922
- * @param value
1134
+ * @param p0
1135
+ * @param p1
923
1136
  */
924
- static setWhistleConfigForPed(ped, whistleConfig, value) {
925
- inv('0x9963681A8BC69BF3', ped.handle, whistleConfig, f(value));
1137
+ static N_0x35B8C070E0C16E2F(p0, p1) {
1138
+ inv('0x35B8C070E0C16E2F', p0, p1);
1139
+ }
1140
+ static N_0x138ADB94F8B90616() {
1141
+ inv('0x138ADB94F8B90616');
926
1142
  }
927
1143
  /**
928
- * @param ped
1144
+ * @param p0
929
1145
  * @param p1
930
1146
  * @param p2
931
1147
  */
932
- static playAnimalVocalizationPheromoneVialResponse(ped, p1, p2) {
933
- inv('0x0E53530D9B2DB01D', ped.handle, _h(p1), p2);
934
- }
935
- /**
936
- * Only used in R* SP Scripts
937
- * Old Name: _UPDATE_SOUND_POSITION
938
- *
939
- * @param soundId
940
- * @param pos
941
- */
942
- static updateSoundCoord(soundId, pos) {
943
- inv('0x0286617C8FC50A53', soundId, f(pos.x), f(pos.y), f(pos.z));
944
- }
945
- /**
946
- * @param ambientZone
947
- * @param p1
948
- * @param p2
949
- */
950
- static setAmbientZoneStatePersistent(ambientZone, p1, p2) {
951
- inv('0x1D6650420CEC9D3B', ambientZone, p1, p2);
952
- }
953
- /**
954
- * speechEventType: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/naSpeechEventType
955
- * SKIP_* - START_*
956
- *
957
- * @param speechEventType
958
- */
959
- static N_0x660A8F876DF1D4F8(speechEventType) {
960
- inv('0x660A8F876DF1D4F8', speechEventType);
961
- }
962
- /**
963
- * @param p0
964
- * @param p1
965
- */
966
- static N_0x139A4B9DF2D26CBF(p0, p1) {
967
- inv('0x139A4B9DF2D26CBF', p0, p1);
968
- }
969
- /**
970
- * @param pos
971
- * @param streamId
972
- */
973
- static playStreamFromPosition(pos, streamId) {
974
- inv('0x21442F412E8DE56B', f(pos.x), f(pos.y), f(pos.z), streamId);
975
- }
976
- /**
977
- * @param entity
978
- * @returns
979
- */
980
- static getEntityAudioMixGroup(entity) {
981
- return (inv('0x8B25A18E390F75BF', entity.handle, rai())) & 0xFFFFFFFF;
982
- }
983
- /**
984
- * @param convoRoot
985
- * @returns
986
- */
987
- static isScriptedConversationCreated(convoRoot) {
988
- return inv('0xD89504D9D7D5057D', convoRoot);
989
- }
990
- static N_0xA2B851605748AD0E() {
991
- inv('0xA2B851605748AD0E');
1148
+ static N_0x380A2E353AD30917(p0, p1, p2) {
1149
+ inv('0x380A2E353AD30917', p0, p1, p2);
992
1150
  }
993
1151
  /**
994
1152
  * @param convoRoot
995
1153
  * @returns
996
1154
  */
997
- static N_0x0CB3D1919E8D7CBA(convoRoot) {
998
- return inv('0x0CB3D1919E8D7CBA', convoRoot, rai());
999
- }
1000
- /**
1001
- * Name: ROPE_SETTINGS_DEFAULT
1002
- *
1003
- * @param ropeId
1004
- * @param name
1005
- */
1006
- static N_0xF092B6030D6FD49C(ropeId, name) {
1007
- inv('0xF092B6030D6FD49C', ropeId, name);
1008
- }
1009
- /**
1010
- * @param p0
1011
- * @param currentScriptedConvoLine
1012
- * @returns
1013
- */
1014
- static N_0x254B0241E964B450(p0, currentScriptedConvoLine) {
1015
- return createFromHandle('Ped', inv('0x254B0241E964B450', p0, currentScriptedConvoLine, rai()));
1016
- }
1017
- /**
1018
- * @param ped
1019
- * @param vocalizationName
1020
- * @param p2
1021
- */
1022
- static playAnimalVocalization(ped, vocalizationName, p2) {
1023
- inv('0xEE066C7006C49C0A', ped.handle, vocalizationName, p2);
1024
- }
1025
- /**
1026
- * @param p0
1027
- * @param p1
1028
- */
1029
- static setPedInteriorWallaDensity(p0, p1) {
1030
- inv('0x8BF907833BE275DE', f(p0), f(p1));
1031
- }
1032
- /**
1033
- * @param p0
1034
- * @param p1
1035
- */
1036
- static N_0xD47D47EFBF103FB8(p0, p1) {
1037
- inv('0xD47D47EFBF103FB8', p0, p1);
1155
+ static createNewScriptedConversation(convoRoot) {
1156
+ return inv('0xD2C91A0B572AAE56', convoRoot);
1038
1157
  }
1039
1158
  /**
1040
1159
  * @param p0
1041
1160
  * @param p1
1042
- */
1043
- static N_0x5BC885EBD75FAA7D(p0, p1) {
1044
- inv('0x5BC885EBD75FAA7D', p0, p1);
1045
- }
1046
- /**
1047
- * Valid pain IDs: 0..12 these names are not official, but here is a list of the IDs:
1048
- * 1 burning,
1049
- * 2 drowning,
1050
- * 3 coughing,
1051
- * 4 nothing,
1052
- * 5 nothing,
1053
- * 6 coughing_2,
1054
- * 7 nothing,
1055
- * 8 nothing,
1056
- * 9 hurtingSick?,
1057
- * 10 hurtingFall?,
1058
- * 11 nothing,
1059
- * 12 choking
1060
- *
1061
- * @param ped
1062
- * @param painId
1063
1161
  * @param p2
1064
- * @param p3
1065
- * @param isNetwork
1162
+ * @returns
1066
1163
  */
1067
- static playPain(ped, painId, p2, p3, isNetwork) {
1068
- inv('0xBC9AE166038A5CEC', ped.handle, painId, f(p2), p3, isNetwork);
1164
+ static N_0x7678FE0455ED1145(p0, p1, p2) {
1165
+ return inv('0x7678FE0455ED1145', p0, p1, p2);
1069
1166
  }
1070
1167
  /**
1071
- * *STOP_AUDIO**
1072
- *
1073
- * @param p0
1168
+ * @param entity
1169
+ * @param groupName
1170
+ * @param p2
1074
1171
  */
1075
- static N_0x6AB944DF68B512D3(p0) {
1076
- inv('0x6AB944DF68B512D3', p0);
1077
- }
1078
- static N_0xDAD6CD07CAA4F382() {
1079
- inv('0xDAD6CD07CAA4F382');
1172
+ static addEntityToAudioMixGroup(entity, groupName, p2) {
1173
+ inv('0x153973AB99FE8980', entity.handle, groupName, f(p2));
1080
1174
  }
1081
1175
  /**
1082
1176
  * soundId maybe be incorrect name for param p2, in the decompiles is always -2
@@ -1203,368 +1297,274 @@ export class Audio {
1203
1297
  inv('0x018ABE833CA64D2A', p0, p1);
1204
1298
  }
1205
1299
  /**
1206
- * nullsub, doesn't do anything
1300
+ * Only used in R* SP Script cv_mus_shared
1207
1301
  *
1208
- * @param active
1302
+ * @param convoRoot
1303
+ * @param animScene
1304
+ * @returns
1209
1305
  */
1210
- static setGpsActive(active) {
1211
- inv('0x3BD3F52BA9B1E4E8', active);
1306
+ static N_0x79F9C57B8D0DFE90(convoRoot, animScene) {
1307
+ return inv('0x79F9C57B8D0DFE90', convoRoot, animScene.handle, rai());
1212
1308
  }
1213
- /**
1214
- * Old name: _PLAY_SOUND_FROM_POSITION
1215
- *
1216
- * @param SoundName
1217
- * @param pos
1218
- * @param SetName
1219
- * @param bOverNetwork
1220
- * @param nNetworkRange
1221
- * @param isExteriorLoc
1222
- * @param p8
1223
- */
1224
- static playSoundFromCoord(SoundName, pos, SetName, bOverNetwork, nNetworkRange, isExteriorLoc, p8) {
1225
- inv('0xCCE219C922737BFA', SoundName, f(pos.x), f(pos.y), f(pos.z), SetName, bOverNetwork, nNetworkRange, isExteriorLoc, p8);
1309
+ static forcePedPanicWalla() {
1310
+ inv('0x062D5EAD4DA2FA6A');
1226
1311
  }
1227
1312
  /**
1228
- * @param streamName
1229
- * @param soundSet
1230
- * @returns
1313
+ * @param p0
1314
+ * @param p1
1315
+ * @param p2
1231
1316
  */
1232
- static loadStream(streamName, soundSet) {
1233
- return inv('0x1F1F957154EC51DF', streamName, soundSet, rai());
1317
+ static N_0xF64034D533CE8AAC(p0, p1, p2) {
1318
+ inv('0xF64034D533CE8AAC', p0, p1, p2);
1234
1319
  }
1235
1320
  /**
1236
1321
  * @param p0
1237
1322
  * @param p1
1323
+ * @param p2
1324
+ * @param p3
1325
+ * @param p4
1326
+ * @param p5
1238
1327
  */
1239
- static N_0x9EB779765E68C52E(p0, p1) {
1240
- inv('0x9EB779765E68C52E', p0, p1);
1241
- }
1242
- static N_0x43037ABFE214A851() {
1243
- inv('0x43037ABFE214A851');
1328
+ static N_0x6DA15746D5CC1A92(p0, p1, p2, p3, p4, p5) {
1329
+ inv('0x6DA15746D5CC1A92', p0, p1, p2, p3, p4, p5);
1244
1330
  }
1245
1331
  /**
1246
- * @returns
1332
+ * Params: p5 seems to be always 0
1333
+ *
1334
+ * @param soundId
1335
+ * @param soundName
1336
+ * @param entity
1337
+ * @param soundsetName
1338
+ * @param p4
1339
+ * @param p5
1247
1340
  */
1248
- static N_0xA6A3A3F96B8B030E() {
1249
- return inv('0xA6A3A3F96B8B030E');
1341
+ static playSoundFromEntityWithSet(soundId, soundName, entity, soundsetName, p4, p5) {
1342
+ inv('0xF1C5310FEAA36B48', soundId, soundName, entity.handle, soundsetName, p4, p5);
1250
1343
  }
1251
1344
  /**
1252
1345
  * @param p0
1253
- * @returns
1346
+ * @param p1
1347
+ * @param p2
1348
+ * @param p3
1349
+ * @param p4
1350
+ * @param p5
1351
+ * @param p6
1352
+ * @param p7
1254
1353
  */
1255
- static isScriptedConversationPlaying(p0) {
1256
- return inv('0x1ECC76792F661CF5', p0);
1354
+ static N_0x5AE0CB5F35F034FD(p0, p1, p2, p3, p4, p5, p6, p7) {
1355
+ inv('0x5AE0CB5F35F034FD', p0, p1, p2, p3, p4, p5, p6, p7);
1257
1356
  }
1258
1357
  /**
1259
1358
  * @param p0
1260
- * @param p1
1359
+ * @param currentScriptedConvoLine
1360
+ * @returns
1261
1361
  */
1262
- static setPortalSettingsOverride(p0, p1) {
1263
- inv('0x044DBAD7A7FA2BE5', p0, p1);
1362
+ static N_0x935DBD96D4A3DA1F(p0, currentScriptedConvoLine) {
1363
+ return inv('0x935DBD96D4A3DA1F', p0, currentScriptedConvoLine, rai());
1264
1364
  }
1265
1365
  /**
1266
- * @param ped
1267
- * @param disabled
1268
- * @returns
1366
+ * @param p0
1269
1367
  */
1270
- static setIsScriptedSpeechDisabled(ped, disabled) {
1271
- return inv('0xB2DE3AEBE31150E2', ped.handle, disabled);
1368
+ static N_0xDC93F0948F2C28F4(p0) {
1369
+ inv('0xDC93F0948F2C28F4', p0);
1272
1370
  }
1273
1371
  /**
1274
- * @param p0
1372
+ * p1: Entity.Relationship
1373
+ * p2: Player, Enemy, Teammate, Neutral
1374
+ *
1375
+ * @param ped
1275
1376
  * @param p1
1276
1377
  * @param p2
1277
- * @param p3
1278
- * @returns
1279
1378
  */
1280
- static N_0x9D6DEC9791A4E501(p0, p1, p2, p3) {
1281
- return inv('0x9D6DEC9791A4E501', p0, p1, p2, p3);
1379
+ static setSoundRelationshipOnPed(ped, p1, p2) {
1380
+ inv('0x2E31ACA7477CF00F', ped.handle, p1, p2);
1282
1381
  }
1283
1382
  /**
1284
- * Old Name: _STOP_SOUND_WITH_ID
1285
- *
1286
- * @param soundId
1383
+ * @param audioName
1384
+ * @param audioRef
1287
1385
  */
1288
- static stopSound(soundId) {
1289
- inv('0x3210BCB36AF7621B', soundId);
1386
+ static stopSoundWithName(audioName, audioRef) {
1387
+ inv('0x0F2A2175734926D8', audioName, audioRef);
1290
1388
  }
1291
1389
  /**
1292
1390
  * @param p0
1391
+ * @param p1
1293
1392
  * @returns
1294
1393
  */
1295
- static N_0xF336E9F989B3518F(p0) {
1296
- return inv('0xF336E9F989B3518F', p0, rai());
1394
+ static N_0xC369E2234E34A0CA(p0, p1) {
1395
+ return inv('0xC369E2234E34A0CA', p0, p1);
1297
1396
  }
1298
1397
  /**
1299
1398
  * @param p0
1300
1399
  * @param p1
1400
+ * @returns
1301
1401
  */
1302
- static N_0xFCDEC42B1C78B7F8(p0, p1) {
1303
- inv('0xFCDEC42B1C78B7F8', p0, p1);
1304
- }
1305
- /**
1306
- * @param ped
1307
- */
1308
- static N_0x8E901B65206C2D3E(ped) {
1309
- inv('0x8E901B65206C2D3E', ped.handle);
1310
- }
1311
- /**
1312
- * @param p0
1313
- */
1314
- static N_0x7E176C676F8652A9(p0) {
1315
- inv('0x7E176C676F8652A9', p0);
1316
- }
1317
- /**
1318
- * item: FUSE, value returned from 0x2E1CDC1FF3B8473E
1319
- * soundSet: HUD_SHOP_SOUNDSET, COMPANIONS_ROBBERIES_SOUNDSET
1320
- *
1321
- * @param item
1322
- * @param soundSet
1323
- * @returns
1324
- */
1325
- static isScriptedAudioCustom(item, soundSet) {
1326
- return inv('0x6DF942C4179BE5AB', _h(item), _h(soundSet));
1402
+ static N_0x72E4D1C4639BC465(p0, p1) {
1403
+ return inv('0x72E4D1C4639BC465', p0.handle, p1);
1327
1404
  }
1328
1405
  /**
1329
- * @param p0
1406
+ * @param audioName
1407
+ * @param soundsetName
1330
1408
  * @returns
1331
1409
  */
1332
- static N_0xD05A460328560477(p0) {
1333
- return inv('0xD05A460328560477', p0);
1410
+ static hasSoundAudioNameFinished(audioName, soundsetName) {
1411
+ return inv('0x714A0EA7DE1167BE', audioName, soundsetName);
1334
1412
  }
1335
1413
  /**
1336
- * Checks if the ped can play the speech or has the speech file, last parameter is usually false.
1414
+ * *UNLOAD*[A-C]* - USE_*
1337
1415
  *
1338
- * @param ped
1339
- * @param speechName
1340
- * @param unk
1341
- * @returns
1342
- */
1343
- static doesContextExistForThisPed(ped, speechName, unk) {
1344
- return inv('0x49B99BF3FDA89A7A', ped.handle, speechName, unk, rai());
1345
- }
1346
- /**
1347
- * @returns
1416
+ * @param speechContext
1348
1417
  */
1349
- static N_0x2B101AD9F651243A() {
1350
- return inv('0x2B101AD9F651243A');
1418
+ static unloadSpeechContext(speechContext) {
1419
+ inv('0x87E6302FC61208CC', speechContext);
1351
1420
  }
1352
1421
  /**
1353
1422
  * @param p0
1354
- * @returns
1355
- */
1356
- static N_0x131EC9247E7A2903(p0) {
1357
- return inv('0x131EC9247E7A2903', p0);
1358
- }
1359
- /**
1360
- * @param ped
1361
- * @param name
1362
- */
1363
- static setAmbientVoiceName(ped, name) {
1364
- inv('0x6C8065A3B780185B', ped.handle, name);
1365
- }
1366
- /**
1367
- * @param play
1423
+ * @param p1
1368
1424
  */
1369
- static playEndCreditsMusic(play) {
1370
- inv('0xCD536C4D33DCC900', play);
1425
+ static N_0x3A3BE6B920525237(p0, p1) {
1426
+ inv('0x3A3BE6B920525237', p0, p1);
1371
1427
  }
1372
1428
  /**
1373
- * @param eventName
1429
+ * @param p0
1374
1430
  * @returns
1375
1431
  */
1376
- static cancelMusicEvent(eventName) {
1377
- return inv('0x5B17A90291133DA5', eventName, rai());
1432
+ static N_0xC68C02DE259C927C(p0) {
1433
+ return inv('0xC68C02DE259C927C', p0);
1378
1434
  }
1379
1435
  /**
1380
1436
  * @param ped
1381
- * @returns
1437
+ * @param toggle
1382
1438
  */
1383
- static isAmbientSpeechDisabled(ped) {
1384
- return inv('0x932C2D096A2C3FFF', ped.handle, rai());
1439
+ static disablePedPainAudio(ped, toggle) {
1440
+ inv('0xA9A41C1E940FB0E8', ped.handle, toggle);
1385
1441
  }
1386
1442
  /**
1387
- * Not implemented.
1443
+ * Old name: _FORCE_VEHICLE_ENGINE_AUDIO
1388
1444
  *
1389
- * @param animal
1390
- * @param mood
1391
- */
1392
- static setAnimalMood(animal, mood) {
1393
- inv('0xCC97B29285B1DC3B', animal.handle, mood);
1394
- }
1395
- /**
1396
- * @param convoRoot
1397
- * @param p1
1398
- * @param p2
1399
- * @param clone
1400
- */
1401
- static startScriptConversation(convoRoot, p1, p2, clone) {
1402
- inv('0x6B17C62C9635D2DC', convoRoot, p1, p2, clone);
1403
- }
1404
- /**
1405
- * @param p0
1406
- */
1407
- static N_0xEB4D592620B8C209(p0) {
1408
- inv('0xEB4D592620B8C209', p0);
1409
- }
1410
- static releaseScriptAudioBank() {
1411
- inv('0x7A2D8AD0A9EB9C3F');
1412
- }
1413
- static N_0x4BE3EC91C01F0FE8() {
1414
- inv('0x4BE3EC91C01F0FE8');
1415
- }
1416
- /**
1417
- * @param zoneName
1418
- * @param isEnabled
1419
- * @param p2
1420
- */
1421
- static setAmbientZoneState(zoneName, isEnabled, p2) {
1422
- inv('0xBDA07E5950085E46', zoneName, isEnabled, p2);
1423
- }
1424
- /**
1445
+ * @param vehicle
1425
1446
  * @param audioName
1426
- * @param entity
1427
- * @param audioRef
1428
- * @param isNetwork
1429
- * @param p4
1430
- * @param p5
1431
- */
1432
- static playSoundFromEntity(audioName, entity, audioRef, isNetwork, p4, p5) {
1433
- inv('0x6FB1DA3CA9DA7D90', audioName, entity.handle, audioRef, isNetwork, p4, p5);
1434
- }
1435
- /**
1436
- * @param ped
1437
- * @returns
1438
- */
1439
- static isAmbientSpeechPlaying(ped) {
1440
- return inv('0x9072C8B49907BFAD', ped.handle, rai());
1441
- }
1442
- /**
1443
- * @param ambientZone
1444
- * @param pos
1445
- * @param heading
1446
1447
  */
1447
- static setAmbientZonePosition(ambientZone, pos, heading) {
1448
- inv('0x3743CE6948194349', ambientZone, f(pos.x), f(pos.y), f(pos.z), f(heading));
1448
+ static forceUseAudioGameObject(vehicle, audioName) {
1449
+ inv('0x4F0C413926060B38', vehicle.handle, audioName);
1449
1450
  }
1450
1451
  /**
1452
+ * @param soundName
1451
1453
  * @param entity
1454
+ * @param soundsetName
1455
+ * @param soundId
1452
1456
  * @returns
1453
1457
  */
1454
- static N_0x2FFF4A78384AFFDF(entity) {
1455
- return inv('0x2FFF4A78384AFFDF', entity.handle);
1456
- }
1457
- /**
1458
- * @param emitterName
1459
- * @param toggle
1460
- */
1461
- static setStaticEmitterEnabled(emitterName, toggle) {
1462
- inv('0x399D2D3B33F1B8EB', emitterName, toggle);
1463
- }
1464
- /**
1465
- * @param ped
1466
- * @param toggle
1467
- */
1468
- static setPedIsDrunk(ped, toggle) {
1469
- inv('0x95D2D383D5396B8A', ped.handle, toggle);
1458
+ static prepareSoundWithEntity(soundName, entity, soundsetName, soundId) {
1459
+ return inv('0x4AD019591E94C064', soundName, entity.handle, soundsetName, soundId);
1470
1460
  }
1471
1461
  /**
1472
1462
  * @param p0
1473
1463
  * @param p1
1474
1464
  * @param p2
1475
- * @param p3
1476
- * @param p4
1477
1465
  */
1478
- static N_0x839C9F124BE74D94(p0, p1, p2, p3, p4) {
1479
- inv('0x839C9F124BE74D94', p0, p1, p2, p3, p4);
1466
+ static stopAllScriptedConversions(p0, p1, p2) {
1467
+ inv('0x36559148B78853B3', p0, p1, p2);
1480
1468
  }
1481
1469
  /**
1482
- * @param ambientZone
1470
+ * @param entity
1483
1471
  * @param p1
1484
- * @param p2
1485
1472
  */
1486
- static setAmbientZoneListStatePersistent(ambientZone, p1, p2) {
1487
- inv('0xF3638DAE8C4045E1', ambientZone, p1, p2);
1473
+ static removeEntityFromAudioMixGroup(entity, p1) {
1474
+ inv('0x18EB48CFC41F2EA0', entity.handle, f(p1));
1488
1475
  }
1489
1476
  /**
1490
- * @param p0
1491
- * @param p1
1492
- * @param p2
1493
- * @param p3
1494
- * @param p4
1477
+ * *AUDIO_IS** - _AUDIO_TRIGGER*
1495
1478
  */
1496
- static pauseScriptedConversation(p0, p1, p2, p3, p4) {
1497
- inv('0x8530AD776CD72B12', p0, p1, p2, p3, p4);
1479
+ static N_0x7455CD705F7E933E() {
1480
+ inv('0x7455CD705F7E933E');
1498
1481
  }
1499
1482
  /**
1500
- * @param p0
1483
+ * @param soundId
1501
1484
  */
1502
- static N_0x6652B0C8F3D414D0(p0) {
1503
- inv('0x6652B0C8F3D414D0', p0);
1485
+ static releaseSoundId(soundId) {
1486
+ inv('0x353FC880830B88FA', soundId);
1504
1487
  }
1505
1488
  /**
1489
+ * Old Name: _SET_VARIABLE_ON_SOUND_WITH_ID
1490
+ *
1506
1491
  * @param soundId
1507
- * @param name
1508
- * @param soundSet
1509
- * @param p3
1492
+ * @param variableName
1493
+ * @param variableValue
1510
1494
  */
1511
- static playSoundFrontendWithSoundId(soundId, name, soundSet, p3) {
1512
- inv('0xCE5D0FFE83939AF1', soundId, name, soundSet, p3);
1495
+ static setVariableOnSound(soundId, variableName, variableValue) {
1496
+ inv('0x503703EC1781B7D6', soundId, variableName, f(variableValue));
1513
1497
  }
1514
1498
  /**
1515
- * @param p0
1516
- * @returns
1499
+ * @param convoRoot
1517
1500
  */
1518
- static N_0xFE5C6177064BD390(p0) {
1519
- return inv('0xFE5C6177064BD390', p0, rai());
1501
+ static startPreloadedConversation(convoRoot) {
1502
+ inv('0x23641AFE870AF385', convoRoot);
1520
1503
  }
1521
1504
  /**
1522
- * @param p0
1523
- * @param currentScriptedConvoLine
1505
+ * @param scene
1524
1506
  * @returns
1525
1507
  */
1526
- static N_0x152ED1B56E8F1F50(p0, currentScriptedConvoLine) {
1527
- return createFromHandle('Ped', inv('0x152ED1B56E8F1F50', p0, currentScriptedConvoLine, rai()));
1508
+ static startAudioScene(scene) {
1509
+ return inv('0x013A80FC08F6E4F2', scene, rai());
1528
1510
  }
1529
1511
  /**
1530
- * @param p0
1531
1512
  * @returns
1532
1513
  */
1533
- static N_0x4A98E228A936DBCC(p0) {
1534
- return inv('0x4A98E228A936DBCC', p0);
1514
+ static getMusicPlaytime() {
1515
+ return inv('0xE7A0D23DC414507B', rai());
1535
1516
  }
1536
1517
  /**
1537
- * https://en.m.wikipedia.org/wiki/Walla
1518
+ * Checks for MOONSHINE_BAND
1538
1519
  *
1539
- * @param p0
1540
- * @param p1
1520
+ * @param entity
1521
+ * @returns
1541
1522
  */
1542
- static setPedWallaDensity(p0, p1) {
1543
- inv('0x149AEE66F0CB3A99', f(p0), f(p1));
1523
+ static N_0xBE28DB99556FF8D9(entity) {
1524
+ return (inv('0xBE28DB99556FF8D9', entity.handle, rai())) & 0xFFFFFFFF;
1525
+ }
1526
+ static N_0x569ABC36E28DDEAA() {
1527
+ inv('0x569ABC36E28DDEAA');
1544
1528
  }
1545
1529
  /**
1546
- * item: value returned from 0x2E1CDC1FF3B8473E
1547
- * soundSet: HUD_SHOP_SOUNDSET, COMPANIONS_ROBBERIES_SOUNDSET
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
1548
1543
  *
1549
- * @param item
1550
- * @param soundSet
1551
- * @param p2
1544
+ * @param speaker
1545
+ * @returns params
1552
1546
  */
1553
- static playSoundFromItem(item, soundSet, p2) {
1554
- inv('0xE8EAFF7B41EDD291', _h(item), _h(soundSet), p2);
1547
+ static playPedAmbientSpeechNative(speaker) {
1548
+ const result = inv('0x8E04FEDD28D42462', speaker.handle, pvi());
1549
+ return [result[0], result[1]];
1555
1550
  }
1556
1551
  /**
1557
- * @param ped
1552
+ * Checks whether the horn of a vehicle is currently played.
1553
+ *
1554
+ * @param vehicle
1558
1555
  * @returns
1559
1556
  */
1560
- static getPedSongIndexHost(ped) {
1561
- return inv('0x2DBBF0C5E19383EE', ped.handle);
1557
+ static isHornActive(vehicle) {
1558
+ return inv('0x9D6BFC12B05C6121', vehicle.handle, rai());
1562
1559
  }
1563
1560
  /**
1564
1561
  * @param p0
1562
+ * @param p1
1563
+ * @param p2
1564
+ * @param p3
1565
1565
  */
1566
- static N_0x3E98AC9D8C56C62C(p0) {
1567
- inv('0x3E98AC9D8C56C62C', p0);
1566
+ static N_0xCFAD2C8CD1054523(p0, p1, p2, p3) {
1567
+ inv('0xCFAD2C8CD1054523', p0, p1, p2, p3);
1568
1568
  }
1569
1569
  /**
1570
1570
  * @param sceneset