@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
@@ -11,6 +11,144 @@ import { createFromHandle } from '../types/HandleRegistry';
11
11
  import { inv, rai, raf, ras, rav, pvi, pvf, pvv, pvii, pvfi, _h, f } from '../types/NativeAliases';
12
12
 
13
13
  export class Hud {
14
+ /**
15
+ * @param prompt
16
+ * @param text
17
+ */
18
+ static uiPromptSetText(prompt: number, text: string | null): void {
19
+ inv<void>('0x5DD02A8318420DD7', prompt, text);
20
+ }
21
+
22
+ /**
23
+ * @param prompt
24
+ * @returns
25
+ */
26
+ static uiPromptIsJustReleased(prompt: number): boolean {
27
+ return inv<boolean>('0x635CC82FA297A827', prompt, rai());
28
+ }
29
+
30
+ /**
31
+ * Found icons: https://pastebin.com/xx6rEgiG
32
+ *
33
+ * @param gamerTagId
34
+ * @param icon
35
+ */
36
+ static setMpGamerTagTopIcon(gamerTagId: number, icon: string | number): void {
37
+ inv<void>('0x5F57522BC1EB9D9D', gamerTagId, _h(icon));
38
+ }
39
+
40
+ /**
41
+ * @param prompt
42
+ * @returns
43
+ */
44
+ static uiPromptIsReleased(prompt: number): boolean {
45
+ return inv<boolean>('0xAFC887BA7A7756D6', prompt, rai());
46
+ }
47
+
48
+ /**
49
+ * @param active
50
+ */
51
+ static setFrontendActive(active: boolean): void {
52
+ inv<void>('0xCE47C21C0687EBC2', active);
53
+ }
54
+
55
+ /**
56
+ * @param name
57
+ * @param p1
58
+ * @returns
59
+ */
60
+ static registerNamedRendertarget(name: string | null, p1: boolean): boolean {
61
+ return inv<boolean>('0x98AF2BB6F62BD588', name, p1, rai());
62
+ }
63
+
64
+ /**
65
+ * @param prompt
66
+ * @param autoFillTimeMs
67
+ * @param holdTimeMs
68
+ */
69
+ static uiPromptSetHoldAutoFillWithDecayMode(prompt: number, autoFillTimeMs: number, holdTimeMs: number): void {
70
+ inv<void>('0xA3F2149AA24F3D8E', prompt, autoFillTimeMs, holdTimeMs);
71
+ }
72
+
73
+ /**
74
+ * @param p0
75
+ * @param p1
76
+ * @returns
77
+ */
78
+ static N_0xF1AD3DD218E6558A(p0: any, p1: any): any {
79
+ return inv<number>('0xF1AD3DD218E6558A', p0, p1);
80
+ }
81
+
82
+ /**
83
+ * Used for controllers
84
+ *
85
+ * @param prompt
86
+ * @param p1
87
+ * @param counterclockwise
88
+ */
89
+ static uiPromptSetRotateMode(prompt: number, p1: number, counterclockwise: boolean): void {
90
+ inv<void>('0x7ABE7095FB3D2581', prompt, f(p1), counterclockwise);
91
+ }
92
+
93
+ /**
94
+ * Found types: GENERIC_PLAYER, DEADDROP, HOTPROPERTY, MINIGAMES
95
+ *
96
+ * @param gamerTagId
97
+ * @param type
98
+ */
99
+ static setMpGamerTagType(gamerTagId: number, type: string | number): void {
100
+ inv<void>('0x25B9C78A25105C35', gamerTagId, _h(type));
101
+ }
102
+
103
+ /**
104
+ * @param prompt
105
+ * @param action
106
+ * @returns
107
+ */
108
+ static uiPromptSetControlAction(prompt: number, action: string | number): any {
109
+ return inv<number>('0xB5352B7494A08258', prompt, _h(action));
110
+ }
111
+
112
+ /**
113
+ * https://github.com/femga/rdr3_discoveries/tree/master/graphics/HUD/hud_presets
114
+ * Old name: _HIDE_HUD_COMPONENT
115
+ *
116
+ * @param component
117
+ */
118
+ static enableHudContext(component: string | number): void {
119
+ inv<void>('0x4CC5F2FC1332577F', _h(component));
120
+ }
121
+
122
+ /**
123
+ * @param prompt
124
+ * @returns
125
+ */
126
+ static uiPromptHasPressedTimedModeFailed(prompt: number): any {
127
+ return inv<number>('0x1A17B9ECFF617562', prompt);
128
+ }
129
+
130
+ /**
131
+ * Removes the loading prompt at the bottom right of the screen.
132
+ */
133
+ static busyspinnerOff(): void {
134
+ inv<void>('0x58F441B90EA84D06');
135
+ }
136
+
137
+ /**
138
+ * @param prompt
139
+ * @param pos
140
+ */
141
+ static uiPromptContextSetPoint(prompt: number, pos: Vector3): void {
142
+ inv<void>('0xAE84C5EE2C384FB3', prompt, f(pos.x), f(pos.y), f(pos.z));
143
+ }
144
+
145
+ /**
146
+ * @param align
147
+ */
148
+ static setTextCentre(align: boolean): void {
149
+ inv<void>('0xBE5261939FBECB8C', align);
150
+ }
151
+
14
152
  /**
15
153
  * @param p0
16
154
  * @param name
@@ -147,392 +285,264 @@ export class Hud {
147
285
  }
148
286
 
149
287
  /**
150
- * TM_ANY = 0,
151
- * TM_ON_FOOT,
152
- * TM_IN_VEHICLE
153
- *
154
- * @param prompt
155
- * @param mode
156
- */
157
- static uiPromptSetTransportMode(prompt: number, mode: number): void {
158
- inv<void>('0x876E4A35C73A6655', prompt, mode);
159
- }
160
-
161
- /**
288
+ * @param p0
289
+ * @param p1
162
290
  * @returns
163
291
  */
164
- static uiPromptRegisterBegin(): number {
165
- return inv<number>('0x04F97DE45A519419', rai());
292
+ static uiRequestScene(p0: any, p1: any): any {
293
+ return inv<number>('0xB6857100F8FD433C', p0, p1);
166
294
  }
167
295
 
168
296
  /**
169
- * This returns an id that can be used with 0x6095358C4142932A.
170
- *
297
+ * @param entity
298
+ * @param text
171
299
  * @returns
172
300
  */
173
- static uiPromptSetRegisterHorizontalOrientation(): number {
174
- return inv<number>('0xD9459157EB22C895', rai());
301
+ static createMpGamerTagOnEntity(entity: Entity, text: string | null): number {
302
+ return inv<number>('0xE961BF23EAB76B12', entity.handle, text, rai());
175
303
  }
176
304
 
177
305
  /**
178
- * @param prompt
306
+ * @param p0
179
307
  * @returns
180
308
  */
181
- static uiPromptHasPressedTimedModeCompleted(prompt: number): any {
182
- return inv<number>('0x3CE854D250A88DAF', prompt);
309
+ static journalCanWriteEntry(p0: any): any {
310
+ return inv<number>('0xCF782691D91F270E', p0);
183
311
  }
184
312
 
185
313
  /**
186
- * @param p0
314
+ * @param prompt
187
315
  * @param p1
188
316
  */
189
- static uiMovieviewSetRenderTarget(p0: any, p1: any): void {
190
- inv<void>('0x51DE09A2196BD951', p0, p1);
317
+ static uiPromptSetManualResolved(prompt: number, p1: any): void {
318
+ inv<void>('0xA520C7B05FA4EB2A', prompt, p1);
191
319
  }
192
320
 
193
321
  /**
194
- * @param p0
322
+ * @param inputHash
323
+ * @param labelName
324
+ * @param p2
325
+ * @param p3
326
+ * @param p4
327
+ * @param p5
195
328
  * @returns
196
329
  */
197
- static journalGetEntryAtIndex(p0: any): any {
198
- return inv<number>('0x3D16ABD7A1FD8C96', p0);
330
+ static uiPromptCreate(inputHash: string | number, labelName: string | null, p2: any, p3: any, p4: any, p5: number): number {
331
+ return inv<number>('0x29FA7910726C3889', _h(inputHash), labelName, p2, p3, p4, p5, rai());
199
332
  }
200
333
 
201
334
  /**
202
- * Attaches a Volume
203
- *
204
335
  * @param prompt
205
- * @param volume
336
+ * @param p1
206
337
  */
207
- static uiPromptContextSetVolume(prompt: number, volume: Volume): void {
208
- inv<void>('0x4D107406667423BE', prompt, volume.handle);
338
+ static uiPromptSetSpinnerSpeed(prompt: number, p1: any): void {
339
+ inv<void>('0xAC6586A7FDCD4B68', prompt, p1);
209
340
  }
210
341
 
211
342
  /**
212
- * Params: p1 is 0
213
- *
214
- * @param prompt
215
- * @param p1
343
+ * @param name
216
344
  * @returns
217
345
  */
218
- static uiPromptHasStandardModeCompleted(prompt: number, p1: number): boolean {
219
- return inv<boolean>('0xC92AC953F0A982AE', prompt, p1, rai());
346
+ static isNamedRendertargetRegistered(name: string | null): boolean {
347
+ return inv<boolean>('0x3EE32F7964C40FE6', name, rai());
220
348
  }
221
349
 
222
350
  /**
223
- * @param prompt
224
- * @returns
351
+ * @param p0
352
+ * @param p1
225
353
  */
226
- static uiPromptIsValid(prompt: number): boolean {
227
- return inv<boolean>('0x347469FBDD1589A9', prompt, rai());
354
+ static N_0x052D4AC0922AF91A(p0: any, p1: any): void {
355
+ inv<void>('0x052D4AC0922AF91A', p0, p1);
228
356
  }
229
357
 
230
358
  /**
231
- * If Hud should be displayed
232
- *
233
- * @param toggle
359
+ * @param prompt
234
360
  */
235
- static displayHud(toggle: boolean): void {
236
- inv<void>('0xD63FE3AF9FB3D53F', toggle);
361
+ static uiPromptDelete(prompt: number): void {
362
+ inv<void>('0x00EDE88D4D13CF59', prompt);
237
363
  }
238
364
 
239
365
  /**
366
+ * Gets a string literal from a label name. Old name: _GET_LABEL_TEXT
367
+ *
368
+ * @param labelName
240
369
  * @returns
241
370
  */
242
- static isRadarHidden(): boolean {
243
- return inv<boolean>('0x1B82FD5FFA4D666E', rai());
371
+ static getFilenameForAudioConversation(labelName: string | null): string | null {
372
+ return inv<string>('0xCFEDCCAD3C5BA90D', labelName, ras());
373
+ }
374
+
375
+ static N_0x5651516D947ABC53(): void {
376
+ inv<void>('0x5651516D947ABC53');
244
377
  }
245
378
 
246
379
  /**
247
- * @param gamerTagId
380
+ * @param renderId
248
381
  */
249
- static removeMpGamerTag(gamerTagId: number): void {
250
- inv<void>('0x839BFD7D7E49FE09', gamerTagId);
382
+ static setTextRenderId(renderId: number): void {
383
+ inv<void>('0xE550CDE128D56757', renderId);
251
384
  }
252
385
 
253
386
  /**
254
- * @param prompt
255
- * @param action
387
+ * @param distance
388
+ * @param r
389
+ * @param g
390
+ * @param b
391
+ * @param a
256
392
  */
257
- static uiPromptSetAllowedAction(prompt: number, action: string | number): void {
258
- inv<void>('0x565C1CE183CB0EAF', prompt, _h(action));
393
+ static setTextDropshadow(distance: number, r: number, g: number, b: number, a: number): void {
394
+ inv<void>('0x1BE39DBAA7263CA5', distance, r, g, b, a);
259
395
  }
260
396
 
261
397
  /**
262
- * @param p0
263
- * @param name
398
+ * @param label
399
+ * @returns
264
400
  */
265
- static setMissionName(p0: boolean, name: string | null): void {
266
- inv<void>('0x402669A4BDAA72DA', p0, name);
401
+ static getLabelText2(label: string | null): string | null {
402
+ return inv<string>('0x3429670F9B9EF2D3', label, ras());
267
403
  }
268
404
 
269
405
  /**
270
- * @param gamerTagId
271
- */
272
- static mpGamerTagDisableReviveTopIcon(gamerTagId: number): void {
273
- inv<void>('0x1F9A64C2804B3471', gamerTagId);
274
- }
275
-
276
- /**
277
- * standard (prompt not held) rate: 0.035f
278
- * fast (prompt held) rate: 0.015f
279
- * punitive (been hit) rate: 0.14f
280
- *
281
- * @param prompt
282
- * @param speed
283
- */
284
- static uiPromptSetMashManualModeDecaySpeed(prompt: number, speed: number): void {
285
- inv<void>('0x7D393C247FB9B431', prompt, f(speed));
286
- }
287
-
288
- /**
289
- * @param hash
290
- * @returns
291
- */
292
- static uiPromptDoesAmbientGroupExist(hash: string | number): boolean {
293
- return inv<boolean>('0xEB550B927B34A1BB', _h(hash), rai());
294
- }
295
-
296
- /**
297
- * @param p0
298
- * @returns
299
- */
300
- static N_0x7EC0D68233E391AC(p0: number): number {
301
- return inv<number>('0x7EC0D68233E391AC', p0, rai());
302
- }
303
-
304
- /**
305
- * nullsub, doesn't do anything
306
- */
307
- static N_0xBFFF81E12A745A5F(): void {
308
- inv<void>('0xBFFF81E12A745A5F');
309
- }
310
-
311
- /**
312
- * @param uiscene
313
- */
314
- static N_0xF1E6979C0B779985(uiscene: number): void {
315
- inv<void>('0xF1E6979C0B779985', uiscene);
316
- }
317
-
318
- /**
319
- * nullsub, this native does nothing since build 1436, use _BG_DISPLAY_TEXT instead.
320
- *
321
- * @param text
322
- * @param xPos
323
- * @param yPos
324
- */
325
- static displayText(text: string | null, xPos: number, yPos: number): void {
326
- inv<void>('0xD79334A4BB99BAD1', text, f(xPos), f(yPos));
327
- }
328
-
329
- /**
330
- * @param prompt
331
406
  * @returns
332
407
  */
333
- static uiPromptIsJustPressed(prompt: number): boolean {
334
- return inv<boolean>('0x2787CC611D3FACC5', prompt, rai());
408
+ static journalGetEntryCount(): any {
409
+ return inv<number>('0xE65B5DE53351BE22');
335
410
  }
336
411
 
337
- /**
338
- * @param gamerTagId
339
- * @param text
340
- */
341
- static setMpGamerTagNamePosse(gamerTagId: number, text: string | null): void {
342
- inv<void>('0x1EA716E0628A6F44', gamerTagId, text);
412
+ static journalClearAllProgress(): void {
413
+ inv<void>('0xF402978DE6F88D6E');
343
414
  }
344
415
 
345
416
  /**
417
+ * @param p0
346
418
  * @returns
347
419
  */
348
- static isSubtitlePreferenceSwitchedOn(): boolean {
349
- return inv<boolean>('0x7C4AC9573587F2DF', rai());
420
+ static N_0xD6BD313CFA41E57A(p0: any): any {
421
+ return inv<number>('0xD6BD313CFA41E57A', p0);
350
422
  }
351
423
 
352
424
  /**
353
- * @param prompt
354
425
  * @returns
355
426
  */
356
- static uiPromptIsActive(prompt: number): boolean {
357
- return inv<boolean>('0x546E342E01DE71CF', prompt, rai());
358
- }
359
-
360
- /**
361
- * @param prompt
362
- * @param mashes
363
- */
364
- static uiPromptSetMashMode(prompt: number, mashes: number): void {
365
- inv<void>('0xDF6423BF071C7F71', prompt, mashes);
427
+ static isMultiplayerChatActive(): boolean {
428
+ return inv<boolean>('0xBC19069D5FBB5C46', rai());
366
429
  }
367
430
 
368
- static hideHudThisFrame(): void {
369
- inv<void>('0xBF4F34A85CA2970D');
431
+ static disableFrontendThisFrame(): void {
432
+ inv<void>('0x56CE42A528156A67');
370
433
  }
371
434
 
372
435
  /**
373
436
  * @param prompt
374
- * @param releaseMode
375
- */
376
- static uiPromptSetStandardMode(prompt: number, releaseMode: boolean): void {
377
- inv<void>('0xCC6656799977741B', prompt, releaseMode);
378
- }
379
-
380
- /**
381
- * @param hash
382
437
  * @returns
383
438
  */
384
- static uiPromptGetGroupActivePage(hash: string | number): number {
385
- return inv<number>('0xC1FCC36C3F7286C8', _h(hash), rai());
386
- }
387
-
388
- /**
389
- * Enables reduced time scale while menus such as weapon wheel and satchel are open.
390
- */
391
- static enableReducedMenuTimeScale(): void {
392
- inv<void>('0x26F6BBEA2CE3E3DC');
393
- }
394
-
395
- /**
396
- * For startProgress, 0.0f - 1.0f is a percentage value, so 0.5f = 50% progress. Range: 0.0f - 1.0f
397
- * For decreaseSpeed, 0.0f will result in the prompt not showing the mash progress at all. 0.01f - ?.0f. At speeds around 7.0f to 8.0f the prompt basically fails immediately if you don't start mashing right away.
398
- *
399
- * @param prompt
400
- * @param mashes
401
- * @param decreaseSpeed
402
- * @param startProgress
403
- */
404
- static uiPromptSetMashWithResistanceCanFailMode(prompt: number, mashes: number, decreaseSpeed: number, startProgress: number): void {
405
- inv<void>('0xDC0CB602DEADBA53', prompt, mashes, f(decreaseSpeed), f(startProgress));
406
- }
407
-
408
- /**
409
- * @param prompt
410
- * @param p1
411
- * @param p2
412
- */
413
- static uiPromptSetTargetModeTarget(prompt: number, p1: number, p2: number): void {
414
- inv<void>('0x5E019C45DD3B6A14', prompt, f(p1), f(p2));
439
+ static uiPromptGetMashModeProgress(prompt: number): number {
440
+ return inv<number>('0x8A9585293863B8A5', prompt, raf());
415
441
  }
416
442
 
417
443
  /**
418
- * @param prompt
419
- * @param p1
444
+ * @param groupId
445
+ * @param volume
420
446
  * @param p2
421
447
  * @param p3
422
448
  * @param p4
449
+ * @param p5
450
+ * @returns
423
451
  */
424
- static uiPromptSetMashManualCanFailMode(prompt: number, p1: number, p2: number, p3: number, p4: any): void {
425
- inv<void>('0x179DCF71F705DA20', prompt, f(p1), f(p2), f(p3), p4);
426
- }
427
-
428
- /**
429
- * @param prompt
430
- * @param p1
431
- * @param p2
432
- * @param p3
433
- */
434
- static uiPromptSetTargetMode(prompt: number, p1: number, p2: number, p3: any): void {
435
- inv<void>('0x5F6503D9CD2754EB', prompt, f(p1), f(p2), p3);
436
- }
437
-
438
- /**
439
- * @param prompt
440
- * @param autoFillTimeMs
441
- * @param mashes
442
- */
443
- static uiPromptSetMashAutoFillMode(prompt: number, autoFillTimeMs: number, mashes: number): void {
444
- inv<void>('0x6C39587D7CC66801', prompt, autoFillTimeMs, mashes);
452
+ static N_0x8B55B324A9123F6B(groupId: number, volume: Volume, p2: string | null, p3: any, p4: any, p5: any): any {
453
+ return inv<number>('0x8B55B324A9123F6B', groupId, volume.handle, p2, p3, p4, p5);
445
454
  }
446
455
 
447
456
  /**
448
- * @param prompt
449
- * @param toggle
457
+ * @param entity
458
+ * @returns
450
459
  */
451
- static uiPromptSetBeatMode(prompt: number, toggle: boolean): void {
452
- inv<void>('0xF957A1654C6322FE', prompt, toggle);
460
+ static uiPromptGetGroupIdForTargetEntity(entity: Entity): number {
461
+ return inv<number>('0xB796970BD125FCE8', entity.handle, rai());
453
462
  }
454
463
 
455
464
  /**
456
- * Similar to 0x9D7E12EC6A1EE4E5(GET_TEXT_SUBSTRING) but starts at the beginning of the string
457
- *
458
- * @param text
459
- * @param length
460
- * @returns
465
+ * Old name: _ALLOW_PAUSE_MENU_WHEN_DEAD_THIS_FRAME
461
466
  */
462
- static getTextSubstring2(text: string | null, length: number): string | null {
463
- return inv<string>('0xD8402B858F4DDD88', text, length, ras());
467
+ static allowPauseWhenNotInStateOfPlayThisFrame(): void {
468
+ inv<void>('0x30996422DF1EE561');
464
469
  }
465
470
 
466
471
  /**
467
472
  * @param p0
468
- * @param prompt
469
- * @param p2
473
+ * @param p1
474
+ * @returns
470
475
  */
471
- static uiPromptAddGroupLink(p0: any, prompt: number, p2: any): void {
472
- inv<void>('0x684C96CC7C66E8EF', p0, prompt, p2);
476
+ static uiPromptGetGroupIdForScenarioPoint(p0: any, p1: number): number {
477
+ return inv<number>('0xCB73D7521E7103F0', p0, p1, rai());
473
478
  }
474
479
 
475
480
  /**
481
+ * nullsub, doesn't do anything
482
+ *
476
483
  * @param gamerTagId
484
+ * @param allow
477
485
  */
478
- static mpGamerTagEnableReviveTopIcon(gamerTagId: number): void {
479
- inv<void>('0xFFF6579CF0139FCE', gamerTagId);
486
+ static setMpGamerTagUnkAllowLocalized(gamerTagId: number, allow: boolean): void {
487
+ inv<void>('0xEF7AB1A0E8C86170', gamerTagId, allow);
480
488
  }
481
489
 
482
490
  /**
483
- * @param p0
484
- * @param p1
491
+ * @param ped
485
492
  */
486
- static N_0x8A59D44189AF2BC5(p0: any, p1: any): void {
487
- inv<void>('0x8A59D44189AF2BC5', p0, p1);
493
+ static uiPromptSetPromptPriorityPreference(ped: Ped): void {
494
+ inv<void>('0x530A428705BE5DEF', ped.handle);
488
495
  }
489
496
 
490
497
  /**
491
- * @param prompt
492
- * @param p1
498
+ * @param textBlock
493
499
  */
494
- static uiPromptSetOrderingAsInputType(prompt: number, p1: any): void {
495
- inv<void>('0x2F385ECC5200938D', prompt, p1);
500
+ static textBlockDelete(textBlock: string | null): void {
501
+ inv<void>('0xAA03F130A637D923', textBlock);
496
502
  }
497
503
 
498
504
  /**
499
- * @param p0
505
+ * Returns true when either Pause Menu, a Frontend Menu, Online Policies menu or Social Club menu is active.
506
+ *
507
+ * @returns
500
508
  */
501
- static journalMarkRead(p0: any): void {
502
- inv<void>('0xE4509BABE59BD24E', p0);
509
+ static isPauseMenuActive(): boolean {
510
+ return inv<boolean>('0x535384D6067BA42E', rai());
503
511
  }
504
512
 
505
513
  /**
506
- * @param gamerTagId
507
- * @param entity
514
+ * @param controlAction
508
515
  * @returns
509
516
  */
510
- static isMpGamerTagActiveOnEntity(gamerTagId: number, entity: Entity): any {
511
- return inv<number>('0x502E1591A504F843', gamerTagId, entity.handle);
517
+ static uiPromptIsControlActionActive(controlAction: string | number): any {
518
+ return inv<number>('0x1BE19185B8AFE299', _h(controlAction));
512
519
  }
513
520
 
514
521
  /**
515
- * @param gamerTagId
516
- * @param string
522
+ * @param textBlock
523
+ * @returns
517
524
  */
518
- static setMpGamerTagBigText(gamerTagId: number, string: string | null): void {
519
- inv<void>('0xA0D7CE5F83259663', gamerTagId, string);
525
+ static textBlockIsStreamed(textBlock: string | null): any {
526
+ return inv<number>('0x3CF96E16265B7DC8', textBlock);
520
527
  }
521
528
 
522
529
  /**
523
- * @param prompt
524
- * @param radius
530
+ * @param worldX
531
+ * @param worldY
532
+ * @param worldZ
533
+ * @returns screenX; screenY
525
534
  */
526
- static uiPromptContextSetRadius(prompt: number, radius: number): void {
527
- inv<void>('0x0C718001B77CA468', prompt, f(radius));
535
+ static getHudScreenPositionFromWorldPosition(worldX: number, worldY: number, worldZ: number): [boolean, number, number] {
536
+ const result = inv<[boolean, number, number]>('0xB39C81628EF10B42', f(worldX), f(worldY), f(worldZ), pvf(), pvf(), rai());
537
+ return [!!result[0], result[1], result[2]];
528
538
  }
529
539
 
530
540
  /**
531
541
  * @param prompt
532
- * @param toggle
542
+ * @returns
533
543
  */
534
- static uiPromptSetVisible(prompt: number, toggle: boolean): void {
535
- inv<void>('0x71215ACCFDE075EE', prompt, toggle);
544
+ static uiPromptHasHoldMode(prompt: number): any {
545
+ return inv<number>('0xB60C9F9ED47ABB76', prompt);
536
546
  }
537
547
 
538
548
  /**
@@ -660,286 +670,162 @@ export class Hud {
660
670
  }
661
671
 
662
672
  /**
663
- * @param p0
664
- * @returns
673
+ * @param modelHash
665
674
  */
666
- static N_0x28AE29D909C8FDCE(p0: any): any {
667
- return inv<number>('0x28AE29D909C8FDCE', p0);
668
- }
669
-
670
- /**
671
- * @param p0
672
- * @param prompt
673
- */
674
- static uiPromptAddGroupReturnLink(p0: any, prompt: number): void {
675
- inv<void>('0x837972ED28159536', p0, prompt);
675
+ static linkNamedRendertarget(modelHash: string | number): void {
676
+ inv<void>('0x2F506B8556242DDB', _h(modelHash));
676
677
  }
677
678
 
678
679
  /**
679
- * Params: type = mostly 0, 6 (net_mission_intro_story_gvo), 7 (fm_mission_controller), 14 (net_ugc_end_flow_transition_online), 15 (net_main_[tlg_]offline)
680
+ * Returns the label text given the hash. Old name: _GET_LABEL_TEXT_BY_HASH
680
681
  *
681
- * @param prompt
682
- * @param type
682
+ * @param labelHash
683
+ * @returns
683
684
  */
684
- static uiPromptSetType(prompt: number, type: number): void {
685
- inv<void>('0xF4A5C4509BF923B1', prompt, type);
685
+ static getStringFromHashKey(labelHash: string | number): string | null {
686
+ return inv<string>('0xBD5DD5EAE2B6CE14', _h(labelHash), ras());
686
687
  }
687
688
 
688
689
  /**
689
690
  * @param textBlock
690
- */
691
- static textBlockRequest(textBlock: string | null): void {
692
- inv<void>('0xF66090013DE648D5', textBlock);
693
- }
694
-
695
- /**
696
- * Checks if the passed gxt name exists in the game files.
697
- *
698
- * @param label
699
691
  * @returns
700
692
  */
701
- static doesTextLabelExist(label: string | null): boolean {
702
- return inv<boolean>('0x73C258C68D6F55B6', label, rai());
693
+ static textBlockIsLoaded(textBlock: string | null): any {
694
+ return inv<number>('0xD0976CC34002DB57', textBlock);
703
695
  }
704
696
 
705
697
  /**
698
+ * @param prompt
706
699
  * @returns
707
700
  */
708
- static N_0x066725A9D52B3641(): any {
709
- return inv<number>('0x066725A9D52B3641');
701
+ static uiPromptHasMashMode(prompt: number): any {
702
+ return inv<number>('0xCD072523791DDC1B', prompt);
710
703
  }
711
704
 
712
705
  /**
713
- * standard (prompt not held) rate: (1f / 128f)
714
- * fast (prompt held) rate: (1f / 64f)
715
- * punitive (been hit) rate: (1f / 128f)
716
- *
717
- * @param prompt
718
- * @param rate
706
+ * @param gamerTagId
719
707
  */
720
- static uiPromptSetMashManualModeIncreasePerPress(prompt: number, rate: number): void {
721
- inv<void>('0xA0D1D79C6036A855', prompt, f(rate));
708
+ static mpGamerTagDisableReviveTopIcon(gamerTagId: number): void {
709
+ inv<void>('0x1F9A64C2804B3471', gamerTagId);
722
710
  }
723
711
 
724
712
  /**
713
+ * standard (prompt not held) rate: 0.035f
714
+ * fast (prompt held) rate: 0.015f
715
+ * punitive (been hit) rate: 0.14f
716
+ *
725
717
  * @param prompt
726
718
  * @param speed
727
719
  */
728
- static uiPromptSetMashManualModePressedGrowthSpeed(prompt: number, speed: number): void {
729
- inv<void>('0x56DBB26F98582C29', prompt, f(speed));
730
- }
731
-
732
- /**
733
- * @param string
734
- * @returns
735
- */
736
- static getLengthOfLiteralStringInBytes(string: string | null): number {
737
- return inv<number>('0xDC5AD6B7AB8184F5', string, rai());
738
- }
739
-
740
- /**
741
- * @param name
742
- * @returns
743
- */
744
- static releaseNamedRendertarget(name: string | null): boolean {
745
- return inv<boolean>('0x0E692EE61761361F', name, rai());
720
+ static uiPromptSetMashManualModeDecaySpeed(prompt: number, speed: number): void {
721
+ inv<void>('0x7D393C247FB9B431', prompt, f(speed));
746
722
  }
747
723
 
748
724
  /**
749
- * @param textDatabase
725
+ * @param hash
750
726
  * @returns
751
727
  */
752
- static doesTextBlockExist(textDatabase: string | null): any {
753
- return inv<number>('0x2C729F2B94CEA911', textDatabase);
728
+ static uiPromptDoesAmbientGroupExist(hash: string | number): boolean {
729
+ return inv<boolean>('0xEB550B927B34A1BB', _h(hash), rai());
754
730
  }
755
731
 
756
732
  /**
757
733
  * @param p0
758
- * @param p1
759
734
  * @returns
760
735
  */
761
- static journalGetEntryInfo(p0: any, p1: any): any {
762
- return inv<number>('0x5514C3E60673530F', p0, p1);
736
+ static N_0x7EC0D68233E391AC(p0: number): number {
737
+ return inv<number>('0x7EC0D68233E391AC', p0, rai());
763
738
  }
764
739
 
765
740
  /**
766
- * @param p0
741
+ * nullsub, doesn't do anything
767
742
  */
768
- static N_0x3FE4FB41EF7D2196(p0: any): void {
769
- inv<void>('0x3FE4FB41EF7D2196', p0);
743
+ static N_0xBFFF81E12A745A5F(): void {
744
+ inv<void>('0xBFFF81E12A745A5F');
770
745
  }
771
746
 
772
747
  /**
773
- * colorNameHash: https://alloc8or.re/rdr3/doc/enums/eColor.txt
774
- *
775
- * @param colorNameHash
776
- * @returns red; green; blue; alpha
748
+ * @param uiscene
777
749
  */
778
- static getColorFromName(colorNameHash: string | number): [number, number, number, number] {
779
- const result = inv<[number, number, number, number]>('0xB981DD2DFAF9B1C9', _h(colorNameHash), pvi(), pvi(), pvi(), pvi());
780
- return [result[0], result[1], result[2], result[3]];
750
+ static N_0xF1E6979C0B779985(uiscene: number): void {
751
+ inv<void>('0xF1E6979C0B779985', uiscene);
781
752
  }
782
753
 
783
754
  /**
784
- * visibility:
785
- * enum eUIGamertagVisibility
786
- * {
787
- * UIGAMERTAGVISIBILITY_NONE,
788
- * UIGAMERTAGVISIBILITY_ICON,
789
- * UIGAMERTAGVISIBILITY_SIMPLE,
790
- * UIGAMERTAGVISIBILITY_COMPLEX
791
- * };
755
+ * nullsub, this native does nothing since build 1436, use _BG_DISPLAY_TEXT instead.
792
756
  *
793
- * @param gamerTagId
794
- * @param visibility
795
- */
796
- static setMpGamerTagVisibility(gamerTagId: number, visibility: number): void {
797
- inv<void>('0x93171DDDAB274EB8', gamerTagId, visibility);
798
- }
799
-
800
- /**
801
- * @param component
802
- */
803
- static enableHudContextThisFrame(component: string | number): void {
804
- inv<void>('0xC9CAEAEEC1256E54', _h(component));
805
- }
806
-
807
- /**
808
- * @param prompt
809
757
  * @param text
758
+ * @param xPos
759
+ * @param yPos
810
760
  */
811
- static uiPromptSetText(prompt: number, text: string | null): void {
812
- inv<void>('0x5DD02A8318420DD7', prompt, text);
761
+ static displayText(text: string | null, xPos: number, yPos: number): void {
762
+ inv<void>('0xD79334A4BB99BAD1', text, f(xPos), f(yPos));
813
763
  }
814
764
 
815
765
  /**
816
766
  * @param prompt
817
767
  * @returns
818
768
  */
819
- static uiPromptIsJustReleased(prompt: number): boolean {
820
- return inv<boolean>('0x635CC82FA297A827', prompt, rai());
769
+ static uiPromptIsJustPressed(prompt: number): boolean {
770
+ return inv<boolean>('0x2787CC611D3FACC5', prompt, rai());
821
771
  }
822
772
 
823
773
  /**
824
- * Found icons: https://pastebin.com/xx6rEgiG
825
- *
826
774
  * @param gamerTagId
827
- * @param icon
828
- */
829
- static setMpGamerTagTopIcon(gamerTagId: number, icon: string | number): void {
830
- inv<void>('0x5F57522BC1EB9D9D', gamerTagId, _h(icon));
831
- }
832
-
833
- /**
834
- * @param prompt
835
- * @returns
836
- */
837
- static uiPromptIsReleased(prompt: number): boolean {
838
- return inv<boolean>('0xAFC887BA7A7756D6', prompt, rai());
839
- }
840
-
841
- /**
842
- * @param active
775
+ * @param text
843
776
  */
844
- static setFrontendActive(active: boolean): void {
845
- inv<void>('0xCE47C21C0687EBC2', active);
777
+ static setMpGamerTagNamePosse(gamerTagId: number, text: string | null): void {
778
+ inv<void>('0x1EA716E0628A6F44', gamerTagId, text);
846
779
  }
847
780
 
848
781
  /**
849
- * @param name
850
- * @param p1
851
782
  * @returns
852
783
  */
853
- static registerNamedRendertarget(name: string | null, p1: boolean): boolean {
854
- return inv<boolean>('0x98AF2BB6F62BD588', name, p1, rai());
784
+ static isSubtitlePreferenceSwitchedOn(): boolean {
785
+ return inv<boolean>('0x7C4AC9573587F2DF', rai());
855
786
  }
856
787
 
857
788
  /**
858
789
  * @param prompt
859
- * @param autoFillTimeMs
860
- * @param holdTimeMs
861
- */
862
- static uiPromptSetHoldAutoFillWithDecayMode(prompt: number, autoFillTimeMs: number, holdTimeMs: number): void {
863
- inv<void>('0xA3F2149AA24F3D8E', prompt, autoFillTimeMs, holdTimeMs);
864
- }
865
-
866
- /**
867
- * @param p0
868
- * @param p1
869
790
  * @returns
870
791
  */
871
- static N_0xF1AD3DD218E6558A(p0: any, p1: any): any {
872
- return inv<number>('0xF1AD3DD218E6558A', p0, p1);
792
+ static uiPromptIsActive(prompt: number): boolean {
793
+ return inv<boolean>('0x546E342E01DE71CF', prompt, rai());
873
794
  }
874
795
 
875
796
  /**
876
- * Used for controllers
877
- *
878
797
  * @param prompt
879
- * @param p1
880
- * @param counterclockwise
798
+ * @param mashes
881
799
  */
882
- static uiPromptSetRotateMode(prompt: number, p1: number, counterclockwise: boolean): void {
883
- inv<void>('0x7ABE7095FB3D2581', prompt, f(p1), counterclockwise);
800
+ static uiPromptSetMashMode(prompt: number, mashes: number): void {
801
+ inv<void>('0xDF6423BF071C7F71', prompt, mashes);
884
802
  }
885
803
 
886
- /**
887
- * Found types: GENERIC_PLAYER, DEADDROP, HOTPROPERTY, MINIGAMES
888
- *
889
- * @param gamerTagId
890
- * @param type
891
- */
892
- static setMpGamerTagType(gamerTagId: number, type: string | number): void {
893
- inv<void>('0x25B9C78A25105C35', gamerTagId, _h(type));
804
+ static hideHudThisFrame(): void {
805
+ inv<void>('0xBF4F34A85CA2970D');
894
806
  }
895
807
 
896
808
  /**
897
809
  * @param prompt
898
- * @param action
899
- * @returns
900
- */
901
- static uiPromptSetControlAction(prompt: number, action: string | number): any {
902
- return inv<number>('0xB5352B7494A08258', prompt, _h(action));
903
- }
904
-
905
- /**
906
- * https://github.com/femga/rdr3_discoveries/tree/master/graphics/HUD/hud_presets
907
- * Old name: _HIDE_HUD_COMPONENT
908
- *
909
- * @param component
810
+ * @param releaseMode
910
811
  */
911
- static enableHudContext(component: string | number): void {
912
- inv<void>('0x4CC5F2FC1332577F', _h(component));
812
+ static uiPromptSetStandardMode(prompt: number, releaseMode: boolean): void {
813
+ inv<void>('0xCC6656799977741B', prompt, releaseMode);
913
814
  }
914
815
 
915
816
  /**
916
- * @param prompt
817
+ * @param hash
917
818
  * @returns
918
819
  */
919
- static uiPromptHasPressedTimedModeFailed(prompt: number): any {
920
- return inv<number>('0x1A17B9ECFF617562', prompt);
921
- }
922
-
923
- /**
924
- * Removes the loading prompt at the bottom right of the screen.
925
- */
926
- static busyspinnerOff(): void {
927
- inv<void>('0x58F441B90EA84D06');
928
- }
929
-
930
- /**
931
- * @param prompt
932
- * @param pos
933
- */
934
- static uiPromptContextSetPoint(prompt: number, pos: Vector3): void {
935
- inv<void>('0xAE84C5EE2C384FB3', prompt, f(pos.x), f(pos.y), f(pos.z));
820
+ static uiPromptGetGroupActivePage(hash: string | number): number {
821
+ return inv<number>('0xC1FCC36C3F7286C8', _h(hash), rai());
936
822
  }
937
823
 
938
824
  /**
939
- * @param align
825
+ * Enables reduced time scale while menus such as weapon wheel and satchel are open.
940
826
  */
941
- static setTextCentre(align: boolean): void {
942
- inv<void>('0xBE5261939FBECB8C', align);
827
+ static enableReducedMenuTimeScale(): void {
828
+ inv<void>('0x26F6BBEA2CE3E3DC');
943
829
  }
944
830
 
945
831
  /**
@@ -1074,431 +960,425 @@ export class Hud {
1074
960
  }
1075
961
 
1076
962
  /**
1077
- * @param p0
1078
- * @param p1
1079
- * @returns
963
+ * For startProgress, 0.0f - 1.0f is a percentage value, so 0.5f = 50% progress. Range: 0.0f - 1.0f
964
+ * For decreaseSpeed, 0.0f will result in the prompt not showing the mash progress at all. 0.01f - ?.0f. At speeds around 7.0f to 8.0f the prompt basically fails immediately if you don't start mashing right away.
965
+ *
966
+ * @param prompt
967
+ * @param mashes
968
+ * @param decreaseSpeed
969
+ * @param startProgress
1080
970
  */
1081
- static uiRequestScene(p0: any, p1: any): any {
1082
- return inv<number>('0xB6857100F8FD433C', p0, p1);
1083
- }
1084
-
1085
- /**
1086
- * @param entity
1087
- * @param text
1088
- * @returns
1089
- */
1090
- static createMpGamerTagOnEntity(entity: Entity, text: string | null): number {
1091
- return inv<number>('0xE961BF23EAB76B12', entity.handle, text, rai());
1092
- }
1093
-
1094
- /**
1095
- * @param p0
1096
- * @returns
1097
- */
1098
- static journalCanWriteEntry(p0: any): any {
1099
- return inv<number>('0xCF782691D91F270E', p0);
971
+ static uiPromptSetMashWithResistanceCanFailMode(prompt: number, mashes: number, decreaseSpeed: number, startProgress: number): void {
972
+ inv<void>('0xDC0CB602DEADBA53', prompt, mashes, f(decreaseSpeed), f(startProgress));
1100
973
  }
1101
974
 
1102
975
  /**
1103
976
  * @param prompt
1104
977
  * @param p1
978
+ * @param p2
1105
979
  */
1106
- static uiPromptSetManualResolved(prompt: number, p1: any): void {
1107
- inv<void>('0xA520C7B05FA4EB2A', prompt, p1);
980
+ static uiPromptSetTargetModeTarget(prompt: number, p1: number, p2: number): void {
981
+ inv<void>('0x5E019C45DD3B6A14', prompt, f(p1), f(p2));
1108
982
  }
1109
983
 
1110
984
  /**
1111
- * @param inputHash
1112
- * @param labelName
985
+ * @param prompt
986
+ * @param p1
1113
987
  * @param p2
1114
988
  * @param p3
1115
989
  * @param p4
1116
- * @param p5
1117
- * @returns
1118
990
  */
1119
- static uiPromptCreate(inputHash: string | number, labelName: string | null, p2: any, p3: any, p4: any, p5: number): number {
1120
- return inv<number>('0x29FA7910726C3889', _h(inputHash), labelName, p2, p3, p4, p5, rai());
991
+ static uiPromptSetMashManualCanFailMode(prompt: number, p1: number, p2: number, p3: number, p4: any): void {
992
+ inv<void>('0x179DCF71F705DA20', prompt, f(p1), f(p2), f(p3), p4);
1121
993
  }
1122
994
 
1123
995
  /**
1124
996
  * @param prompt
1125
997
  * @param p1
998
+ * @param p2
999
+ * @param p3
1126
1000
  */
1127
- static uiPromptSetSpinnerSpeed(prompt: number, p1: any): void {
1128
- inv<void>('0xAC6586A7FDCD4B68', prompt, p1);
1129
- }
1130
-
1131
- /**
1132
- * @param name
1133
- * @returns
1134
- */
1135
- static isNamedRendertargetRegistered(name: string | null): boolean {
1136
- return inv<boolean>('0x3EE32F7964C40FE6', name, rai());
1001
+ static uiPromptSetTargetMode(prompt: number, p1: number, p2: number, p3: any): void {
1002
+ inv<void>('0x5F6503D9CD2754EB', prompt, f(p1), f(p2), p3);
1137
1003
  }
1138
1004
 
1139
1005
  /**
1140
- * @param p0
1141
- * @param p1
1006
+ * @param prompt
1007
+ * @param autoFillTimeMs
1008
+ * @param mashes
1142
1009
  */
1143
- static N_0x052D4AC0922AF91A(p0: any, p1: any): void {
1144
- inv<void>('0x052D4AC0922AF91A', p0, p1);
1010
+ static uiPromptSetMashAutoFillMode(prompt: number, autoFillTimeMs: number, mashes: number): void {
1011
+ inv<void>('0x6C39587D7CC66801', prompt, autoFillTimeMs, mashes);
1145
1012
  }
1146
1013
 
1147
1014
  /**
1148
1015
  * @param prompt
1016
+ * @param toggle
1149
1017
  */
1150
- static uiPromptDelete(prompt: number): void {
1151
- inv<void>('0x00EDE88D4D13CF59', prompt);
1018
+ static uiPromptSetBeatMode(prompt: number, toggle: boolean): void {
1019
+ inv<void>('0xF957A1654C6322FE', prompt, toggle);
1152
1020
  }
1153
1021
 
1154
1022
  /**
1155
- * Gets a string literal from a label name. Old name: _GET_LABEL_TEXT
1023
+ * Similar to 0x9D7E12EC6A1EE4E5(GET_TEXT_SUBSTRING) but starts at the beginning of the string
1156
1024
  *
1157
- * @param labelName
1025
+ * @param text
1026
+ * @param length
1158
1027
  * @returns
1159
1028
  */
1160
- static getFilenameForAudioConversation(labelName: string | null): string | null {
1161
- return inv<string>('0xCFEDCCAD3C5BA90D', labelName, ras());
1162
- }
1163
-
1164
- static N_0x5651516D947ABC53(): void {
1165
- inv<void>('0x5651516D947ABC53');
1029
+ static getTextSubstring2(text: string | null, length: number): string | null {
1030
+ return inv<string>('0xD8402B858F4DDD88', text, length, ras());
1166
1031
  }
1167
1032
 
1168
1033
  /**
1169
- * @param renderId
1034
+ * @param p0
1035
+ * @param prompt
1036
+ * @param p2
1170
1037
  */
1171
- static setTextRenderId(renderId: number): void {
1172
- inv<void>('0xE550CDE128D56757', renderId);
1038
+ static uiPromptAddGroupLink(p0: any, prompt: number, p2: any): void {
1039
+ inv<void>('0x684C96CC7C66E8EF', p0, prompt, p2);
1173
1040
  }
1174
1041
 
1175
1042
  /**
1176
- * @param distance
1177
- * @param r
1178
- * @param g
1179
- * @param b
1180
- * @param a
1043
+ * @param gamerTagId
1181
1044
  */
1182
- static setTextDropshadow(distance: number, r: number, g: number, b: number, a: number): void {
1183
- inv<void>('0x1BE39DBAA7263CA5', distance, r, g, b, a);
1045
+ static mpGamerTagEnableReviveTopIcon(gamerTagId: number): void {
1046
+ inv<void>('0xFFF6579CF0139FCE', gamerTagId);
1184
1047
  }
1185
1048
 
1186
1049
  /**
1187
- * @param label
1188
- * @returns
1050
+ * @param p0
1051
+ * @param p1
1189
1052
  */
1190
- static getLabelText2(label: string | null): string | null {
1191
- return inv<string>('0x3429670F9B9EF2D3', label, ras());
1053
+ static N_0x8A59D44189AF2BC5(p0: any, p1: any): void {
1054
+ inv<void>('0x8A59D44189AF2BC5', p0, p1);
1192
1055
  }
1193
1056
 
1194
1057
  /**
1195
- * @returns
1058
+ * @param prompt
1059
+ * @param p1
1196
1060
  */
1197
- static journalGetEntryCount(): any {
1198
- return inv<number>('0xE65B5DE53351BE22');
1199
- }
1200
-
1201
- static journalClearAllProgress(): void {
1202
- inv<void>('0xF402978DE6F88D6E');
1061
+ static uiPromptSetOrderingAsInputType(prompt: number, p1: any): void {
1062
+ inv<void>('0x2F385ECC5200938D', prompt, p1);
1203
1063
  }
1204
1064
 
1205
1065
  /**
1206
- * @param modelHash
1066
+ * @param p0
1207
1067
  */
1208
- static linkNamedRendertarget(modelHash: string | number): void {
1209
- inv<void>('0x2F506B8556242DDB', _h(modelHash));
1068
+ static journalMarkRead(p0: any): void {
1069
+ inv<void>('0xE4509BABE59BD24E', p0);
1210
1070
  }
1211
1071
 
1212
1072
  /**
1213
- * Returns the label text given the hash. Old name: _GET_LABEL_TEXT_BY_HASH
1214
- *
1215
- * @param labelHash
1073
+ * @param gamerTagId
1074
+ * @param entity
1216
1075
  * @returns
1217
1076
  */
1218
- static getStringFromHashKey(labelHash: string | number): string | null {
1219
- return inv<string>('0xBD5DD5EAE2B6CE14', _h(labelHash), ras());
1077
+ static isMpGamerTagActiveOnEntity(gamerTagId: number, entity: Entity): any {
1078
+ return inv<number>('0x502E1591A504F843', gamerTagId, entity.handle);
1220
1079
  }
1221
1080
 
1222
1081
  /**
1223
- * @param textBlock
1224
- * @returns
1082
+ * @param gamerTagId
1083
+ * @param string
1225
1084
  */
1226
- static textBlockIsLoaded(textBlock: string | null): any {
1227
- return inv<number>('0xD0976CC34002DB57', textBlock);
1085
+ static setMpGamerTagBigText(gamerTagId: number, string: string | null): void {
1086
+ inv<void>('0xA0D7CE5F83259663', gamerTagId, string);
1228
1087
  }
1229
1088
 
1230
1089
  /**
1231
1090
  * @param prompt
1232
- * @returns
1091
+ * @param radius
1233
1092
  */
1234
- static uiPromptHasMashMode(prompt: number): any {
1235
- return inv<number>('0xCD072523791DDC1B', prompt);
1093
+ static uiPromptContextSetRadius(prompt: number, radius: number): void {
1094
+ inv<void>('0x0C718001B77CA468', prompt, f(radius));
1236
1095
  }
1237
1096
 
1238
1097
  /**
1239
- * @param p0
1240
- * @returns
1098
+ * @param prompt
1099
+ * @param toggle
1241
1100
  */
1242
- static N_0xD6BD313CFA41E57A(p0: any): any {
1243
- return inv<number>('0xD6BD313CFA41E57A', p0);
1101
+ static uiPromptSetVisible(prompt: number, toggle: boolean): void {
1102
+ inv<void>('0x71215ACCFDE075EE', prompt, toggle);
1244
1103
  }
1245
1104
 
1246
1105
  /**
1106
+ * @param prompt
1247
1107
  * @returns
1248
1108
  */
1249
- static isMultiplayerChatActive(): boolean {
1250
- return inv<boolean>('0xBC19069D5FBB5C46', rai());
1251
- }
1252
-
1253
- static disableFrontendThisFrame(): void {
1254
- inv<void>('0x56CE42A528156A67');
1109
+ static uiPromptHasMashModeFailed(prompt: number): boolean {
1110
+ return inv<boolean>('0x25B18E530CF39D6F', prompt, rai());
1255
1111
  }
1256
1112
 
1257
1113
  /**
1258
1114
  * @param prompt
1259
1115
  * @returns
1260
1116
  */
1261
- static uiPromptGetMashModeProgress(prompt: number): number {
1262
- return inv<number>('0x8A9585293863B8A5', prompt, raf());
1117
+ static uiPromptHasManualMashMode(prompt: number): any {
1118
+ return inv<number>('0xA6C6A4ADB3BAC409', prompt);
1263
1119
  }
1264
1120
 
1265
1121
  /**
1266
- * @param groupId
1267
- * @param volume
1268
- * @param p2
1269
- * @param p3
1270
- * @param p4
1271
- * @param p5
1122
+ * @param prompt
1272
1123
  * @returns
1273
1124
  */
1274
- static N_0x8B55B324A9123F6B(groupId: number, volume: Volume, p2: string | null, p3: any, p4: any, p5: any): any {
1275
- return inv<number>('0x8B55B324A9123F6B', groupId, volume.handle, p2, p3, p4, p5);
1125
+ static uiPromptHasMashModeCompleted(prompt: number): boolean {
1126
+ return inv<boolean>('0x845CE958416DC473', prompt, rai());
1276
1127
  }
1277
1128
 
1278
1129
  /**
1279
- * @param entity
1280
- * @returns
1130
+ * @param prompt
1131
+ * @param p1
1281
1132
  */
1282
- static uiPromptGetGroupIdForTargetEntity(entity: Entity): number {
1283
- return inv<number>('0xB796970BD125FCE8', entity.handle, rai());
1133
+ static uiPromptSetSpinnerPosition(prompt: number, p1: any): void {
1134
+ inv<void>('0x832CB510DE546282', prompt, p1);
1284
1135
  }
1285
1136
 
1286
1137
  /**
1287
- * Old name: _ALLOW_PAUSE_MENU_WHEN_DEAD_THIS_FRAME
1138
+ * @param p0
1288
1139
  */
1289
- static allowPauseWhenNotInStateOfPlayThisFrame(): void {
1290
- inv<void>('0x30996422DF1EE561');
1140
+ static journalWriteEntry(p0: any): void {
1141
+ inv<void>('0x6DFDD665E416B093', p0);
1291
1142
  }
1292
1143
 
1293
1144
  /**
1294
- * @param p0
1295
- * @param p1
1296
- * @returns
1145
+ * @param state
1297
1146
  */
1298
- static uiPromptGetGroupIdForScenarioPoint(p0: any, p1: number): number {
1299
- return inv<number>('0xCB73D7521E7103F0', p0, p1, rai());
1147
+ static showHorseCores(state: boolean): void {
1148
+ inv<void>('0xD4EE21B7CC7FD350', state);
1300
1149
  }
1301
1150
 
1302
1151
  /**
1303
- * nullsub, doesn't do anything
1152
+ * This native accepts 1 as parameter in the decompiles
1153
+ * returns the nearest horse handle if within 2 3 meters of the player, if not close enough returns false NOTE: if type is 0 returns PlayerPedId always?
1304
1154
  *
1305
- * @param gamerTagId
1306
- * @param allow
1155
+ * @param p0
1156
+ * @returns
1307
1157
  */
1308
- static setMpGamerTagUnkAllowLocalized(gamerTagId: number, allow: boolean): void {
1309
- inv<void>('0xEF7AB1A0E8C86170', gamerTagId, allow);
1158
+ static getNearHorse(p0: number): any {
1159
+ return inv<number>('0x0501D52D24EA8934', p0);
1310
1160
  }
1311
1161
 
1312
1162
  /**
1313
- * @param ped
1163
+ * @param prompt
1314
1164
  */
1315
- static uiPromptSetPromptPriorityPreference(ped: Ped): void {
1316
- inv<void>('0x530A428705BE5DEF', ped.handle);
1165
+ static uiPromptRestartModes(prompt: number): void {
1166
+ inv<void>('0xDC6C55DFA2C24EE5', prompt);
1317
1167
  }
1318
1168
 
1319
1169
  /**
1320
- * @param textBlock
1170
+ * @param prompt
1171
+ * @param mashes
1172
+ * @param p2
1173
+ * @param p3
1321
1174
  */
1322
- static textBlockDelete(textBlock: string | null): void {
1323
- inv<void>('0xAA03F130A637D923', textBlock);
1175
+ static uiPromptSetMashWithResistanceMode(prompt: number, mashes: number, p2: number, p3: number): void {
1176
+ inv<void>('0xCD1BDFF15EFA79F5', prompt, mashes, f(p2), f(p3));
1324
1177
  }
1325
1178
 
1326
1179
  /**
1327
- * Returns true when either Pause Menu, a Frontend Menu, Online Policies menu or Social Club menu is active.
1328
- *
1180
+ * @param p0
1181
+ * @param p1
1182
+ * @param p2
1329
1183
  * @returns
1330
1184
  */
1331
- static isPauseMenuActive(): boolean {
1332
- return inv<boolean>('0x535384D6067BA42E', rai());
1185
+ static N_0x806862E5D266CF38(p0: any, p1: any, p2: any): any {
1186
+ return inv<number>('0x806862E5D266CF38', p0, p1, p2);
1333
1187
  }
1334
1188
 
1335
1189
  /**
1336
- * @param controlAction
1190
+ * @param gamerTagId
1337
1191
  * @returns
1338
1192
  */
1339
- static uiPromptIsControlActionActive(controlAction: string | number): any {
1340
- return inv<number>('0x1BE19185B8AFE299', _h(controlAction));
1193
+ static isMpGamerTagActive(gamerTagId: number): boolean {
1194
+ return inv<boolean>('0x6E1C31E14C7A5F97', gamerTagId, rai());
1341
1195
  }
1342
1196
 
1343
1197
  /**
1344
- * @param textBlock
1345
- * @returns
1198
+ * Hashes: SHORT_TIMED_EVENT_MP, SHORT_TIMED_EVENT, MEDIUM_TIMED_EVENT, LONG_TIMED_EVENT, RUSTLING_CALM_TIMING, PLAYER_FOCUS_TIMING, PLAYER_REACTION_TIMING
1199
+ *
1200
+ * @param prompt
1201
+ * @param timedEventHash
1346
1202
  */
1347
- static textBlockIsStreamed(textBlock: string | null): any {
1348
- return inv<number>('0x3CF96E16265B7DC8', textBlock);
1203
+ static uiPromptSetStandardizedHoldMode(prompt: number, timedEventHash: string | number): void {
1204
+ inv<void>('0x74C7D7B72ED0D3CF', prompt, _h(timedEventHash));
1349
1205
  }
1350
1206
 
1351
1207
  /**
1352
- * @param worldX
1353
- * @param worldY
1354
- * @param worldZ
1355
- * @returns screenX; screenY
1208
+ * @param modelHash
1209
+ * @returns
1356
1210
  */
1357
- static getHudScreenPositionFromWorldPosition(worldX: number, worldY: number, worldZ: number): [boolean, number, number] {
1358
- const result = inv<[boolean, number, number]>('0xB39C81628EF10B42', f(worldX), f(worldY), f(worldZ), pvf(), pvf(), rai());
1359
- return [!!result[0], result[1], result[2]];
1211
+ static isNamedRendertargetLinked(modelHash: string | number): boolean {
1212
+ return inv<boolean>('0x707032835FF09AE7', _h(modelHash), rai());
1360
1213
  }
1361
1214
 
1362
1215
  /**
1363
1216
  * @param prompt
1364
1217
  * @returns
1365
1218
  */
1366
- static uiPromptHasHoldMode(prompt: number): any {
1367
- return inv<number>('0xB60C9F9ED47ABB76', prompt);
1219
+ static uiPromptWasBeatModePressedInTimeWindow(prompt: number): boolean {
1220
+ return inv<boolean>('0x1FE4788AB1430C55', prompt, rai());
1368
1221
  }
1369
1222
 
1370
1223
  /**
1371
- * @param prompt
1372
1224
  * @returns
1373
1225
  */
1374
- static uiPromptHasMashModeFailed(prompt: number): boolean {
1375
- return inv<boolean>('0x25B18E530CF39D6F', prompt, rai());
1226
+ static isHudHidden(): boolean {
1227
+ return inv<boolean>('0x71B72B478F8189DC', rai());
1228
+ }
1229
+
1230
+ /**
1231
+ * @param p0
1232
+ * @param p1
1233
+ * @returns
1234
+ */
1235
+ static N_0x100157D6D7FE32CA(p0: any, p1: any): any {
1236
+ return inv<number>('0x100157D6D7FE32CA', p0, p1);
1376
1237
  }
1377
1238
 
1378
1239
  /**
1379
- * @param prompt
1240
+ * @param p0
1380
1241
  * @returns
1381
1242
  */
1382
- static uiPromptHasManualMashMode(prompt: number): any {
1383
- return inv<number>('0xA6C6A4ADB3BAC409', prompt);
1243
+ static N_0x28AE29D909C8FDCE(p0: any): any {
1244
+ return inv<number>('0x28AE29D909C8FDCE', p0);
1384
1245
  }
1385
1246
 
1386
1247
  /**
1248
+ * @param p0
1387
1249
  * @param prompt
1388
- * @returns
1389
1250
  */
1390
- static uiPromptHasMashModeCompleted(prompt: number): boolean {
1391
- return inv<boolean>('0x845CE958416DC473', prompt, rai());
1251
+ static uiPromptAddGroupReturnLink(p0: any, prompt: number): void {
1252
+ inv<void>('0x837972ED28159536', p0, prompt);
1392
1253
  }
1393
1254
 
1394
1255
  /**
1256
+ * Params: type = mostly 0, 6 (net_mission_intro_story_gvo), 7 (fm_mission_controller), 14 (net_ugc_end_flow_transition_online), 15 (net_main_[tlg_]offline)
1257
+ *
1395
1258
  * @param prompt
1396
- * @param p1
1259
+ * @param type
1397
1260
  */
1398
- static uiPromptSetSpinnerPosition(prompt: number, p1: any): void {
1399
- inv<void>('0x832CB510DE546282', prompt, p1);
1261
+ static uiPromptSetType(prompt: number, type: number): void {
1262
+ inv<void>('0xF4A5C4509BF923B1', prompt, type);
1400
1263
  }
1401
1264
 
1402
1265
  /**
1403
- * @param p0
1266
+ * @param textBlock
1404
1267
  */
1405
- static journalWriteEntry(p0: any): void {
1406
- inv<void>('0x6DFDD665E416B093', p0);
1268
+ static textBlockRequest(textBlock: string | null): void {
1269
+ inv<void>('0xF66090013DE648D5', textBlock);
1407
1270
  }
1408
1271
 
1409
1272
  /**
1410
- * @param state
1273
+ * Checks if the passed gxt name exists in the game files.
1274
+ *
1275
+ * @param label
1276
+ * @returns
1411
1277
  */
1412
- static showHorseCores(state: boolean): void {
1413
- inv<void>('0xD4EE21B7CC7FD350', state);
1278
+ static doesTextLabelExist(label: string | null): boolean {
1279
+ return inv<boolean>('0x73C258C68D6F55B6', label, rai());
1414
1280
  }
1415
1281
 
1416
1282
  /**
1417
- * This native accepts 1 as parameter in the decompiles
1418
- * returns the nearest horse handle if within 2 3 meters of the player, if not close enough returns false NOTE: if type is 0 returns PlayerPedId always?
1419
- *
1420
- * @param p0
1421
1283
  * @returns
1422
1284
  */
1423
- static getNearHorse(p0: number): any {
1424
- return inv<number>('0x0501D52D24EA8934', p0);
1285
+ static N_0x066725A9D52B3641(): any {
1286
+ return inv<number>('0x066725A9D52B3641');
1425
1287
  }
1426
1288
 
1427
1289
  /**
1290
+ * standard (prompt not held) rate: (1f / 128f)
1291
+ * fast (prompt held) rate: (1f / 64f)
1292
+ * punitive (been hit) rate: (1f / 128f)
1293
+ *
1428
1294
  * @param prompt
1295
+ * @param rate
1429
1296
  */
1430
- static uiPromptRestartModes(prompt: number): void {
1431
- inv<void>('0xDC6C55DFA2C24EE5', prompt);
1297
+ static uiPromptSetMashManualModeIncreasePerPress(prompt: number, rate: number): void {
1298
+ inv<void>('0xA0D1D79C6036A855', prompt, f(rate));
1432
1299
  }
1433
1300
 
1434
1301
  /**
1435
1302
  * @param prompt
1436
- * @param mashes
1437
- * @param p2
1438
- * @param p3
1303
+ * @param speed
1439
1304
  */
1440
- static uiPromptSetMashWithResistanceMode(prompt: number, mashes: number, p2: number, p3: number): void {
1441
- inv<void>('0xCD1BDFF15EFA79F5', prompt, mashes, f(p2), f(p3));
1305
+ static uiPromptSetMashManualModePressedGrowthSpeed(prompt: number, speed: number): void {
1306
+ inv<void>('0x56DBB26F98582C29', prompt, f(speed));
1442
1307
  }
1443
1308
 
1444
1309
  /**
1445
- * @param p0
1446
- * @param p1
1447
- * @param p2
1310
+ * @param string
1448
1311
  * @returns
1449
1312
  */
1450
- static N_0x806862E5D266CF38(p0: any, p1: any, p2: any): any {
1451
- return inv<number>('0x806862E5D266CF38', p0, p1, p2);
1313
+ static getLengthOfLiteralStringInBytes(string: string | null): number {
1314
+ return inv<number>('0xDC5AD6B7AB8184F5', string, rai());
1452
1315
  }
1453
1316
 
1454
1317
  /**
1455
- * @param gamerTagId
1318
+ * @param name
1456
1319
  * @returns
1457
1320
  */
1458
- static isMpGamerTagActive(gamerTagId: number): boolean {
1459
- return inv<boolean>('0x6E1C31E14C7A5F97', gamerTagId, rai());
1321
+ static releaseNamedRendertarget(name: string | null): boolean {
1322
+ return inv<boolean>('0x0E692EE61761361F', name, rai());
1460
1323
  }
1461
1324
 
1462
1325
  /**
1463
- * Hashes: SHORT_TIMED_EVENT_MP, SHORT_TIMED_EVENT, MEDIUM_TIMED_EVENT, LONG_TIMED_EVENT, RUSTLING_CALM_TIMING, PLAYER_FOCUS_TIMING, PLAYER_REACTION_TIMING
1464
- *
1465
- * @param prompt
1466
- * @param timedEventHash
1326
+ * @param textDatabase
1327
+ * @returns
1467
1328
  */
1468
- static uiPromptSetStandardizedHoldMode(prompt: number, timedEventHash: string | number): void {
1469
- inv<void>('0x74C7D7B72ED0D3CF', prompt, _h(timedEventHash));
1329
+ static doesTextBlockExist(textDatabase: string | null): any {
1330
+ return inv<number>('0x2C729F2B94CEA911', textDatabase);
1470
1331
  }
1471
1332
 
1472
1333
  /**
1473
- * @param modelHash
1334
+ * @param p0
1335
+ * @param p1
1474
1336
  * @returns
1475
1337
  */
1476
- static isNamedRendertargetLinked(modelHash: string | number): boolean {
1477
- return inv<boolean>('0x707032835FF09AE7', _h(modelHash), rai());
1338
+ static journalGetEntryInfo(p0: any, p1: any): any {
1339
+ return inv<number>('0x5514C3E60673530F', p0, p1);
1478
1340
  }
1479
1341
 
1480
1342
  /**
1481
- * @param prompt
1482
- * @returns
1343
+ * @param p0
1483
1344
  */
1484
- static uiPromptWasBeatModePressedInTimeWindow(prompt: number): boolean {
1485
- return inv<boolean>('0x1FE4788AB1430C55', prompt, rai());
1345
+ static N_0x3FE4FB41EF7D2196(p0: any): void {
1346
+ inv<void>('0x3FE4FB41EF7D2196', p0);
1486
1347
  }
1487
1348
 
1488
1349
  /**
1489
- * @returns
1350
+ * colorNameHash: https://alloc8or.re/rdr3/doc/enums/eColor.txt
1351
+ *
1352
+ * @param colorNameHash
1353
+ * @returns red; green; blue; alpha
1490
1354
  */
1491
- static isHudHidden(): boolean {
1492
- return inv<boolean>('0x71B72B478F8189DC', rai());
1355
+ static getColorFromName(colorNameHash: string | number): [number, number, number, number] {
1356
+ const result = inv<[number, number, number, number]>('0xB981DD2DFAF9B1C9', _h(colorNameHash), pvi(), pvi(), pvi(), pvi());
1357
+ return [result[0], result[1], result[2], result[3]];
1493
1358
  }
1494
1359
 
1495
1360
  /**
1496
- * @param p0
1497
- * @param p1
1498
- * @returns
1361
+ * visibility:
1362
+ * enum eUIGamertagVisibility
1363
+ * {
1364
+ * UIGAMERTAGVISIBILITY_NONE,
1365
+ * UIGAMERTAGVISIBILITY_ICON,
1366
+ * UIGAMERTAGVISIBILITY_SIMPLE,
1367
+ * UIGAMERTAGVISIBILITY_COMPLEX
1368
+ * };
1369
+ *
1370
+ * @param gamerTagId
1371
+ * @param visibility
1499
1372
  */
1500
- static N_0x100157D6D7FE32CA(p0: any, p1: any): any {
1501
- return inv<number>('0x100157D6D7FE32CA', p0, p1);
1373
+ static setMpGamerTagVisibility(gamerTagId: number, visibility: number): void {
1374
+ inv<void>('0x93171DDDAB274EB8', gamerTagId, visibility);
1375
+ }
1376
+
1377
+ /**
1378
+ * @param component
1379
+ */
1380
+ static enableHudContextThisFrame(component: string | number): void {
1381
+ inv<void>('0xC9CAEAEEC1256E54', _h(component));
1502
1382
  }
1503
1383
 
1504
1384
  /**
@@ -1645,4 +1525,124 @@ export class Hud {
1645
1525
  inv<void>('0x6095358C4142932A', id);
1646
1526
  }
1647
1527
 
1528
+ /**
1529
+ * TM_ANY = 0,
1530
+ * TM_ON_FOOT,
1531
+ * TM_IN_VEHICLE
1532
+ *
1533
+ * @param prompt
1534
+ * @param mode
1535
+ */
1536
+ static uiPromptSetTransportMode(prompt: number, mode: number): void {
1537
+ inv<void>('0x876E4A35C73A6655', prompt, mode);
1538
+ }
1539
+
1540
+ /**
1541
+ * @returns
1542
+ */
1543
+ static uiPromptRegisterBegin(): number {
1544
+ return inv<number>('0x04F97DE45A519419', rai());
1545
+ }
1546
+
1547
+ /**
1548
+ * This returns an id that can be used with 0x6095358C4142932A.
1549
+ *
1550
+ * @returns
1551
+ */
1552
+ static uiPromptSetRegisterHorizontalOrientation(): number {
1553
+ return inv<number>('0xD9459157EB22C895', rai());
1554
+ }
1555
+
1556
+ /**
1557
+ * @param prompt
1558
+ * @returns
1559
+ */
1560
+ static uiPromptHasPressedTimedModeCompleted(prompt: number): any {
1561
+ return inv<number>('0x3CE854D250A88DAF', prompt);
1562
+ }
1563
+
1564
+ /**
1565
+ * @param p0
1566
+ * @param p1
1567
+ */
1568
+ static uiMovieviewSetRenderTarget(p0: any, p1: any): void {
1569
+ inv<void>('0x51DE09A2196BD951', p0, p1);
1570
+ }
1571
+
1572
+ /**
1573
+ * @param p0
1574
+ * @returns
1575
+ */
1576
+ static journalGetEntryAtIndex(p0: any): any {
1577
+ return inv<number>('0x3D16ABD7A1FD8C96', p0);
1578
+ }
1579
+
1580
+ /**
1581
+ * Attaches a Volume
1582
+ *
1583
+ * @param prompt
1584
+ * @param volume
1585
+ */
1586
+ static uiPromptContextSetVolume(prompt: number, volume: Volume): void {
1587
+ inv<void>('0x4D107406667423BE', prompt, volume.handle);
1588
+ }
1589
+
1590
+ /**
1591
+ * Params: p1 is 0
1592
+ *
1593
+ * @param prompt
1594
+ * @param p1
1595
+ * @returns
1596
+ */
1597
+ static uiPromptHasStandardModeCompleted(prompt: number, p1: number): boolean {
1598
+ return inv<boolean>('0xC92AC953F0A982AE', prompt, p1, rai());
1599
+ }
1600
+
1601
+ /**
1602
+ * @param prompt
1603
+ * @returns
1604
+ */
1605
+ static uiPromptIsValid(prompt: number): boolean {
1606
+ return inv<boolean>('0x347469FBDD1589A9', prompt, rai());
1607
+ }
1608
+
1609
+ /**
1610
+ * If Hud should be displayed
1611
+ *
1612
+ * @param toggle
1613
+ */
1614
+ static displayHud(toggle: boolean): void {
1615
+ inv<void>('0xD63FE3AF9FB3D53F', toggle);
1616
+ }
1617
+
1618
+ /**
1619
+ * @returns
1620
+ */
1621
+ static isRadarHidden(): boolean {
1622
+ return inv<boolean>('0x1B82FD5FFA4D666E', rai());
1623
+ }
1624
+
1625
+ /**
1626
+ * @param gamerTagId
1627
+ */
1628
+ static removeMpGamerTag(gamerTagId: number): void {
1629
+ inv<void>('0x839BFD7D7E49FE09', gamerTagId);
1630
+ }
1631
+
1632
+ /**
1633
+ * @param prompt
1634
+ * @param action
1635
+ */
1636
+ static uiPromptSetAllowedAction(prompt: number, action: string | number): void {
1637
+ inv<void>('0x565C1CE183CB0EAF', prompt, _h(action));
1638
+ }
1639
+
1640
+ /**
1641
+ * @param p0
1642
+ * @param name
1643
+ */
1644
+ static setMissionName(p0: boolean, name: string | null): void {
1645
+ inv<void>('0x402669A4BDAA72DA', p0, name);
1646
+ }
1647
+
1648
1648
  }