@nativewrappers/redm-codegen 0.0.3 → 0.0.4

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