@nativewrappers/redm-codegen 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (313) hide show
  1. package/dist/classes/AnimScene.d.ts +135 -135
  2. package/dist/classes/AnimScene.d.ts.map +1 -1
  3. package/dist/classes/AnimScene.js +208 -208
  4. package/dist/classes/BaseModel.d.ts +21 -21
  5. package/dist/classes/BaseModel.d.ts.map +1 -1
  6. package/dist/classes/BaseModel.js +33 -33
  7. package/dist/classes/BaseTask.d.ts +23 -23
  8. package/dist/classes/BaseTask.d.ts.map +1 -1
  9. package/dist/classes/BaseTask.js +27 -27
  10. package/dist/classes/Cam.d.ts +98 -98
  11. package/dist/classes/Cam.d.ts.map +1 -1
  12. package/dist/classes/Cam.js +134 -134
  13. package/dist/classes/Entity.d.ts +385 -380
  14. package/dist/classes/Entity.d.ts.map +1 -1
  15. package/dist/classes/Entity.js +498 -489
  16. package/dist/classes/Interior.d.ts +5 -5
  17. package/dist/classes/Interior.d.ts.map +1 -1
  18. package/dist/classes/Interior.js +8 -8
  19. package/dist/classes/ItemSet.d.ts +2 -2
  20. package/dist/classes/ItemSet.d.ts.map +1 -1
  21. package/dist/classes/ItemSet.js +3 -3
  22. package/dist/classes/Ped.d.ts +336 -336
  23. package/dist/classes/Ped.d.ts.map +1 -1
  24. package/dist/classes/Ped.js +495 -495
  25. package/dist/classes/PedModel.d.ts +1 -1
  26. package/dist/classes/PedModel.d.ts.map +1 -1
  27. package/dist/classes/PedModel.js +2 -2
  28. package/dist/classes/PedTask.d.ts +255 -255
  29. package/dist/classes/PedTask.d.ts.map +1 -1
  30. package/dist/classes/PedTask.js +345 -345
  31. package/dist/classes/PersChar.d.ts +13 -13
  32. package/dist/classes/PersChar.d.ts.map +1 -1
  33. package/dist/classes/PersChar.js +29 -29
  34. package/dist/classes/Pickup.d.ts +8 -8
  35. package/dist/classes/Pickup.d.ts.map +1 -1
  36. package/dist/classes/Pickup.js +15 -15
  37. package/dist/classes/Player.d.ts +713 -709
  38. package/dist/classes/Player.d.ts.map +1 -1
  39. package/dist/classes/Player.js +979 -973
  40. package/dist/classes/Prop.d.ts +115 -115
  41. package/dist/classes/Prop.d.ts.map +1 -1
  42. package/dist/classes/Prop.js +160 -160
  43. package/dist/classes/PropSet.d.ts +5 -5
  44. package/dist/classes/PropSet.d.ts.map +1 -1
  45. package/dist/classes/PropSet.js +6 -6
  46. package/dist/classes/Vehicle.d.ts +122 -122
  47. package/dist/classes/Vehicle.d.ts.map +1 -1
  48. package/dist/classes/Vehicle.js +147 -147
  49. package/dist/classes/VehicleModel.d.ts +1 -1
  50. package/dist/classes/VehicleModel.d.ts.map +1 -1
  51. package/dist/classes/VehicleModel.js +2 -2
  52. package/dist/classes/VehicleTask.d.ts +9 -9
  53. package/dist/classes/VehicleTask.d.ts.map +1 -1
  54. package/dist/classes/VehicleTask.js +12 -12
  55. package/dist/classes/Volume.d.ts +56 -56
  56. package/dist/classes/Volume.d.ts.map +1 -1
  57. package/dist/classes/Volume.js +84 -84
  58. package/dist/classes/Weapon.d.ts +354 -354
  59. package/dist/classes/Weapon.d.ts.map +1 -1
  60. package/dist/classes/Weapon.js +464 -464
  61. package/dist/namespaces/Aicoverpoint.d.ts +23 -23
  62. package/dist/namespaces/Aicoverpoint.d.ts.map +1 -1
  63. package/dist/namespaces/Aicoverpoint.js +35 -35
  64. package/dist/namespaces/Aitransport.d.ts +78 -78
  65. package/dist/namespaces/Aitransport.d.ts.map +1 -1
  66. package/dist/namespaces/Aitransport.js +95 -95
  67. package/dist/namespaces/Animscene.d.ts +49 -49
  68. package/dist/namespaces/Animscene.d.ts.map +1 -1
  69. package/dist/namespaces/Animscene.js +67 -67
  70. package/dist/namespaces/Audio.d.ts +447 -447
  71. package/dist/namespaces/Audio.d.ts.map +1 -1
  72. package/dist/namespaces/Audio.js +635 -635
  73. package/dist/namespaces/CamStatics.d.ts +441 -441
  74. package/dist/namespaces/CamStatics.d.ts.map +1 -1
  75. package/dist/namespaces/CamStatics.js +675 -675
  76. package/dist/namespaces/Collection.d.ts +6 -6
  77. package/dist/namespaces/Collection.d.ts.map +1 -1
  78. package/dist/namespaces/Collection.js +11 -11
  79. package/dist/namespaces/Companion.d.ts +22 -22
  80. package/dist/namespaces/Companion.d.ts.map +1 -1
  81. package/dist/namespaces/Companion.js +30 -30
  82. package/dist/namespaces/Compapp.js +1 -1
  83. package/dist/namespaces/Compendium.d.ts +82 -82
  84. package/dist/namespaces/Compendium.d.ts.map +1 -1
  85. package/dist/namespaces/Compendium.js +115 -115
  86. package/dist/namespaces/Crashlog.js +9 -9
  87. package/dist/namespaces/Crew.js +4 -4
  88. package/dist/namespaces/Databinding.d.ts +164 -164
  89. package/dist/namespaces/Databinding.d.ts.map +1 -1
  90. package/dist/namespaces/Databinding.js +232 -232
  91. package/dist/namespaces/Datafile.js +4 -4
  92. package/dist/namespaces/Decorator.d.ts +19 -19
  93. package/dist/namespaces/Decorator.d.ts.map +1 -1
  94. package/dist/namespaces/Decorator.js +34 -34
  95. package/dist/namespaces/Dlc.d.ts +5 -5
  96. package/dist/namespaces/Dlc.d.ts.map +1 -1
  97. package/dist/namespaces/Dlc.js +9 -9
  98. package/dist/namespaces/EntityStatics.d.ts +119 -119
  99. package/dist/namespaces/EntityStatics.d.ts.map +1 -1
  100. package/dist/namespaces/EntityStatics.js +164 -164
  101. package/dist/namespaces/Event.js +4 -4
  102. package/dist/namespaces/Fire.d.ts +89 -89
  103. package/dist/namespaces/Fire.d.ts.map +1 -1
  104. package/dist/namespaces/Fire.js +115 -115
  105. package/dist/namespaces/Flock.js +2 -2
  106. package/dist/namespaces/Gang.js +2 -2
  107. package/dist/namespaces/GoogleAnalytics.js +2 -2
  108. package/dist/namespaces/Graphics.d.ts +375 -375
  109. package/dist/namespaces/Graphics.d.ts.map +1 -1
  110. package/dist/namespaces/Graphics.js +569 -569
  111. package/dist/namespaces/Hud.d.ts +507 -507
  112. package/dist/namespaces/Hud.d.ts.map +1 -1
  113. package/dist/namespaces/Hud.js +706 -706
  114. package/dist/namespaces/Ik.js +1 -1
  115. package/dist/namespaces/Interaction.js +3 -3
  116. package/dist/namespaces/InteriorStatics.js +2 -2
  117. package/dist/namespaces/Inventory.d.ts +159 -159
  118. package/dist/namespaces/Inventory.d.ts.map +1 -1
  119. package/dist/namespaces/Inventory.js +214 -214
  120. package/dist/namespaces/Itemdatabase.d.ts +5 -5
  121. package/dist/namespaces/Itemdatabase.d.ts.map +1 -1
  122. package/dist/namespaces/Itemdatabase.js +10 -10
  123. package/dist/namespaces/Itemset.js +2 -2
  124. package/dist/namespaces/Law.d.ts +1 -1
  125. package/dist/namespaces/Law.d.ts.map +1 -1
  126. package/dist/namespaces/Law.js +19 -19
  127. package/dist/namespaces/Localization.js +1 -1
  128. package/dist/namespaces/Map.d.ts +173 -173
  129. package/dist/namespaces/Map.d.ts.map +1 -1
  130. package/dist/namespaces/Map.js +240 -240
  131. package/dist/namespaces/Minigame.d.ts +17 -17
  132. package/dist/namespaces/Minigame.d.ts.map +1 -1
  133. package/dist/namespaces/Minigame.js +25 -25
  134. package/dist/namespaces/Misc.d.ts +3 -3
  135. package/dist/namespaces/Misc.d.ts.map +1 -1
  136. package/dist/namespaces/Misc.js +35 -35
  137. package/dist/namespaces/Missiondata.d.ts +15 -15
  138. package/dist/namespaces/Missiondata.d.ts.map +1 -1
  139. package/dist/namespaces/Missiondata.js +24 -24
  140. package/dist/namespaces/Money.js +3 -3
  141. package/dist/namespaces/Netshopping.d.ts +58 -58
  142. package/dist/namespaces/Netshopping.d.ts.map +1 -1
  143. package/dist/namespaces/Netshopping.js +89 -89
  144. package/dist/namespaces/Network.d.ts +694 -694
  145. package/dist/namespaces/Network.d.ts.map +1 -1
  146. package/dist/namespaces/Network.js +1129 -1129
  147. package/dist/namespaces/Object.d.ts +142 -142
  148. package/dist/namespaces/Object.d.ts.map +1 -1
  149. package/dist/namespaces/Object.js +195 -195
  150. package/dist/namespaces/Pad.d.ts +101 -101
  151. package/dist/namespaces/Pad.d.ts.map +1 -1
  152. package/dist/namespaces/Pad.js +142 -142
  153. package/dist/namespaces/Pathfind.js +10 -10
  154. package/dist/namespaces/PedStatics.d.ts +20 -20
  155. package/dist/namespaces/PedStatics.d.ts.map +1 -1
  156. package/dist/namespaces/PedStatics.js +36 -36
  157. package/dist/namespaces/Perschar.d.ts +49 -49
  158. package/dist/namespaces/Perschar.d.ts.map +1 -1
  159. package/dist/namespaces/Perschar.js +76 -76
  160. package/dist/namespaces/Physics.d.ts +89 -89
  161. package/dist/namespaces/Physics.d.ts.map +1 -1
  162. package/dist/namespaces/Physics.js +125 -125
  163. package/dist/namespaces/PlayerStatics.d.ts +139 -139
  164. package/dist/namespaces/PlayerStatics.d.ts.map +1 -1
  165. package/dist/namespaces/PlayerStatics.js +200 -200
  166. package/dist/namespaces/Population.d.ts +75 -75
  167. package/dist/namespaces/Population.d.ts.map +1 -1
  168. package/dist/namespaces/Population.js +101 -101
  169. package/dist/namespaces/Posse.d.ts +54 -54
  170. package/dist/namespaces/Posse.d.ts.map +1 -1
  171. package/dist/namespaces/Posse.js +86 -86
  172. package/dist/namespaces/Replay.d.ts +1 -1
  173. package/dist/namespaces/Replay.d.ts.map +1 -1
  174. package/dist/namespaces/Replay.js +2 -2
  175. package/dist/namespaces/Scripts.d.ts +1 -1
  176. package/dist/namespaces/Scripts.d.ts.map +1 -1
  177. package/dist/namespaces/Scripts.js +12 -12
  178. package/dist/namespaces/Socialclub.js +8 -8
  179. package/dist/namespaces/Socialclubfeed.js +1 -1
  180. package/dist/namespaces/Spactionproxy.js +4 -4
  181. package/dist/namespaces/Stats.d.ts +197 -197
  182. package/dist/namespaces/Stats.d.ts.map +1 -1
  183. package/dist/namespaces/Stats.js +285 -285
  184. package/dist/namespaces/Streaming.d.ts +46 -46
  185. package/dist/namespaces/Streaming.d.ts.map +1 -1
  186. package/dist/namespaces/Streaming.js +79 -79
  187. package/dist/namespaces/Task.d.ts +138 -138
  188. package/dist/namespaces/Task.d.ts.map +1 -1
  189. package/dist/namespaces/Task.js +204 -204
  190. package/dist/namespaces/Telemetry.d.ts +212 -212
  191. package/dist/namespaces/Telemetry.d.ts.map +1 -1
  192. package/dist/namespaces/Telemetry.js +308 -308
  193. package/dist/namespaces/Txd.js +1 -1
  194. package/dist/namespaces/Uiapps.d.ts +25 -25
  195. package/dist/namespaces/Uiapps.d.ts.map +1 -1
  196. package/dist/namespaces/Uiapps.js +36 -36
  197. package/dist/namespaces/Uievents.js +1 -1
  198. package/dist/namespaces/Uifeed.d.ts +15 -15
  199. package/dist/namespaces/Uifeed.d.ts.map +1 -1
  200. package/dist/namespaces/Uifeed.js +25 -25
  201. package/dist/namespaces/Uistickyfeed.d.ts +16 -16
  202. package/dist/namespaces/Uistickyfeed.d.ts.map +1 -1
  203. package/dist/namespaces/Uistickyfeed.js +21 -21
  204. package/dist/namespaces/Unlock.js +5 -5
  205. package/dist/namespaces/VehicleStatics.js +12 -12
  206. package/dist/namespaces/Voice.d.ts +38 -38
  207. package/dist/namespaces/Voice.d.ts.map +1 -1
  208. package/dist/namespaces/Voice.js +61 -61
  209. package/dist/namespaces/VolumeStatics.d.ts +161 -161
  210. package/dist/namespaces/VolumeStatics.d.ts.map +1 -1
  211. package/dist/namespaces/VolumeStatics.js +217 -217
  212. package/dist/namespaces/Water.d.ts +27 -27
  213. package/dist/namespaces/Water.d.ts.map +1 -1
  214. package/dist/namespaces/Water.js +41 -41
  215. package/dist/namespaces/WeaponStatics.d.ts +274 -274
  216. package/dist/namespaces/WeaponStatics.d.ts.map +1 -1
  217. package/dist/namespaces/WeaponStatics.js +390 -390
  218. package/dist/namespaces/Zone.d.ts +7 -7
  219. package/dist/namespaces/Zone.d.ts.map +1 -1
  220. package/dist/namespaces/Zone.js +9 -9
  221. package/dist/types/NativeAliases.d.ts +3 -1
  222. package/dist/types/NativeAliases.d.ts.map +1 -1
  223. package/dist/types/NativeAliases.js +3 -1
  224. package/package.json +1 -1
  225. package/src/classes/AnimScene.ts +227 -227
  226. package/src/classes/BaseModel.ts +36 -36
  227. package/src/classes/BaseTask.ts +29 -29
  228. package/src/classes/Cam.ts +143 -143
  229. package/src/classes/Entity.ts +517 -506
  230. package/src/classes/Interior.ts +8 -8
  231. package/src/classes/ItemSet.ts +3 -3
  232. package/src/classes/Ped.ts +512 -512
  233. package/src/classes/PedModel.ts +2 -2
  234. package/src/classes/PedTask.ts +429 -429
  235. package/src/classes/PersChar.ts +35 -35
  236. package/src/classes/Pickup.ts +16 -16
  237. package/src/classes/Player.ts +995 -988
  238. package/src/classes/Prop.ts +177 -177
  239. package/src/classes/PropSet.ts +6 -6
  240. package/src/classes/Vehicle.ts +147 -147
  241. package/src/classes/VehicleModel.ts +2 -2
  242. package/src/classes/VehicleTask.ts +13 -13
  243. package/src/classes/Volume.ts +91 -91
  244. package/src/classes/Weapon.ts +489 -489
  245. package/src/namespaces/Aicoverpoint.ts +40 -40
  246. package/src/namespaces/Aitransport.ts +104 -104
  247. package/src/namespaces/Animscene.ts +74 -74
  248. package/src/namespaces/Audio.ts +647 -647
  249. package/src/namespaces/CamStatics.ts +768 -768
  250. package/src/namespaces/Collection.ts +12 -12
  251. package/src/namespaces/Companion.ts +34 -34
  252. package/src/namespaces/Compapp.ts +1 -1
  253. package/src/namespaces/Compendium.ts +120 -120
  254. package/src/namespaces/Crashlog.ts +9 -9
  255. package/src/namespaces/Crew.ts +4 -4
  256. package/src/namespaces/Databinding.ts +249 -249
  257. package/src/namespaces/Datafile.ts +4 -4
  258. package/src/namespaces/Decorator.ts +37 -37
  259. package/src/namespaces/Dlc.ts +9 -9
  260. package/src/namespaces/EntityStatics.ts +172 -172
  261. package/src/namespaces/Event.ts +4 -4
  262. package/src/namespaces/Fire.ts +127 -127
  263. package/src/namespaces/Flock.ts +2 -2
  264. package/src/namespaces/Gang.ts +2 -2
  265. package/src/namespaces/GoogleAnalytics.ts +2 -2
  266. package/src/namespaces/Graphics.ts +583 -583
  267. package/src/namespaces/Hud.ts +741 -741
  268. package/src/namespaces/Ik.ts +1 -1
  269. package/src/namespaces/Interaction.ts +3 -3
  270. package/src/namespaces/InteriorStatics.ts +2 -2
  271. package/src/namespaces/Inventory.ts +236 -236
  272. package/src/namespaces/Itemdatabase.ts +11 -11
  273. package/src/namespaces/Itemset.ts +2 -2
  274. package/src/namespaces/Law.ts +20 -20
  275. package/src/namespaces/Localization.ts +1 -1
  276. package/src/namespaces/Map.ts +256 -256
  277. package/src/namespaces/Minigame.ts +29 -29
  278. package/src/namespaces/Misc.ts +38 -38
  279. package/src/namespaces/Missiondata.ts +28 -28
  280. package/src/namespaces/Money.ts +3 -3
  281. package/src/namespaces/Netshopping.ts +99 -99
  282. package/src/namespaces/Network.ts +1165 -1165
  283. package/src/namespaces/Object.ts +214 -214
  284. package/src/namespaces/Pad.ts +150 -150
  285. package/src/namespaces/Pathfind.ts +10 -10
  286. package/src/namespaces/PedStatics.ts +42 -42
  287. package/src/namespaces/Perschar.ts +78 -78
  288. package/src/namespaces/Physics.ts +141 -141
  289. package/src/namespaces/PlayerStatics.ts +228 -228
  290. package/src/namespaces/Population.ts +114 -114
  291. package/src/namespaces/Posse.ts +87 -87
  292. package/src/namespaces/Replay.ts +3 -3
  293. package/src/namespaces/Scripts.ts +13 -13
  294. package/src/namespaces/Socialclub.ts +8 -8
  295. package/src/namespaces/Socialclubfeed.ts +1 -1
  296. package/src/namespaces/Spactionproxy.ts +4 -4
  297. package/src/namespaces/Stats.ts +293 -293
  298. package/src/namespaces/Streaming.ts +93 -93
  299. package/src/namespaces/Task.ts +228 -228
  300. package/src/namespaces/Telemetry.ts +322 -322
  301. package/src/namespaces/Txd.ts +1 -1
  302. package/src/namespaces/Uiapps.ts +43 -43
  303. package/src/namespaces/Uievents.ts +1 -1
  304. package/src/namespaces/Uifeed.ts +28 -28
  305. package/src/namespaces/Uistickyfeed.ts +23 -23
  306. package/src/namespaces/Unlock.ts +5 -5
  307. package/src/namespaces/VehicleStatics.ts +12 -12
  308. package/src/namespaces/Voice.ts +70 -70
  309. package/src/namespaces/VolumeStatics.ts +222 -222
  310. package/src/namespaces/Water.ts +47 -47
  311. package/src/namespaces/WeaponStatics.ts +402 -402
  312. package/src/namespaces/Zone.ts +10 -10
  313. package/src/types/NativeAliases.ts +6 -1
@@ -12,276 +12,146 @@ import { inv, rai, raf, ras, rav, pvi, pvf, pvv, pvii, pvfi, _h, f } from '../ty
12
12
 
13
13
  export class Hud {
14
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
15
+ * For startProgress, 0.0f - 1.0f is a percentage value, so 0.5f = 50% progress. Range: 0.0f - 1.0f
16
+ * 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.
32
17
  *
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
18
  * @param prompt
42
- * @returns
43
- */
44
- static uiPromptIsReleased(prompt: number): boolean {
45
- return inv<boolean>('0xAFC887BA7A7756D6', prompt, rai());
46
- }
47
-
48
- /**
49
- * @param active
19
+ * @param mashes
20
+ * @param decreaseSpeed
21
+ * @param startProgress
50
22
  */
51
- static setFrontendActive(active: boolean): void {
52
- inv<void>('0xCE47C21C0687EBC2', active);
23
+ static uiPromptSetMashWithResistanceCanFailMode(prompt: number, mashes: number, decreaseSpeed: number, startProgress: number): void {
24
+ inv<void>('0xDC0CB602DEADBA53', prompt, mashes, f(decreaseSpeed), f(startProgress));
53
25
  }
54
26
 
55
27
  /**
56
- * @param name
28
+ * @param prompt
57
29
  * @param p1
58
- * @returns
30
+ * @param p2
59
31
  */
60
- static registerNamedRendertarget(name: string | null, p1: boolean): boolean {
61
- return inv<boolean>('0x98AF2BB6F62BD588', name, p1, rai());
32
+ static uiPromptSetTargetModeTarget(prompt: number, p1: number, p2: number): void {
33
+ inv<void>('0x5E019C45DD3B6A14', prompt, f(p1), f(p2));
62
34
  }
63
35
 
64
36
  /**
65
37
  * @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
38
  * @param p1
76
- * @returns
39
+ * @param p2
40
+ * @param p3
41
+ * @param p4
77
42
  */
78
- static N_0xF1AD3DD218E6558A(p0: any, p1: any): any {
79
- return inv<number>('0xF1AD3DD218E6558A', p0, p1);
43
+ static uiPromptSetMashManualCanFailMode(prompt: number, p1: number, p2: number, p3: number, p4: any): void {
44
+ inv<void>('0x179DCF71F705DA20', prompt, f(p1), f(p2), f(p3), p4);
80
45
  }
81
46
 
82
47
  /**
83
- * Used for controllers
84
- *
85
48
  * @param prompt
86
49
  * @param p1
87
- * @param counterclockwise
50
+ * @param p2
51
+ * @param p3
88
52
  */
89
- static uiPromptSetRotateMode(prompt: number, p1: number, counterclockwise: boolean): void {
90
- inv<void>('0x7ABE7095FB3D2581', prompt, f(p1), counterclockwise);
53
+ static uiPromptSetTargetMode(prompt: number, p1: number, p2: number, p3: any): void {
54
+ inv<void>('0x5F6503D9CD2754EB', prompt, f(p1), f(p2), p3);
91
55
  }
92
56
 
93
57
  /**
94
- * Found types: GENERIC_PLAYER, DEADDROP, HOTPROPERTY, MINIGAMES
95
- *
96
- * @param gamerTagId
97
- * @param type
58
+ * @param prompt
59
+ * @param autoFillTimeMs
60
+ * @param mashes
98
61
  */
99
- static setMpGamerTagType(gamerTagId: number, type: string | number): void {
100
- inv<void>('0x25B9C78A25105C35', gamerTagId, _h(type));
62
+ static uiPromptSetMashAutoFillMode(prompt: number, autoFillTimeMs: number, mashes: number): void {
63
+ inv<void>('0x6C39587D7CC66801', prompt, autoFillTimeMs, mashes);
101
64
  }
102
65
 
103
66
  /**
104
67
  * @param prompt
105
- * @param action
106
- * @returns
68
+ * @param toggle
107
69
  */
108
- static uiPromptSetControlAction(prompt: number, action: string | number): any {
109
- return inv<number>('0xB5352B7494A08258', prompt, _h(action));
70
+ static uiPromptSetBeatMode(prompt: number, toggle: boolean): void {
71
+ inv<void>('0xF957A1654C6322FE', prompt, toggle);
110
72
  }
111
73
 
112
74
  /**
113
- * https://github.com/femga/rdr3_discoveries/tree/master/graphics/HUD/hud_presets
114
- * Old name: _HIDE_HUD_COMPONENT
75
+ * Similar to 0x9D7E12EC6A1EE4E5(GET_TEXT_SUBSTRING) but starts at the beginning of the string
115
76
  *
116
- * @param component
117
- */
118
- static enableHudContext(component: string | number): void {
119
- inv<void>('0x4CC5F2FC1332577F', _h(component));
120
- }
121
-
122
- /**
123
- * @param prompt
77
+ * @param text
78
+ * @param length
124
79
  * @returns
125
80
  */
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);
81
+ static getTextSubstring2(text: string | null, length: number): string | null {
82
+ return inv<string>('0xD8402B858F4DDD88', text, length, ras());
150
83
  }
151
84
 
152
85
  /**
153
86
  * @param p0
154
- * @param name
155
- */
156
- static setMissionNameForUgcMission(p0: boolean, name: string | null): void {
157
- inv<void>('0xD98630CE73C61E98', p0, name);
158
- }
159
-
160
- /**
161
- * @returns
162
- */
163
- static busyspinnerIsOn(): boolean {
164
- return inv<boolean>('0x823BF7B1DF613A21', rai());
165
- }
166
-
167
- /**
168
87
  * @param prompt
169
- * @param p1
88
+ * @param p2
170
89
  */
171
- static uiPromptSetTag(prompt: number, p1: any): void {
172
- inv<void>('0xDEC85C174751292B', prompt, p1);
90
+ static uiPromptAddGroupLink(p0: any, prompt: number, p2: any): void {
91
+ inv<void>('0x684C96CC7C66E8EF', p0, prompt, p2);
173
92
  }
174
93
 
175
94
  /**
176
95
  * @param gamerTagId
177
- * @param string
178
- */
179
- static setMpGamerTagName(gamerTagId: number, string: string | null): void {
180
- inv<void>('0xEA6F4B8D4B4B5B3E', gamerTagId, string);
181
- }
182
-
183
- /**
184
- * @param prompt
185
- * @param progress
186
- */
187
- static uiPromptSetTargetModeProgress(prompt: number, progress: number): void {
188
- inv<void>('0x00123054BEC8A30F', prompt, f(progress));
189
- }
190
-
191
- /**
192
- * @param prompt
193
- */
194
- static uiPromptSetMashIndefinitelyMode(prompt: number): void {
195
- inv<void>('0x7B66E89312727274', prompt);
196
- }
197
-
198
- static uiPromptDisablePromptsThisFrame(): void {
199
- inv<void>('0xF1622CE88A1946FB');
200
- }
201
-
202
- /**
203
- * @param prompt
204
- * @param toggle
205
- */
206
- static uiPromptSetUrgentPulsingEnabled(prompt: number, toggle: boolean): void {
207
- inv<void>('0xC5F428EE08FA7F2C', prompt, toggle);
208
- }
209
-
210
- /**
211
- * Note: you must use VAR_STRING for p1 if string is not part of text database
212
- * tabAmount: specifies number of tabs in prompt group
213
- * tabDefaultIndex: specifies starting index
214
- * p3 if is set > 3 you can no longer press Q to change tab if there are more than one tab set in tabAmount
215
- *
216
- * @param hash
217
- * @param name
218
- * @param tabAmount
219
- * @param tabDefaultIndex
220
- * @param p4
221
- * @param prompt
222
- * @returns
223
96
  */
224
- static uiPromptSetActiveGroupThisFrame(hash: string | number, name: string | null, tabAmount: number, tabDefaultIndex: number, p4: number, prompt: number): any {
225
- return inv<number>('0xC65A45D4453C2627', _h(hash), name, tabAmount, tabDefaultIndex, p4, prompt);
97
+ static mpGamerTagEnableReviveTopIcon(gamerTagId: number): void {
98
+ inv<void>('0xFFF6579CF0139FCE', gamerTagId);
226
99
  }
227
100
 
228
101
  /**
229
102
  * @param p0
230
103
  * @param p1
231
- * @param p2
232
- * @returns
233
104
  */
234
- static journalGetTextureWithLayout(p0: any, p1: any, p2: any): any {
235
- return inv<number>('0x62CC549B3B8EA2AA', p0, p1, p2);
105
+ static N_0x8A59D44189AF2BC5(p0: any, p1: any): void {
106
+ inv<void>('0x8A59D44189AF2BC5', p0, p1);
236
107
  }
237
108
 
238
109
  /**
239
110
  * @param prompt
240
- * @returns
111
+ * @param p1
241
112
  */
242
- static uiPromptIsEnabled(prompt: number): any {
243
- return inv<number>('0x0D00EDDFB58B7F28', prompt);
113
+ static uiPromptSetOrderingAsInputType(prompt: number, p1: any): void {
114
+ inv<void>('0x2F385ECC5200938D', prompt, p1);
244
115
  }
245
116
 
246
117
  /**
247
- * @param prompt
248
- * @returns
118
+ * @param p0
249
119
  */
250
- static uiPromptGetUrgentPulsingEnabled(prompt: number): boolean {
251
- return inv<boolean>('0x1FBA0DABECDDB52B', prompt, rai());
120
+ static journalMarkRead(p0: any): void {
121
+ inv<void>('0xE4509BABE59BD24E', p0);
252
122
  }
253
123
 
254
124
  /**
255
- * @param scale
256
- * @param size
125
+ * @param gamerTagId
126
+ * @param entity
127
+ * @returns
257
128
  */
258
- static setTextScale(scale: number, size: number): void {
259
- inv<void>('0x4170B650590B3B00', f(scale), f(size));
129
+ static isMpGamerTagActiveOnEntity(gamerTagId: number, entity: Entity): any {
130
+ return inv<number>('0x502E1591A504F843', gamerTagId, entity.handle);
260
131
  }
261
132
 
262
133
  /**
263
- * Found icons: SPEAKER, THROPY
264
- *
265
134
  * @param gamerTagId
266
- * @param icon
135
+ * @param string
267
136
  */
268
- static setMpGamerTagSecondaryIcon(gamerTagId: number, icon: string | number): void {
269
- inv<void>('0x95384C6CE1526EFF', gamerTagId, _h(icon));
137
+ static setMpGamerTagBigText(gamerTagId: number, string: string | null): void {
138
+ inv<void>('0xA0D7CE5F83259663', gamerTagId, string);
270
139
  }
271
140
 
272
141
  /**
273
- * Disables reduced time scale while menus such as weapon wheel and satchel are open.
142
+ * @param prompt
143
+ * @param radius
274
144
  */
275
- static disableReducedMenuTimeScale(): void {
276
- inv<void>('0xC5C7A2F6567FCCBC');
145
+ static uiPromptContextSetRadius(prompt: number, radius: number): void {
146
+ inv<void>('0x0C718001B77CA468', prompt, f(radius));
277
147
  }
278
148
 
279
149
  /**
280
150
  * @param prompt
281
- * @param p1
151
+ * @param toggle
282
152
  */
283
- static uiPromptSetBeatModeGrayedOut(prompt: number, p1: any): void {
284
- inv<void>('0xB487A4936FBF40AC', prompt, p1);
153
+ static uiPromptSetVisible(prompt: number, toggle: boolean): void {
154
+ inv<void>('0x71215ACCFDE075EE', prompt, toggle);
285
155
  }
286
156
 
287
157
  /**
@@ -344,7 +214,7 @@ export class Hud {
344
214
  * @returns
345
215
  */
346
216
  static isNamedRendertargetRegistered(name: string | null): boolean {
347
- return inv<boolean>('0x3EE32F7964C40FE6', name, rai());
217
+ return !!inv<boolean>('0x3EE32F7964C40FE6', name, rai());
348
218
  }
349
219
 
350
220
  /**
@@ -414,1115 +284,1245 @@ export class Hud {
414
284
  }
415
285
 
416
286
  /**
417
- * @param p0
418
- * @returns
287
+ * @param modelHash
419
288
  */
420
- static N_0xD6BD313CFA41E57A(p0: any): any {
421
- return inv<number>('0xD6BD313CFA41E57A', p0);
289
+ static linkNamedRendertarget(modelHash: string | number): void {
290
+ inv<void>('0x2F506B8556242DDB', _h(modelHash));
422
291
  }
423
292
 
424
293
  /**
425
- * @returns
426
- */
427
- static isMultiplayerChatActive(): boolean {
428
- return inv<boolean>('0xBC19069D5FBB5C46', rai());
294
+ * Returns the label text given the hash. Old name: _GET_LABEL_TEXT_BY_HASH
295
+ *
296
+ * @param labelHash
297
+ * @returns
298
+ */
299
+ static getStringFromHashKey(labelHash: string | number): string | null {
300
+ return inv<string>('0xBD5DD5EAE2B6CE14', _h(labelHash), ras());
429
301
  }
430
302
 
431
- static disableFrontendThisFrame(): void {
432
- inv<void>('0x56CE42A528156A67');
303
+ /**
304
+ * @param textBlock
305
+ * @returns
306
+ */
307
+ static textBlockIsLoaded(textBlock: string | null): any {
308
+ return inv<number>('0xD0976CC34002DB57', textBlock);
433
309
  }
434
310
 
435
311
  /**
436
312
  * @param prompt
437
313
  * @returns
438
314
  */
439
- static uiPromptGetMashModeProgress(prompt: number): number {
440
- return inv<number>('0x8A9585293863B8A5', prompt, raf());
315
+ static uiPromptHasMashMode(prompt: number): any {
316
+ return inv<number>('0xCD072523791DDC1B', prompt);
441
317
  }
442
318
 
443
319
  /**
444
- * @param groupId
445
- * @param volume
446
- * @param p2
447
- * @param p3
448
- * @param p4
449
- * @param p5
320
+ * @param player
321
+ * @param username
322
+ * @param pointedClanTag
323
+ * @param isRockstarClan
324
+ * @param clanTag
325
+ * @param clanFlag
450
326
  * @returns
451
327
  */
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);
328
+ static createMpGamerTag(player: Player, username: string | null, pointedClanTag: boolean, isRockstarClan: boolean, clanTag: string | null, clanFlag: number): number {
329
+ return inv<number>('0xD877AF112AD2B41B', player.handle, username, pointedClanTag, isRockstarClan, clanTag, clanFlag, rai());
454
330
  }
455
331
 
456
332
  /**
457
- * @param entity
458
- * @returns
333
+ * @param state
459
334
  */
460
- static uiPromptGetGroupIdForTargetEntity(entity: Entity): number {
461
- return inv<number>('0xB796970BD125FCE8', entity.handle, rai());
335
+ static showPlayerCores(state: boolean): void {
336
+ inv<void>('0x50C803A4CD5932C5', state);
462
337
  }
463
338
 
464
339
  /**
465
- * Old name: _ALLOW_PAUSE_MENU_WHEN_DEAD_THIS_FRAME
340
+ * Params: p2 is 304000 in R* SP Script coachrobberies
341
+ *
342
+ * @param prompt
343
+ * @param holdTimeMs
466
344
  */
467
- static allowPauseWhenNotInStateOfPlayThisFrame(): void {
468
- inv<void>('0x30996422DF1EE561');
345
+ static uiPromptSetHoldMode(prompt: number, holdTimeMs: number): void {
346
+ inv<void>('0x94073D5CA3F16B7B', prompt, holdTimeMs);
469
347
  }
470
348
 
471
349
  /**
472
- * @param p0
473
- * @param p1
474
- * @returns
350
+ * @param prompt
475
351
  */
476
- static uiPromptGetGroupIdForScenarioPoint(p0: any, p1: number): number {
477
- return inv<number>('0xCB73D7521E7103F0', p0, p1, rai());
352
+ static uiPromptSetHoldIndefinitelyMode(prompt: number): void {
353
+ inv<void>('0xEA5CCF4EEB2F82D1', prompt);
354
+ }
355
+
356
+ static hideLoadingOnFadeThisFrame(): void {
357
+ inv<void>('0xEA600AABAF4B9084');
478
358
  }
479
359
 
480
360
  /**
481
- * nullsub, doesn't do anything
482
- *
483
361
  * @param gamerTagId
484
- * @param allow
362
+ * @param colour
485
363
  */
486
- static setMpGamerTagUnkAllowLocalized(gamerTagId: number, allow: boolean): void {
487
- inv<void>('0xEF7AB1A0E8C86170', gamerTagId, allow);
364
+ static setMpGamerTagColour(gamerTagId: number, colour: string | number): void {
365
+ inv<void>('0x84BD27DDF9575816', gamerTagId, _h(colour));
366
+ }
367
+
368
+ static N_0x160825DADF1B04B3(): void {
369
+ inv<void>('0x160825DADF1B04B3');
488
370
  }
489
371
 
490
372
  /**
491
- * @param ped
373
+ * @param prompt
374
+ * @param p1
375
+ * @param p2
376
+ * @param p3
377
+ * @param p4
492
378
  */
493
- static uiPromptSetPromptPriorityPreference(ped: Ped): void {
494
- inv<void>('0x530A428705BE5DEF', ped.handle);
379
+ static uiPromptSetMashManualMode(prompt: number, p1: number, p2: number, p3: number, p4: any): void {
380
+ inv<void>('0x32DF729D8BD3C1C6', prompt, f(p1), f(p2), f(p3), p4);
495
381
  }
496
382
 
497
383
  /**
498
- * @param textBlock
384
+ * attribute: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eUIPromptAttribute
385
+ *
386
+ * @param prompt
387
+ * @param attribute
388
+ * @param enabled
499
389
  */
500
- static textBlockDelete(textBlock: string | null): void {
501
- inv<void>('0xAA03F130A637D923', textBlock);
390
+ static uiPromptSetAttribute(prompt: number, attribute: number, enabled: boolean): void {
391
+ inv<void>('0x560E76D5E2E1803F', prompt, attribute, enabled);
502
392
  }
503
393
 
504
394
  /**
505
- * Returns true when either Pause Menu, a Frontend Menu, Online Policies menu or Social Club menu is active.
395
+ * priority: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/ePromptPriority
506
396
  *
507
- * @returns
397
+ * @param prompt
398
+ * @param priority
508
399
  */
509
- static isPauseMenuActive(): boolean {
510
- return inv<boolean>('0x535384D6067BA42E', rai());
400
+ static uiPromptSetPriority(prompt: number, priority: number): void {
401
+ inv<void>('0xCA24F528D0D16289', prompt, priority);
511
402
  }
512
403
 
513
404
  /**
514
- * @param controlAction
515
- * @returns
405
+ * https://github.com/femga/rdr3_discoveries/tree/master/graphics/HUD/prompts/prompt_types
406
+ *
407
+ * @param p0
516
408
  */
517
- static uiPromptIsControlActionActive(controlAction: string | number): any {
518
- return inv<number>('0x1BE19185B8AFE299', _h(controlAction));
409
+ static uiPromptEnablePromptTypeThisFrame(p0: number): void {
410
+ inv<void>('0x06565032897BA861', p0);
519
411
  }
520
412
 
521
413
  /**
522
- * @param textBlock
414
+ * Returns the length of the string passed (much like strlen).
415
+ *
416
+ * @param string
523
417
  * @returns
524
418
  */
525
- static textBlockIsStreamed(textBlock: string | null): any {
526
- return inv<number>('0x3CF96E16265B7DC8', textBlock);
419
+ static getLengthOfLiteralString(string: string | null): number {
420
+ return inv<number>('0x481FBF588B0B76DB', string, rai());
527
421
  }
528
422
 
529
423
  /**
530
- * @param worldX
531
- * @param worldY
532
- * @param worldZ
533
- * @returns screenX; screenY
424
+ * @param prompt
534
425
  */
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]];
426
+ static uiPromptRegisterEnd(prompt: number): void {
427
+ inv<void>('0xF7AA2696A22AD8B9', prompt);
538
428
  }
539
429
 
540
430
  /**
541
- * @param prompt
542
- * @returns
431
+ * nullsub, doesn't do anything
543
432
  */
544
- static uiPromptHasHoldMode(prompt: number): any {
545
- return inv<number>('0xB60C9F9ED47ABB76', prompt);
433
+ static N_0x2F7BB105144ACF30(): void {
434
+ inv<void>('0x2F7BB105144ACF30');
546
435
  }
547
436
 
548
437
  /**
549
- * @param prompt
550
- * @param p1
438
+ * Old name: _DISPLAY_HUD_COMPONENT
439
+ *
440
+ * @param component
551
441
  */
552
- static N_0x53CE46C01A089DA1(prompt: number, p1: boolean): void {
553
- inv<void>('0x53CE46C01A089DA1', prompt, p1);
442
+ static disableHudContext(component: string | number): void {
443
+ inv<void>('0x8BC7C1F929D07BF3', _h(component));
444
+ }
445
+
446
+ static forceCloseTextInputBox(): void {
447
+ inv<void>('0xFBBF5943E4C2C992');
554
448
  }
555
449
 
556
450
  /**
557
451
  * @param p0
558
452
  * @returns
559
453
  */
560
- static uiGetSceneUiobject(p0: any): any {
561
- return inv<number>('0xBE1067CD1C9570F6', p0);
454
+ static N_0x28AE29D909C8FDCE(p0: any): any {
455
+ return inv<number>('0x28AE29D909C8FDCE', p0);
562
456
  }
563
457
 
564
458
  /**
565
459
  * @param p0
566
- * @param p1
460
+ * @param prompt
567
461
  */
568
- static N_0x958278B97C4AFFD8(p0: any, p1: any): void {
569
- inv<void>('0x958278B97C4AFFD8', p0, p1);
462
+ static uiPromptAddGroupReturnLink(p0: any, prompt: number): void {
463
+ inv<void>('0x837972ED28159536', p0, prompt);
570
464
  }
571
465
 
572
466
  /**
467
+ * 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)
468
+ *
573
469
  * @param prompt
574
- * @returns
470
+ * @param type
575
471
  */
576
- static uiPromptGetProgress(prompt: number): number {
577
- return inv<number>('0x81801291806DBC50', prompt, raf());
472
+ static uiPromptSetType(prompt: number, type: number): void {
473
+ inv<void>('0xF4A5C4509BF923B1', prompt, type);
578
474
  }
579
475
 
580
476
  /**
581
- * @param prompt
582
- * @returns
477
+ * @param textBlock
583
478
  */
584
- static uiPromptIsPressed(prompt: number): boolean {
585
- return inv<boolean>('0x21E60E230086697F', prompt, rai());
479
+ static textBlockRequest(textBlock: string | null): void {
480
+ inv<void>('0xF66090013DE648D5', textBlock);
586
481
  }
587
482
 
588
483
  /**
589
- * Note: you must use VAR_STRING. Byte code very similar to TEXT_COMMAND_DISPLAY_TEXT in V
590
- * Old name: _GET_TEXT_SUBSTRING
484
+ * Checks if the passed gxt name exists in the game files.
591
485
  *
592
- * @param text
593
- * @param position
594
- * @param length
486
+ * @param label
595
487
  * @returns
596
488
  */
597
- static getCharacterFromAudioConversationFilename(text: string | null, position: number, length: number): string | null {
598
- return inv<string>('0x9D7E12EC6A1EE4E5', text, position, length, ras());
489
+ static doesTextLabelExist(label: string | null): boolean {
490
+ return !!inv<boolean>('0x73C258C68D6F55B6', label, rai());
599
491
  }
600
492
 
601
493
  /**
602
- * @param p0
603
- * @param p1
494
+ * @returns
604
495
  */
605
- static N_0x9D37EB5003E0F2CF(p0: any, p1: any): void {
606
- inv<void>('0x9D37EB5003E0F2CF', p0, p1);
607
- }
608
-
609
- static uiPromptClearPromptPriorityPreference(): void {
610
- inv<void>('0x51259AE5C72D4A1B');
496
+ static N_0x066725A9D52B3641(): any {
497
+ return inv<number>('0x066725A9D52B3641');
611
498
  }
612
499
 
613
500
  /**
501
+ * standard (prompt not held) rate: (1f / 128f)
502
+ * fast (prompt held) rate: (1f / 64f)
503
+ * punitive (been hit) rate: (1f / 128f)
504
+ *
614
505
  * @param prompt
615
- * @param depletionTimeMs
506
+ * @param rate
616
507
  */
617
- static uiPromptSetPressedTimedMode(prompt: number, depletionTimeMs: number): void {
618
- inv<void>('0x1473D3AF51D54276', prompt, depletionTimeMs);
508
+ static uiPromptSetMashManualModeIncreasePerPress(prompt: number, rate: number): void {
509
+ inv<void>('0xA0D1D79C6036A855', prompt, f(rate));
619
510
  }
620
511
 
621
512
  /**
622
513
  * @param prompt
623
- * @param toggle
514
+ * @param speed
624
515
  */
625
- static uiPromptSetEnabled(prompt: number, toggle: boolean): void {
626
- inv<void>('0x8A0FB4D03A630D21', prompt, toggle);
627
- }
628
-
629
- static uiPromptFilterClear(): void {
630
- inv<void>('0x6A2F820452017EA2');
516
+ static uiPromptSetMashManualModePressedGrowthSpeed(prompt: number, speed: number): void {
517
+ inv<void>('0x56DBB26F98582C29', prompt, f(speed));
631
518
  }
632
519
 
633
520
  /**
634
- * tabIndex: specifies tab of prompt
635
- *
636
- * @param prompt
637
- * @param groupId
638
- * @param tabIndex
521
+ * @param string
522
+ * @returns
639
523
  */
640
- static uiPromptSetGroup(prompt: number, groupId: number, tabIndex: number): void {
641
- inv<void>('0x2F11D3A254169EA4', prompt, groupId, tabIndex);
524
+ static getLengthOfLiteralStringInBytes(string: string | null): number {
525
+ return inv<number>('0xDC5AD6B7AB8184F5', string, rai());
642
526
  }
643
527
 
644
528
  /**
645
- * @param text
529
+ * @param name
530
+ * @returns
646
531
  */
647
- static busyspinnerSetText(text: string | null): void {
648
- inv<void>('0x7F78CD75CC4539E4', text);
532
+ static releaseNamedRendertarget(name: string | null): boolean {
533
+ return !!inv<boolean>('0x0E692EE61761361F', name, rai());
649
534
  }
650
535
 
651
536
  /**
652
- * Returns the hash of the currently highlighted item in the weapon wheel.
653
- * Only works while the wheel is open will return false Use in conjunction with IS_CONTROL_JUST_RELEASED(0, 'INPUT_OPEN_WHEEL_MENU') to detect item selection/usage.
654
- *
537
+ * @param textDatabase
655
538
  * @returns
656
539
  */
657
- static weaponWheelGetSelectedItemHash(): any {
658
- return inv<number>('0x9C409BBC492CB5B1');
540
+ static doesTextBlockExist(textDatabase: string | null): any {
541
+ return inv<number>('0x2C729F2B94CEA911', textDatabase);
659
542
  }
660
543
 
661
544
  /**
545
+ * @param p0
546
+ * @param p1
662
547
  * @returns
663
548
  */
664
- static isRadarPreferenceSwitchedOn(): boolean {
665
- return inv<boolean>('0x81E47F0EE1F2B21E', rai());
666
- }
667
-
668
- static clearAllHelpMessages(): void {
669
- inv<void>('0x916ED8321F087059');
549
+ static journalGetEntryInfo(p0: any, p1: any): any {
550
+ return inv<number>('0x5514C3E60673530F', p0, p1);
670
551
  }
671
552
 
672
553
  /**
673
- * @param modelHash
554
+ * @param p0
674
555
  */
675
- static linkNamedRendertarget(modelHash: string | number): void {
676
- inv<void>('0x2F506B8556242DDB', _h(modelHash));
556
+ static N_0x3FE4FB41EF7D2196(p0: any): void {
557
+ inv<void>('0x3FE4FB41EF7D2196', p0);
677
558
  }
678
559
 
679
560
  /**
680
- * Returns the label text given the hash. Old name: _GET_LABEL_TEXT_BY_HASH
561
+ * colorNameHash: https://alloc8or.re/rdr3/doc/enums/eColor.txt
681
562
  *
682
- * @param labelHash
683
- * @returns
563
+ * @param colorNameHash
564
+ * @returns red; green; blue; alpha
684
565
  */
685
- static getStringFromHashKey(labelHash: string | number): string | null {
686
- return inv<string>('0xBD5DD5EAE2B6CE14', _h(labelHash), ras());
566
+ static getColorFromName(colorNameHash: string | number): [number, number, number, number] {
567
+ const result = inv<[number, number, number, number]>('0xB981DD2DFAF9B1C9', _h(colorNameHash), pvi(), pvi(), pvi(), pvi());
568
+ return [result[0], result[1], result[2], result[3]];
687
569
  }
688
570
 
689
571
  /**
690
- * @param textBlock
691
- * @returns
572
+ * visibility:
573
+ * enum eUIGamertagVisibility
574
+ * {
575
+ * UIGAMERTAGVISIBILITY_NONE,
576
+ * UIGAMERTAGVISIBILITY_ICON,
577
+ * UIGAMERTAGVISIBILITY_SIMPLE,
578
+ * UIGAMERTAGVISIBILITY_COMPLEX
579
+ * };
580
+ *
581
+ * @param gamerTagId
582
+ * @param visibility
692
583
  */
693
- static textBlockIsLoaded(textBlock: string | null): any {
694
- return inv<number>('0xD0976CC34002DB57', textBlock);
584
+ static setMpGamerTagVisibility(gamerTagId: number, visibility: number): void {
585
+ inv<void>('0x93171DDDAB274EB8', gamerTagId, visibility);
695
586
  }
696
587
 
697
588
  /**
698
- * @param prompt
699
- * @returns
589
+ * @param component
700
590
  */
701
- static uiPromptHasMashMode(prompt: number): any {
702
- return inv<number>('0xCD072523791DDC1B', prompt);
591
+ static enableHudContextThisFrame(component: string | number): void {
592
+ inv<void>('0xC9CAEAEEC1256E54', _h(component));
703
593
  }
704
594
 
705
595
  /**
706
- * @param gamerTagId
596
+ * @param prompt
597
+ * @param text
707
598
  */
708
- static mpGamerTagDisableReviveTopIcon(gamerTagId: number): void {
709
- inv<void>('0x1F9A64C2804B3471', gamerTagId);
599
+ static uiPromptSetText(prompt: number, text: string | null): void {
600
+ inv<void>('0x5DD02A8318420DD7', prompt, text);
710
601
  }
711
602
 
712
603
  /**
713
- * standard (prompt not held) rate: 0.035f
714
- * fast (prompt held) rate: 0.015f
715
- * punitive (been hit) rate: 0.14f
716
- *
717
604
  * @param prompt
718
- * @param speed
605
+ * @returns
719
606
  */
720
- static uiPromptSetMashManualModeDecaySpeed(prompt: number, speed: number): void {
721
- inv<void>('0x7D393C247FB9B431', prompt, f(speed));
607
+ static uiPromptIsJustReleased(prompt: number): boolean {
608
+ return !!inv<boolean>('0x635CC82FA297A827', prompt, rai());
722
609
  }
723
610
 
724
611
  /**
725
- * @param hash
726
- * @returns
612
+ * Found icons: https://pastebin.com/xx6rEgiG
613
+ *
614
+ * @param gamerTagId
615
+ * @param icon
727
616
  */
728
- static uiPromptDoesAmbientGroupExist(hash: string | number): boolean {
729
- return inv<boolean>('0xEB550B927B34A1BB', _h(hash), rai());
617
+ static setMpGamerTagTopIcon(gamerTagId: number, icon: string | number): void {
618
+ inv<void>('0x5F57522BC1EB9D9D', gamerTagId, _h(icon));
730
619
  }
731
620
 
732
621
  /**
733
- * @param p0
622
+ * @param prompt
734
623
  * @returns
735
624
  */
736
- static N_0x7EC0D68233E391AC(p0: number): number {
737
- return inv<number>('0x7EC0D68233E391AC', p0, rai());
625
+ static uiPromptIsReleased(prompt: number): boolean {
626
+ return !!inv<boolean>('0xAFC887BA7A7756D6', prompt, rai());
738
627
  }
739
628
 
740
629
  /**
741
- * nullsub, doesn't do anything
630
+ * @param active
742
631
  */
743
- static N_0xBFFF81E12A745A5F(): void {
744
- inv<void>('0xBFFF81E12A745A5F');
632
+ static setFrontendActive(active: boolean): void {
633
+ inv<void>('0xCE47C21C0687EBC2', active);
745
634
  }
746
635
 
747
636
  /**
748
- * @param uiscene
637
+ * @param name
638
+ * @param p1
639
+ * @returns
749
640
  */
750
- static N_0xF1E6979C0B779985(uiscene: number): void {
751
- inv<void>('0xF1E6979C0B779985', uiscene);
641
+ static registerNamedRendertarget(name: string | null, p1: boolean): boolean {
642
+ return !!inv<boolean>('0x98AF2BB6F62BD588', name, p1, rai());
752
643
  }
753
644
 
754
645
  /**
755
- * nullsub, this native does nothing since build 1436, use _BG_DISPLAY_TEXT instead.
756
- *
757
- * @param text
758
- * @param xPos
759
- * @param yPos
646
+ * @param prompt
647
+ * @param autoFillTimeMs
648
+ * @param holdTimeMs
760
649
  */
761
- static displayText(text: string | null, xPos: number, yPos: number): void {
762
- inv<void>('0xD79334A4BB99BAD1', text, f(xPos), f(yPos));
650
+ static uiPromptSetHoldAutoFillWithDecayMode(prompt: number, autoFillTimeMs: number, holdTimeMs: number): void {
651
+ inv<void>('0xA3F2149AA24F3D8E', prompt, autoFillTimeMs, holdTimeMs);
763
652
  }
764
653
 
765
654
  /**
766
- * @param prompt
655
+ * @param p0
656
+ * @param p1
767
657
  * @returns
768
658
  */
769
- static uiPromptIsJustPressed(prompt: number): boolean {
770
- return inv<boolean>('0x2787CC611D3FACC5', prompt, rai());
659
+ static N_0xF1AD3DD218E6558A(p0: any, p1: any): any {
660
+ return inv<number>('0xF1AD3DD218E6558A', p0, p1);
771
661
  }
772
662
 
773
663
  /**
774
- * @param gamerTagId
775
- * @param text
664
+ * Used for controllers
665
+ *
666
+ * @param prompt
667
+ * @param p1
668
+ * @param counterclockwise
776
669
  */
777
- static setMpGamerTagNamePosse(gamerTagId: number, text: string | null): void {
778
- inv<void>('0x1EA716E0628A6F44', gamerTagId, text);
670
+ static uiPromptSetRotateMode(prompt: number, p1: number, counterclockwise: boolean): void {
671
+ inv<void>('0x7ABE7095FB3D2581', prompt, f(p1), counterclockwise);
779
672
  }
780
673
 
781
674
  /**
782
- * @returns
675
+ * Found types: GENERIC_PLAYER, DEADDROP, HOTPROPERTY, MINIGAMES
676
+ *
677
+ * @param gamerTagId
678
+ * @param type
783
679
  */
784
- static isSubtitlePreferenceSwitchedOn(): boolean {
785
- return inv<boolean>('0x7C4AC9573587F2DF', rai());
680
+ static setMpGamerTagType(gamerTagId: number, type: string | number): void {
681
+ inv<void>('0x25B9C78A25105C35', gamerTagId, _h(type));
786
682
  }
787
683
 
788
684
  /**
789
685
  * @param prompt
686
+ * @param action
790
687
  * @returns
791
688
  */
792
- static uiPromptIsActive(prompt: number): boolean {
793
- return inv<boolean>('0x546E342E01DE71CF', prompt, rai());
689
+ static uiPromptSetControlAction(prompt: number, action: string | number): any {
690
+ return inv<number>('0xB5352B7494A08258', prompt, _h(action));
794
691
  }
795
692
 
796
693
  /**
797
- * @param prompt
798
- * @param mashes
694
+ * https://github.com/femga/rdr3_discoveries/tree/master/graphics/HUD/hud_presets
695
+ * Old name: _HIDE_HUD_COMPONENT
696
+ *
697
+ * @param component
799
698
  */
800
- static uiPromptSetMashMode(prompt: number, mashes: number): void {
801
- inv<void>('0xDF6423BF071C7F71', prompt, mashes);
802
- }
803
-
804
- static hideHudThisFrame(): void {
805
- inv<void>('0xBF4F34A85CA2970D');
699
+ static enableHudContext(component: string | number): void {
700
+ inv<void>('0x4CC5F2FC1332577F', _h(component));
806
701
  }
807
702
 
808
703
  /**
809
704
  * @param prompt
810
- * @param releaseMode
811
- */
812
- static uiPromptSetStandardMode(prompt: number, releaseMode: boolean): void {
813
- inv<void>('0xCC6656799977741B', prompt, releaseMode);
814
- }
815
-
816
- /**
817
- * @param hash
818
705
  * @returns
819
706
  */
820
- static uiPromptGetGroupActivePage(hash: string | number): number {
821
- return inv<number>('0xC1FCC36C3F7286C8', _h(hash), rai());
707
+ static uiPromptHasPressedTimedModeFailed(prompt: number): any {
708
+ return inv<number>('0x1A17B9ECFF617562', prompt);
822
709
  }
823
710
 
824
711
  /**
825
- * Enables reduced time scale while menus such as weapon wheel and satchel are open.
712
+ * Removes the loading prompt at the bottom right of the screen.
826
713
  */
827
- static enableReducedMenuTimeScale(): void {
828
- inv<void>('0x26F6BBEA2CE3E3DC');
714
+ static busyspinnerOff(): void {
715
+ inv<void>('0x58F441B90EA84D06');
829
716
  }
830
717
 
831
718
  /**
832
- * @param player
833
- * @param username
834
- * @param pointedClanTag
835
- * @param isRockstarClan
836
- * @param clanTag
837
- * @param clanFlag
838
- * @returns
719
+ * @param prompt
720
+ * @param pos
839
721
  */
840
- static createMpGamerTag(player: Player, username: string | null, pointedClanTag: boolean, isRockstarClan: boolean, clanTag: string | null, clanFlag: number): number {
841
- return inv<number>('0xD877AF112AD2B41B', player.handle, username, pointedClanTag, isRockstarClan, clanTag, clanFlag, rai());
722
+ static uiPromptContextSetPoint(prompt: number, pos: Vector3): void {
723
+ inv<void>('0xAE84C5EE2C384FB3', prompt, f(pos.x), f(pos.y), f(pos.z));
842
724
  }
843
725
 
844
726
  /**
845
- * @param state
727
+ * @param align
846
728
  */
847
- static showPlayerCores(state: boolean): void {
848
- inv<void>('0x50C803A4CD5932C5', state);
729
+ static setTextCentre(align: boolean): void {
730
+ inv<void>('0xBE5261939FBECB8C', align);
849
731
  }
850
732
 
851
733
  /**
852
- * Params: p2 is 304000 in R* SP Script coachrobberies
853
- *
854
734
  * @param prompt
855
- * @param holdTimeMs
735
+ * @returns
856
736
  */
857
- static uiPromptSetHoldMode(prompt: number, holdTimeMs: number): void {
858
- inv<void>('0x94073D5CA3F16B7B', prompt, holdTimeMs);
737
+ static uiPromptHasMashModeFailed(prompt: number): boolean {
738
+ return !!inv<boolean>('0x25B18E530CF39D6F', prompt, rai());
859
739
  }
860
740
 
861
741
  /**
862
742
  * @param prompt
743
+ * @returns
863
744
  */
864
- static uiPromptSetHoldIndefinitelyMode(prompt: number): void {
865
- inv<void>('0xEA5CCF4EEB2F82D1', prompt);
866
- }
867
-
868
- static hideLoadingOnFadeThisFrame(): void {
869
- inv<void>('0xEA600AABAF4B9084');
745
+ static uiPromptHasManualMashMode(prompt: number): any {
746
+ return inv<number>('0xA6C6A4ADB3BAC409', prompt);
870
747
  }
871
748
 
872
749
  /**
873
- * @param gamerTagId
874
- * @param colour
750
+ * @param prompt
751
+ * @returns
875
752
  */
876
- static setMpGamerTagColour(gamerTagId: number, colour: string | number): void {
877
- inv<void>('0x84BD27DDF9575816', gamerTagId, _h(colour));
878
- }
879
-
880
- static N_0x160825DADF1B04B3(): void {
881
- inv<void>('0x160825DADF1B04B3');
753
+ static uiPromptHasMashModeCompleted(prompt: number): boolean {
754
+ return !!inv<boolean>('0x845CE958416DC473', prompt, rai());
882
755
  }
883
756
 
884
757
  /**
885
758
  * @param prompt
886
759
  * @param p1
887
- * @param p2
888
- * @param p3
889
- * @param p4
890
760
  */
891
- static uiPromptSetMashManualMode(prompt: number, p1: number, p2: number, p3: number, p4: any): void {
892
- inv<void>('0x32DF729D8BD3C1C6', prompt, f(p1), f(p2), f(p3), p4);
761
+ static uiPromptSetSpinnerPosition(prompt: number, p1: any): void {
762
+ inv<void>('0x832CB510DE546282', prompt, p1);
893
763
  }
894
764
 
895
765
  /**
896
- * attribute: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eUIPromptAttribute
897
- *
898
- * @param prompt
899
- * @param attribute
900
- * @param enabled
766
+ * @param p0
901
767
  */
902
- static uiPromptSetAttribute(prompt: number, attribute: number, enabled: boolean): void {
903
- inv<void>('0x560E76D5E2E1803F', prompt, attribute, enabled);
768
+ static journalWriteEntry(p0: any): void {
769
+ inv<void>('0x6DFDD665E416B093', p0);
904
770
  }
905
771
 
906
772
  /**
907
- * priority: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/ePromptPriority
908
- *
909
- * @param prompt
910
- * @param priority
773
+ * @param state
911
774
  */
912
- static uiPromptSetPriority(prompt: number, priority: number): void {
913
- inv<void>('0xCA24F528D0D16289', prompt, priority);
775
+ static showHorseCores(state: boolean): void {
776
+ inv<void>('0xD4EE21B7CC7FD350', state);
914
777
  }
915
778
 
916
779
  /**
917
- * https://github.com/femga/rdr3_discoveries/tree/master/graphics/HUD/prompts/prompt_types
780
+ * This native accepts 1 as parameter in the decompiles
781
+ * 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?
918
782
  *
919
783
  * @param p0
784
+ * @returns
920
785
  */
921
- static uiPromptEnablePromptTypeThisFrame(p0: number): void {
922
- inv<void>('0x06565032897BA861', p0);
786
+ static getNearHorse(p0: number): any {
787
+ return inv<number>('0x0501D52D24EA8934', p0);
923
788
  }
924
789
 
925
790
  /**
926
- * Returns the length of the string passed (much like strlen).
927
- *
928
- * @param string
929
- * @returns
791
+ * @param prompt
930
792
  */
931
- static getLengthOfLiteralString(string: string | null): number {
932
- return inv<number>('0x481FBF588B0B76DB', string, rai());
793
+ static uiPromptRestartModes(prompt: number): void {
794
+ inv<void>('0xDC6C55DFA2C24EE5', prompt);
933
795
  }
934
796
 
935
797
  /**
936
798
  * @param prompt
799
+ * @param mashes
800
+ * @param p2
801
+ * @param p3
937
802
  */
938
- static uiPromptRegisterEnd(prompt: number): void {
939
- inv<void>('0xF7AA2696A22AD8B9', prompt);
803
+ static uiPromptSetMashWithResistanceMode(prompt: number, mashes: number, p2: number, p3: number): void {
804
+ inv<void>('0xCD1BDFF15EFA79F5', prompt, mashes, f(p2), f(p3));
940
805
  }
941
806
 
942
807
  /**
943
- * nullsub, doesn't do anything
808
+ * @param p0
809
+ * @param p1
810
+ * @param p2
811
+ * @returns
944
812
  */
945
- static N_0x2F7BB105144ACF30(): void {
946
- inv<void>('0x2F7BB105144ACF30');
813
+ static N_0x806862E5D266CF38(p0: any, p1: any, p2: any): any {
814
+ return inv<number>('0x806862E5D266CF38', p0, p1, p2);
947
815
  }
948
816
 
949
817
  /**
950
- * Old name: _DISPLAY_HUD_COMPONENT
951
- *
952
- * @param component
818
+ * @param gamerTagId
819
+ * @returns
953
820
  */
954
- static disableHudContext(component: string | number): void {
955
- inv<void>('0x8BC7C1F929D07BF3', _h(component));
956
- }
957
-
958
- static forceCloseTextInputBox(): void {
959
- inv<void>('0xFBBF5943E4C2C992');
821
+ static isMpGamerTagActive(gamerTagId: number): boolean {
822
+ return !!inv<boolean>('0x6E1C31E14C7A5F97', gamerTagId, rai());
960
823
  }
961
824
 
962
825
  /**
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.
826
+ * Hashes: SHORT_TIMED_EVENT_MP, SHORT_TIMED_EVENT, MEDIUM_TIMED_EVENT, LONG_TIMED_EVENT, RUSTLING_CALM_TIMING, PLAYER_FOCUS_TIMING, PLAYER_REACTION_TIMING
965
827
  *
966
828
  * @param prompt
967
- * @param mashes
968
- * @param decreaseSpeed
969
- * @param startProgress
829
+ * @param timedEventHash
970
830
  */
971
- static uiPromptSetMashWithResistanceCanFailMode(prompt: number, mashes: number, decreaseSpeed: number, startProgress: number): void {
972
- inv<void>('0xDC0CB602DEADBA53', prompt, mashes, f(decreaseSpeed), f(startProgress));
831
+ static uiPromptSetStandardizedHoldMode(prompt: number, timedEventHash: string | number): void {
832
+ inv<void>('0x74C7D7B72ED0D3CF', prompt, _h(timedEventHash));
973
833
  }
974
834
 
975
835
  /**
976
- * @param prompt
977
- * @param p1
978
- * @param p2
836
+ * @param modelHash
837
+ * @returns
979
838
  */
980
- static uiPromptSetTargetModeTarget(prompt: number, p1: number, p2: number): void {
981
- inv<void>('0x5E019C45DD3B6A14', prompt, f(p1), f(p2));
839
+ static isNamedRendertargetLinked(modelHash: string | number): boolean {
840
+ return !!inv<boolean>('0x707032835FF09AE7', _h(modelHash), rai());
982
841
  }
983
842
 
984
843
  /**
985
844
  * @param prompt
986
- * @param p1
987
- * @param p2
988
- * @param p3
989
- * @param p4
845
+ * @returns
990
846
  */
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);
847
+ static uiPromptWasBeatModePressedInTimeWindow(prompt: number): boolean {
848
+ return !!inv<boolean>('0x1FE4788AB1430C55', prompt, rai());
993
849
  }
994
850
 
995
851
  /**
996
- * @param prompt
852
+ * @returns
853
+ */
854
+ static isHudHidden(): boolean {
855
+ return !!inv<boolean>('0x71B72B478F8189DC', rai());
856
+ }
857
+
858
+ /**
859
+ * @param p0
997
860
  * @param p1
998
- * @param p2
999
- * @param p3
861
+ * @returns
1000
862
  */
1001
- static uiPromptSetTargetMode(prompt: number, p1: number, p2: number, p3: any): void {
1002
- inv<void>('0x5F6503D9CD2754EB', prompt, f(p1), f(p2), p3);
863
+ static N_0x100157D6D7FE32CA(p0: any, p1: any): any {
864
+ return inv<number>('0x100157D6D7FE32CA', p0, p1);
1003
865
  }
1004
866
 
1005
867
  /**
1006
- * @param prompt
1007
- * @param autoFillTimeMs
1008
- * @param mashes
868
+ * @param p0
869
+ * @returns
1009
870
  */
1010
- static uiPromptSetMashAutoFillMode(prompt: number, autoFillTimeMs: number, mashes: number): void {
1011
- inv<void>('0x6C39587D7CC66801', prompt, autoFillTimeMs, mashes);
871
+ static journalGetGrimeAtIndex(p0: any): any {
872
+ return inv<number>('0xCB5945E1B855852F', p0);
1012
873
  }
1013
874
 
1014
875
  /**
1015
876
  * @param prompt
1016
- * @param toggle
877
+ * @param p1
1017
878
  */
1018
- static uiPromptSetBeatMode(prompt: number, toggle: boolean): void {
1019
- inv<void>('0xF957A1654C6322FE', prompt, toggle);
879
+ static uiPromptRemoveGroup(prompt: number, p1: any): void {
880
+ inv<void>('0x4E52C800A28F7BE8', prompt, p1);
1020
881
  }
1021
882
 
1022
883
  /**
1023
- * Similar to 0x9D7E12EC6A1EE4E5(GET_TEXT_SUBSTRING) but starts at the beginning of the string
884
+ * This native does nothing since build 1436, use _BG_SET_TEXT_COLOR (0x16FA5CE47F184F1E) instead.
1024
885
  *
1025
- * @param text
1026
- * @param length
1027
- * @returns
886
+ * @param r
887
+ * @param g
888
+ * @param b
889
+ * @param a
1028
890
  */
1029
- static getTextSubstring2(text: string | null, length: number): string | null {
1030
- return inv<string>('0xD8402B858F4DDD88', text, length, ras());
891
+ static setTextColor(r: number, g: number, b: number, a: number): void {
892
+ inv<void>('0x50A41AD966910F03', r, g, b, a);
1031
893
  }
1032
894
 
1033
895
  /**
1034
- * @param p0
1035
- * @param prompt
1036
- * @param p2
896
+ * @returns
1037
897
  */
1038
- static uiPromptAddGroupLink(p0: any, prompt: number, p2: any): void {
1039
- inv<void>('0x684C96CC7C66E8EF', p0, prompt, p2);
898
+ static isRadarHiddenByScript(): boolean {
899
+ return !!inv<boolean>('0x66F35DD9D2B58579', rai());
1040
900
  }
1041
901
 
1042
- /**
1043
- * @param gamerTagId
1044
- */
1045
- static mpGamerTagEnableReviveTopIcon(gamerTagId: number): void {
1046
- inv<void>('0xFFF6579CF0139FCE', gamerTagId);
902
+ static hideHudAndRadarThisFrame(): void {
903
+ inv<void>('0x36CDD81627A6FCD2');
1047
904
  }
1048
905
 
1049
906
  /**
1050
- * @param p0
1051
- * @param p1
907
+ * @param ped
908
+ * @param username
909
+ * @param pointedClanTag
910
+ * @param isRockstarClan
911
+ * @param clanTag
912
+ * @param clanFlag
913
+ * @returns
1052
914
  */
1053
- static N_0x8A59D44189AF2BC5(p0: any, p1: any): void {
1054
- inv<void>('0x8A59D44189AF2BC5', p0, p1);
915
+ static createFakeMpGamerTag(ped: Ped, username: string | null, pointedClanTag: boolean, isRockstarClan: boolean, clanTag: string | null, clanFlag: number): number {
916
+ return inv<number>('0x53CB4B502E1C57EA', ped.handle, username, pointedClanTag, isRockstarClan, clanTag, clanFlag, rai());
1055
917
  }
1056
918
 
1057
919
  /**
1058
920
  * @param prompt
1059
- * @param p1
921
+ * @returns
1060
922
  */
1061
- static uiPromptSetOrderingAsInputType(prompt: number, p1: any): void {
1062
- inv<void>('0x2F385ECC5200938D', prompt, p1);
923
+ static uiPromptHasHoldAutoFillMode(prompt: number): boolean {
924
+ return !!inv<boolean>('0x8010BEBD0D5ED5BC', prompt, rai());
1063
925
  }
1064
926
 
1065
927
  /**
1066
- * @param p0
928
+ * string1 is the only string used in the scripts, the others are null (0)
929
+ *
930
+ * @param active
931
+ * @param string1
932
+ * @param string2
933
+ * @param string3
934
+ * @param string4
1067
935
  */
1068
- static journalMarkRead(p0: any): void {
1069
- inv<void>('0xE4509BABE59BD24E', p0);
936
+ static setCurrentUgcMissionDescription(active: boolean, string1: string | null, string2: string | null, string3: string | null, string4: string | null): void {
937
+ inv<void>('0xCE0D2F5586627CCE', active, string1, string2, string3, string4);
1070
938
  }
1071
939
 
1072
940
  /**
1073
- * @param gamerTagId
1074
- * @param entity
941
+ * @param name
1075
942
  * @returns
1076
943
  */
1077
- static isMpGamerTagActiveOnEntity(gamerTagId: number, entity: Entity): any {
1078
- return inv<number>('0x502E1591A504F843', gamerTagId, entity.handle);
944
+ static getNamedRendertargetRenderId(name: string | null): number {
945
+ return inv<number>('0xB6762A85EE29AA60', name, rai());
1079
946
  }
1080
947
 
1081
948
  /**
1082
- * @param gamerTagId
1083
- * @param string
949
+ * @param p0
1084
950
  */
1085
- static setMpGamerTagBigText(gamerTagId: number, string: string | null): void {
1086
- inv<void>('0xA0D7CE5F83259663', gamerTagId, string);
951
+ static uiPromptDisablePromptTypeThisFrame(p0: number): void {
952
+ inv<void>('0xFC094EF26DD153FA', p0);
1087
953
  }
1088
954
 
1089
955
  /**
1090
- * @param prompt
1091
- * @param radius
956
+ * @param entity
957
+ * @param p1
958
+ * @param p2
959
+ * @param p3
960
+ * @param p4
961
+ * @param name
962
+ * @param p6
963
+ * @returns
1092
964
  */
1093
- static uiPromptContextSetRadius(prompt: number, radius: number): void {
1094
- inv<void>('0x0C718001B77CA468', prompt, f(radius));
965
+ static uiPromptSetAmbientGroupThisFrame(entity: Entity, p1: number, p2: number, p3: number, p4: string | number, name: string | null, p6: number): any {
966
+ return inv<number>('0x315C81D760609108', entity.handle, f(p1), p2, p3, _h(p4), name, p6);
1095
967
  }
1096
968
 
1097
969
  /**
1098
970
  * @param prompt
1099
- * @param toggle
971
+ * @returns
1100
972
  */
1101
- static uiPromptSetVisible(prompt: number, toggle: boolean): void {
1102
- inv<void>('0x71215ACCFDE075EE', prompt, toggle);
973
+ static uiPromptIsHoldModeRunning(prompt: number): boolean {
974
+ return !!inv<boolean>('0xC7D70EAEF92EFF48', prompt, rai());
1103
975
  }
1104
976
 
1105
977
  /**
1106
978
  * @param prompt
1107
- * @returns
979
+ * @returns Returns `true` if the mash mode has just been pressed.
1108
980
  */
1109
- static uiPromptHasMashModeFailed(prompt: number): boolean {
1110
- return inv<boolean>('0x25B18E530CF39D6F', prompt, rai());
981
+ static uiPromptHasMashModeJustPressed(prompt: number): boolean {
982
+ return !!inv<boolean>('0xB0E8599243B3F568', prompt, rai());
1111
983
  }
1112
984
 
1113
985
  /**
1114
986
  * @param prompt
1115
- * @returns
987
+ * @param autoFillTimeMs
988
+ * @param holdTimeMs
1116
989
  */
1117
- static uiPromptHasManualMashMode(prompt: number): any {
1118
- return inv<number>('0xA6C6A4ADB3BAC409', prompt);
990
+ static uiPromptSetHoldAutoFillMode(prompt: number, autoFillTimeMs: number, holdTimeMs: number): void {
991
+ inv<void>('0x3CE932E737C145D6', prompt, autoFillTimeMs, holdTimeMs);
1119
992
  }
1120
993
 
1121
994
  /**
1122
995
  * @param prompt
1123
996
  * @returns
1124
997
  */
1125
- static uiPromptHasMashModeCompleted(prompt: number): boolean {
1126
- return inv<boolean>('0x845CE958416DC473', prompt, rai());
998
+ static uiPromptHasHoldModeCompleted(prompt: number): boolean {
999
+ return !!inv<boolean>('0xE0F65F0640EF0617', prompt, rai());
1127
1000
  }
1128
1001
 
1129
1002
  /**
1130
- * @param prompt
1131
- * @param p1
1003
+ * id is the return value from 0xD9459157EB22C895.
1004
+ *
1005
+ * @param id
1132
1006
  */
1133
- static uiPromptSetSpinnerPosition(prompt: number, p1: any): void {
1134
- inv<void>('0x832CB510DE546282', prompt, p1);
1007
+ static uiPromptClearHorizontalOrientation(id: number): void {
1008
+ inv<void>('0x6095358C4142932A', id);
1135
1009
  }
1136
1010
 
1137
1011
  /**
1138
- * @param p0
1012
+ * @param gamerTagId
1139
1013
  */
1140
- static journalWriteEntry(p0: any): void {
1141
- inv<void>('0x6DFDD665E416B093', p0);
1014
+ static mpGamerTagDisableReviveTopIcon(gamerTagId: number): void {
1015
+ inv<void>('0x1F9A64C2804B3471', gamerTagId);
1142
1016
  }
1143
1017
 
1144
1018
  /**
1145
- * @param state
1019
+ * standard (prompt not held) rate: 0.035f
1020
+ * fast (prompt held) rate: 0.015f
1021
+ * punitive (been hit) rate: 0.14f
1022
+ *
1023
+ * @param prompt
1024
+ * @param speed
1146
1025
  */
1147
- static showHorseCores(state: boolean): void {
1148
- inv<void>('0xD4EE21B7CC7FD350', state);
1026
+ static uiPromptSetMashManualModeDecaySpeed(prompt: number, speed: number): void {
1027
+ inv<void>('0x7D393C247FB9B431', prompt, f(speed));
1028
+ }
1029
+
1030
+ /**
1031
+ * @param hash
1032
+ * @returns
1033
+ */
1034
+ static uiPromptDoesAmbientGroupExist(hash: string | number): boolean {
1035
+ return !!inv<boolean>('0xEB550B927B34A1BB', _h(hash), rai());
1149
1036
  }
1150
1037
 
1151
1038
  /**
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?
1154
- *
1155
1039
  * @param p0
1156
1040
  * @returns
1157
1041
  */
1158
- static getNearHorse(p0: number): any {
1159
- return inv<number>('0x0501D52D24EA8934', p0);
1042
+ static N_0x7EC0D68233E391AC(p0: number): number {
1043
+ return inv<number>('0x7EC0D68233E391AC', p0, rai());
1160
1044
  }
1161
1045
 
1162
1046
  /**
1163
- * @param prompt
1047
+ * nullsub, doesn't do anything
1164
1048
  */
1165
- static uiPromptRestartModes(prompt: number): void {
1166
- inv<void>('0xDC6C55DFA2C24EE5', prompt);
1049
+ static N_0xBFFF81E12A745A5F(): void {
1050
+ inv<void>('0xBFFF81E12A745A5F');
1167
1051
  }
1168
1052
 
1169
1053
  /**
1170
- * @param prompt
1171
- * @param mashes
1172
- * @param p2
1173
- * @param p3
1054
+ * @param uiscene
1174
1055
  */
1175
- static uiPromptSetMashWithResistanceMode(prompt: number, mashes: number, p2: number, p3: number): void {
1176
- inv<void>('0xCD1BDFF15EFA79F5', prompt, mashes, f(p2), f(p3));
1056
+ static N_0xF1E6979C0B779985(uiscene: number): void {
1057
+ inv<void>('0xF1E6979C0B779985', uiscene);
1177
1058
  }
1178
1059
 
1179
1060
  /**
1180
- * @param p0
1181
- * @param p1
1182
- * @param p2
1183
- * @returns
1061
+ * nullsub, this native does nothing since build 1436, use _BG_DISPLAY_TEXT instead.
1062
+ *
1063
+ * @param text
1064
+ * @param xPos
1065
+ * @param yPos
1184
1066
  */
1185
- static N_0x806862E5D266CF38(p0: any, p1: any, p2: any): any {
1186
- return inv<number>('0x806862E5D266CF38', p0, p1, p2);
1067
+ static displayText(text: string | null, xPos: number, yPos: number): void {
1068
+ inv<void>('0xD79334A4BB99BAD1', text, f(xPos), f(yPos));
1187
1069
  }
1188
1070
 
1189
1071
  /**
1190
- * @param gamerTagId
1072
+ * @param prompt
1191
1073
  * @returns
1192
1074
  */
1193
- static isMpGamerTagActive(gamerTagId: number): boolean {
1194
- return inv<boolean>('0x6E1C31E14C7A5F97', gamerTagId, rai());
1075
+ static uiPromptIsJustPressed(prompt: number): boolean {
1076
+ return !!inv<boolean>('0x2787CC611D3FACC5', prompt, rai());
1195
1077
  }
1196
1078
 
1197
1079
  /**
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
1080
+ * @param gamerTagId
1081
+ * @param text
1202
1082
  */
1203
- static uiPromptSetStandardizedHoldMode(prompt: number, timedEventHash: string | number): void {
1204
- inv<void>('0x74C7D7B72ED0D3CF', prompt, _h(timedEventHash));
1083
+ static setMpGamerTagNamePosse(gamerTagId: number, text: string | null): void {
1084
+ inv<void>('0x1EA716E0628A6F44', gamerTagId, text);
1205
1085
  }
1206
1086
 
1207
1087
  /**
1208
- * @param modelHash
1209
1088
  * @returns
1210
1089
  */
1211
- static isNamedRendertargetLinked(modelHash: string | number): boolean {
1212
- return inv<boolean>('0x707032835FF09AE7', _h(modelHash), rai());
1090
+ static isSubtitlePreferenceSwitchedOn(): boolean {
1091
+ return !!inv<boolean>('0x7C4AC9573587F2DF', rai());
1213
1092
  }
1214
1093
 
1215
1094
  /**
1216
1095
  * @param prompt
1217
1096
  * @returns
1218
1097
  */
1219
- static uiPromptWasBeatModePressedInTimeWindow(prompt: number): boolean {
1220
- return inv<boolean>('0x1FE4788AB1430C55', prompt, rai());
1098
+ static uiPromptIsActive(prompt: number): boolean {
1099
+ return !!inv<boolean>('0x546E342E01DE71CF', prompt, rai());
1221
1100
  }
1222
1101
 
1223
1102
  /**
1224
- * @returns
1103
+ * @param prompt
1104
+ * @param mashes
1225
1105
  */
1226
- static isHudHidden(): boolean {
1227
- return inv<boolean>('0x71B72B478F8189DC', rai());
1106
+ static uiPromptSetMashMode(prompt: number, mashes: number): void {
1107
+ inv<void>('0xDF6423BF071C7F71', prompt, mashes);
1108
+ }
1109
+
1110
+ static hideHudThisFrame(): void {
1111
+ inv<void>('0xBF4F34A85CA2970D');
1228
1112
  }
1229
1113
 
1230
1114
  /**
1231
- * @param p0
1232
- * @param p1
1115
+ * @param prompt
1116
+ * @param releaseMode
1117
+ */
1118
+ static uiPromptSetStandardMode(prompt: number, releaseMode: boolean): void {
1119
+ inv<void>('0xCC6656799977741B', prompt, releaseMode);
1120
+ }
1121
+
1122
+ /**
1123
+ * @param hash
1233
1124
  * @returns
1234
1125
  */
1235
- static N_0x100157D6D7FE32CA(p0: any, p1: any): any {
1236
- return inv<number>('0x100157D6D7FE32CA', p0, p1);
1126
+ static uiPromptGetGroupActivePage(hash: string | number): number {
1127
+ return inv<number>('0xC1FCC36C3F7286C8', _h(hash), rai());
1128
+ }
1129
+
1130
+ /**
1131
+ * Enables reduced time scale while menus such as weapon wheel and satchel are open.
1132
+ */
1133
+ static enableReducedMenuTimeScale(): void {
1134
+ inv<void>('0x26F6BBEA2CE3E3DC');
1237
1135
  }
1238
1136
 
1239
1137
  /**
1240
1138
  * @param p0
1241
1139
  * @returns
1242
1140
  */
1243
- static N_0x28AE29D909C8FDCE(p0: any): any {
1244
- return inv<number>('0x28AE29D909C8FDCE', p0);
1141
+ static N_0xD6BD313CFA41E57A(p0: any): any {
1142
+ return inv<number>('0xD6BD313CFA41E57A', p0);
1245
1143
  }
1246
1144
 
1247
1145
  /**
1248
- * @param p0
1249
- * @param prompt
1146
+ * @returns
1250
1147
  */
1251
- static uiPromptAddGroupReturnLink(p0: any, prompt: number): void {
1252
- inv<void>('0x837972ED28159536', p0, prompt);
1148
+ static isMultiplayerChatActive(): boolean {
1149
+ return !!inv<boolean>('0xBC19069D5FBB5C46', rai());
1150
+ }
1151
+
1152
+ static disableFrontendThisFrame(): void {
1153
+ inv<void>('0x56CE42A528156A67');
1253
1154
  }
1254
1155
 
1255
1156
  /**
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
- *
1258
1157
  * @param prompt
1259
- * @param type
1158
+ * @returns
1260
1159
  */
1261
- static uiPromptSetType(prompt: number, type: number): void {
1262
- inv<void>('0xF4A5C4509BF923B1', prompt, type);
1160
+ static uiPromptGetMashModeProgress(prompt: number): number {
1161
+ return inv<number>('0x8A9585293863B8A5', prompt, raf());
1263
1162
  }
1264
1163
 
1265
1164
  /**
1266
- * @param textBlock
1165
+ * @param groupId
1166
+ * @param volume
1167
+ * @param p2
1168
+ * @param p3
1169
+ * @param p4
1170
+ * @param p5
1171
+ * @returns
1267
1172
  */
1268
- static textBlockRequest(textBlock: string | null): void {
1269
- inv<void>('0xF66090013DE648D5', textBlock);
1173
+ static N_0x8B55B324A9123F6B(groupId: number, volume: Volume, p2: string | null, p3: any, p4: any, p5: any): any {
1174
+ return inv<number>('0x8B55B324A9123F6B', groupId, volume.handle, p2, p3, p4, p5);
1270
1175
  }
1271
1176
 
1272
1177
  /**
1273
- * Checks if the passed gxt name exists in the game files.
1274
- *
1275
- * @param label
1178
+ * @param entity
1276
1179
  * @returns
1277
1180
  */
1278
- static doesTextLabelExist(label: string | null): boolean {
1279
- return inv<boolean>('0x73C258C68D6F55B6', label, rai());
1181
+ static uiPromptGetGroupIdForTargetEntity(entity: Entity): number {
1182
+ return inv<number>('0xB796970BD125FCE8', entity.handle, rai());
1280
1183
  }
1281
1184
 
1282
1185
  /**
1186
+ * Old name: _ALLOW_PAUSE_MENU_WHEN_DEAD_THIS_FRAME
1187
+ */
1188
+ static allowPauseWhenNotInStateOfPlayThisFrame(): void {
1189
+ inv<void>('0x30996422DF1EE561');
1190
+ }
1191
+
1192
+ /**
1193
+ * @param p0
1194
+ * @param p1
1283
1195
  * @returns
1284
1196
  */
1285
- static N_0x066725A9D52B3641(): any {
1286
- return inv<number>('0x066725A9D52B3641');
1197
+ static uiPromptGetGroupIdForScenarioPoint(p0: any, p1: number): number {
1198
+ return inv<number>('0xCB73D7521E7103F0', p0, p1, rai());
1287
1199
  }
1288
1200
 
1289
1201
  /**
1290
- * standard (prompt not held) rate: (1f / 128f)
1291
- * fast (prompt held) rate: (1f / 64f)
1292
- * punitive (been hit) rate: (1f / 128f)
1202
+ * nullsub, doesn't do anything
1293
1203
  *
1294
- * @param prompt
1295
- * @param rate
1204
+ * @param gamerTagId
1205
+ * @param allow
1296
1206
  */
1297
- static uiPromptSetMashManualModeIncreasePerPress(prompt: number, rate: number): void {
1298
- inv<void>('0xA0D1D79C6036A855', prompt, f(rate));
1207
+ static setMpGamerTagUnkAllowLocalized(gamerTagId: number, allow: boolean): void {
1208
+ inv<void>('0xEF7AB1A0E8C86170', gamerTagId, allow);
1299
1209
  }
1300
1210
 
1301
1211
  /**
1302
- * @param prompt
1303
- * @param speed
1212
+ * @param ped
1304
1213
  */
1305
- static uiPromptSetMashManualModePressedGrowthSpeed(prompt: number, speed: number): void {
1306
- inv<void>('0x56DBB26F98582C29', prompt, f(speed));
1214
+ static uiPromptSetPromptPriorityPreference(ped: Ped): void {
1215
+ inv<void>('0x530A428705BE5DEF', ped.handle);
1307
1216
  }
1308
1217
 
1309
1218
  /**
1310
- * @param string
1219
+ * @param textBlock
1220
+ */
1221
+ static textBlockDelete(textBlock: string | null): void {
1222
+ inv<void>('0xAA03F130A637D923', textBlock);
1223
+ }
1224
+
1225
+ /**
1226
+ * Returns true when either Pause Menu, a Frontend Menu, Online Policies menu or Social Club menu is active.
1227
+ *
1311
1228
  * @returns
1312
1229
  */
1313
- static getLengthOfLiteralStringInBytes(string: string | null): number {
1314
- return inv<number>('0xDC5AD6B7AB8184F5', string, rai());
1230
+ static isPauseMenuActive(): boolean {
1231
+ return !!inv<boolean>('0x535384D6067BA42E', rai());
1315
1232
  }
1316
1233
 
1317
1234
  /**
1318
- * @param name
1235
+ * @param controlAction
1319
1236
  * @returns
1320
1237
  */
1321
- static releaseNamedRendertarget(name: string | null): boolean {
1322
- return inv<boolean>('0x0E692EE61761361F', name, rai());
1238
+ static uiPromptIsControlActionActive(controlAction: string | number): any {
1239
+ return inv<number>('0x1BE19185B8AFE299', _h(controlAction));
1323
1240
  }
1324
1241
 
1325
1242
  /**
1326
- * @param textDatabase
1243
+ * @param textBlock
1327
1244
  * @returns
1328
1245
  */
1329
- static doesTextBlockExist(textDatabase: string | null): any {
1330
- return inv<number>('0x2C729F2B94CEA911', textDatabase);
1246
+ static textBlockIsStreamed(textBlock: string | null): any {
1247
+ return inv<number>('0x3CF96E16265B7DC8', textBlock);
1331
1248
  }
1332
1249
 
1333
1250
  /**
1334
- * @param p0
1335
- * @param p1
1251
+ * @param worldX
1252
+ * @param worldY
1253
+ * @param worldZ
1254
+ * @returns screenX; screenY
1255
+ */
1256
+ static getHudScreenPositionFromWorldPosition(worldX: number, worldY: number, worldZ: number): [boolean, number, number] {
1257
+ const result = inv<[boolean, number, number]>('0xB39C81628EF10B42', f(worldX), f(worldY), f(worldZ), pvf(), pvf(), rai());
1258
+ return [!!result[0], result[1], result[2]];
1259
+ }
1260
+
1261
+ /**
1262
+ * @param prompt
1336
1263
  * @returns
1337
1264
  */
1338
- static journalGetEntryInfo(p0: any, p1: any): any {
1339
- return inv<number>('0x5514C3E60673530F', p0, p1);
1265
+ static uiPromptHasHoldMode(prompt: number): any {
1266
+ return inv<number>('0xB60C9F9ED47ABB76', prompt);
1340
1267
  }
1341
1268
 
1342
1269
  /**
1343
1270
  * @param p0
1271
+ * @param name
1344
1272
  */
1345
- static N_0x3FE4FB41EF7D2196(p0: any): void {
1346
- inv<void>('0x3FE4FB41EF7D2196', p0);
1273
+ static setMissionNameForUgcMission(p0: boolean, name: string | null): void {
1274
+ inv<void>('0xD98630CE73C61E98', p0, name);
1347
1275
  }
1348
1276
 
1349
1277
  /**
1350
- * colorNameHash: https://alloc8or.re/rdr3/doc/enums/eColor.txt
1351
- *
1352
- * @param colorNameHash
1353
- * @returns red; green; blue; alpha
1278
+ * @returns
1354
1279
  */
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]];
1280
+ static busyspinnerIsOn(): boolean {
1281
+ return !!inv<boolean>('0x823BF7B1DF613A21', rai());
1358
1282
  }
1359
1283
 
1360
1284
  /**
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
1285
+ * @param prompt
1286
+ * @param p1
1372
1287
  */
1373
- static setMpGamerTagVisibility(gamerTagId: number, visibility: number): void {
1374
- inv<void>('0x93171DDDAB274EB8', gamerTagId, visibility);
1288
+ static uiPromptSetTag(prompt: number, p1: any): void {
1289
+ inv<void>('0xDEC85C174751292B', prompt, p1);
1375
1290
  }
1376
1291
 
1377
1292
  /**
1378
- * @param component
1293
+ * @param gamerTagId
1294
+ * @param string
1379
1295
  */
1380
- static enableHudContextThisFrame(component: string | number): void {
1381
- inv<void>('0xC9CAEAEEC1256E54', _h(component));
1296
+ static setMpGamerTagName(gamerTagId: number, string: string | null): void {
1297
+ inv<void>('0xEA6F4B8D4B4B5B3E', gamerTagId, string);
1382
1298
  }
1383
1299
 
1384
1300
  /**
1385
- * @param p0
1386
- * @returns
1301
+ * @param prompt
1302
+ * @param progress
1387
1303
  */
1388
- static journalGetGrimeAtIndex(p0: any): any {
1389
- return inv<number>('0xCB5945E1B855852F', p0);
1304
+ static uiPromptSetTargetModeProgress(prompt: number, progress: number): void {
1305
+ inv<void>('0x00123054BEC8A30F', prompt, f(progress));
1390
1306
  }
1391
1307
 
1392
1308
  /**
1393
1309
  * @param prompt
1394
- * @param p1
1395
1310
  */
1396
- static uiPromptRemoveGroup(prompt: number, p1: any): void {
1397
- inv<void>('0x4E52C800A28F7BE8', prompt, p1);
1311
+ static uiPromptSetMashIndefinitelyMode(prompt: number): void {
1312
+ inv<void>('0x7B66E89312727274', prompt);
1313
+ }
1314
+
1315
+ static uiPromptDisablePromptsThisFrame(): void {
1316
+ inv<void>('0xF1622CE88A1946FB');
1398
1317
  }
1399
1318
 
1400
1319
  /**
1401
- * This native does nothing since build 1436, use _BG_SET_TEXT_COLOR (0x16FA5CE47F184F1E) instead.
1402
- *
1403
- * @param r
1404
- * @param g
1405
- * @param b
1406
- * @param a
1320
+ * @param prompt
1321
+ * @param toggle
1407
1322
  */
1408
- static setTextColor(r: number, g: number, b: number, a: number): void {
1409
- inv<void>('0x50A41AD966910F03', r, g, b, a);
1323
+ static uiPromptSetUrgentPulsingEnabled(prompt: number, toggle: boolean): void {
1324
+ inv<void>('0xC5F428EE08FA7F2C', prompt, toggle);
1410
1325
  }
1411
1326
 
1412
1327
  /**
1328
+ * Note: you must use VAR_STRING for p1 if string is not part of text database
1329
+ * tabAmount: specifies number of tabs in prompt group
1330
+ * tabDefaultIndex: specifies starting index
1331
+ * p3 if is set > 3 you can no longer press Q to change tab if there are more than one tab set in tabAmount
1332
+ *
1333
+ * @param hash
1334
+ * @param name
1335
+ * @param tabAmount
1336
+ * @param tabDefaultIndex
1337
+ * @param p4
1338
+ * @param prompt
1413
1339
  * @returns
1414
1340
  */
1415
- static isRadarHiddenByScript(): any {
1416
- return inv<number>('0x66F35DD9D2B58579');
1341
+ static uiPromptSetActiveGroupThisFrame(hash: string | number, name: string | null, tabAmount: number, tabDefaultIndex: number, p4: number, prompt: number): any {
1342
+ return inv<number>('0xC65A45D4453C2627', _h(hash), name, tabAmount, tabDefaultIndex, p4, prompt);
1417
1343
  }
1418
1344
 
1419
- static hideHudAndRadarThisFrame(): void {
1420
- inv<void>('0x36CDD81627A6FCD2');
1345
+ /**
1346
+ * @param p0
1347
+ * @param p1
1348
+ * @param p2
1349
+ * @returns
1350
+ */
1351
+ static journalGetTextureWithLayout(p0: any, p1: any, p2: any): any {
1352
+ return inv<number>('0x62CC549B3B8EA2AA', p0, p1, p2);
1421
1353
  }
1422
1354
 
1423
1355
  /**
1424
- * @param ped
1425
- * @param username
1426
- * @param pointedClanTag
1427
- * @param isRockstarClan
1428
- * @param clanTag
1429
- * @param clanFlag
1356
+ * @param prompt
1430
1357
  * @returns
1431
1358
  */
1432
- static createFakeMpGamerTag(ped: Ped, username: string | null, pointedClanTag: boolean, isRockstarClan: boolean, clanTag: string | null, clanFlag: number): number {
1433
- return inv<number>('0x53CB4B502E1C57EA', ped.handle, username, pointedClanTag, isRockstarClan, clanTag, clanFlag, rai());
1359
+ static uiPromptIsEnabled(prompt: number): any {
1360
+ return inv<number>('0x0D00EDDFB58B7F28', prompt);
1434
1361
  }
1435
1362
 
1436
1363
  /**
1437
1364
  * @param prompt
1438
1365
  * @returns
1439
1366
  */
1440
- static uiPromptHasHoldAutoFillMode(prompt: number): boolean {
1441
- return inv<boolean>('0x8010BEBD0D5ED5BC', prompt, rai());
1367
+ static uiPromptGetUrgentPulsingEnabled(prompt: number): boolean {
1368
+ return !!inv<boolean>('0x1FBA0DABECDDB52B', prompt, rai());
1442
1369
  }
1443
1370
 
1444
1371
  /**
1445
- * string1 is the only string used in the scripts, the others are null (0)
1372
+ * @param scale
1373
+ * @param size
1374
+ */
1375
+ static setTextScale(scale: number, size: number): void {
1376
+ inv<void>('0x4170B650590B3B00', f(scale), f(size));
1377
+ }
1378
+
1379
+ /**
1380
+ * Found icons: SPEAKER, THROPY
1446
1381
  *
1447
- * @param active
1448
- * @param string1
1449
- * @param string2
1450
- * @param string3
1451
- * @param string4
1382
+ * @param gamerTagId
1383
+ * @param icon
1452
1384
  */
1453
- static setCurrentUgcMissionDescription(active: boolean, string1: string | null, string2: string | null, string3: string | null, string4: string | null): void {
1454
- inv<void>('0xCE0D2F5586627CCE', active, string1, string2, string3, string4);
1385
+ static setMpGamerTagSecondaryIcon(gamerTagId: number, icon: string | number): void {
1386
+ inv<void>('0x95384C6CE1526EFF', gamerTagId, _h(icon));
1455
1387
  }
1456
1388
 
1457
1389
  /**
1458
- * @param name
1459
- * @returns
1390
+ * Disables reduced time scale while menus such as weapon wheel and satchel are open.
1460
1391
  */
1461
- static getNamedRendertargetRenderId(name: string | null): number {
1462
- return inv<number>('0xB6762A85EE29AA60', name, rai());
1392
+ static disableReducedMenuTimeScale(): void {
1393
+ inv<void>('0xC5C7A2F6567FCCBC');
1394
+ }
1395
+
1396
+ /**
1397
+ * @param prompt
1398
+ * @param p1
1399
+ */
1400
+ static uiPromptSetBeatModeGrayedOut(prompt: number, p1: any): void {
1401
+ inv<void>('0xB487A4936FBF40AC', prompt, p1);
1402
+ }
1403
+
1404
+ /**
1405
+ * @param prompt
1406
+ * @param p1
1407
+ */
1408
+ static N_0x53CE46C01A089DA1(prompt: number, p1: boolean): void {
1409
+ inv<void>('0x53CE46C01A089DA1', prompt, p1);
1463
1410
  }
1464
1411
 
1465
1412
  /**
1466
1413
  * @param p0
1414
+ * @returns
1467
1415
  */
1468
- static uiPromptDisablePromptTypeThisFrame(p0: number): void {
1469
- inv<void>('0xFC094EF26DD153FA', p0);
1416
+ static uiGetSceneUiobject(p0: any): any {
1417
+ return inv<number>('0xBE1067CD1C9570F6', p0);
1470
1418
  }
1471
1419
 
1472
1420
  /**
1473
- * @param entity
1421
+ * @param p0
1474
1422
  * @param p1
1475
- * @param p2
1476
- * @param p3
1477
- * @param p4
1478
- * @param name
1479
- * @param p6
1423
+ */
1424
+ static N_0x958278B97C4AFFD8(p0: any, p1: any): void {
1425
+ inv<void>('0x958278B97C4AFFD8', p0, p1);
1426
+ }
1427
+
1428
+ /**
1429
+ * @param prompt
1480
1430
  * @returns
1481
1431
  */
1482
- static uiPromptSetAmbientGroupThisFrame(entity: Entity, p1: number, p2: number, p3: number, p4: string | number, name: string | null, p6: number): any {
1483
- return inv<number>('0x315C81D760609108', entity.handle, f(p1), p2, p3, _h(p4), name, p6);
1432
+ static uiPromptGetProgress(prompt: number): number {
1433
+ return inv<number>('0x81801291806DBC50', prompt, raf());
1484
1434
  }
1485
1435
 
1486
1436
  /**
1487
1437
  * @param prompt
1488
1438
  * @returns
1489
1439
  */
1490
- static uiPromptIsHoldModeRunning(prompt: number): boolean {
1491
- return inv<boolean>('0xC7D70EAEF92EFF48', prompt, rai());
1440
+ static uiPromptIsPressed(prompt: number): boolean {
1441
+ return !!inv<boolean>('0x21E60E230086697F', prompt, rai());
1442
+ }
1443
+
1444
+ /**
1445
+ * Note: you must use VAR_STRING. Byte code very similar to TEXT_COMMAND_DISPLAY_TEXT in V
1446
+ * Old name: _GET_TEXT_SUBSTRING
1447
+ *
1448
+ * @param text
1449
+ * @param position
1450
+ * @param length
1451
+ * @returns
1452
+ */
1453
+ static getCharacterFromAudioConversationFilename(text: string | null, position: number, length: number): string | null {
1454
+ return inv<string>('0x9D7E12EC6A1EE4E5', text, position, length, ras());
1455
+ }
1456
+
1457
+ /**
1458
+ * @param p0
1459
+ * @param p1
1460
+ */
1461
+ static N_0x9D37EB5003E0F2CF(p0: any, p1: any): void {
1462
+ inv<void>('0x9D37EB5003E0F2CF', p0, p1);
1463
+ }
1464
+
1465
+ static uiPromptClearPromptPriorityPreference(): void {
1466
+ inv<void>('0x51259AE5C72D4A1B');
1492
1467
  }
1493
1468
 
1494
1469
  /**
1495
1470
  * @param prompt
1496
- * @returns Returns `true` if the mash mode has just been pressed.
1471
+ * @param depletionTimeMs
1497
1472
  */
1498
- static uiPromptHasMashModeJustPressed(prompt: number): boolean {
1499
- return inv<boolean>('0xB0E8599243B3F568', prompt, rai());
1473
+ static uiPromptSetPressedTimedMode(prompt: number, depletionTimeMs: number): void {
1474
+ inv<void>('0x1473D3AF51D54276', prompt, depletionTimeMs);
1500
1475
  }
1501
1476
 
1502
1477
  /**
1503
1478
  * @param prompt
1504
- * @param autoFillTimeMs
1505
- * @param holdTimeMs
1479
+ * @param toggle
1506
1480
  */
1507
- static uiPromptSetHoldAutoFillMode(prompt: number, autoFillTimeMs: number, holdTimeMs: number): void {
1508
- inv<void>('0x3CE932E737C145D6', prompt, autoFillTimeMs, holdTimeMs);
1481
+ static uiPromptSetEnabled(prompt: number, toggle: boolean): void {
1482
+ inv<void>('0x8A0FB4D03A630D21', prompt, toggle);
1483
+ }
1484
+
1485
+ static uiPromptFilterClear(): void {
1486
+ inv<void>('0x6A2F820452017EA2');
1509
1487
  }
1510
1488
 
1511
1489
  /**
1490
+ * tabIndex: specifies tab of prompt
1491
+ *
1512
1492
  * @param prompt
1513
- * @returns
1493
+ * @param groupId
1494
+ * @param tabIndex
1514
1495
  */
1515
- static uiPromptHasHoldModeCompleted(prompt: number): boolean {
1516
- return inv<boolean>('0xE0F65F0640EF0617', prompt, rai());
1496
+ static uiPromptSetGroup(prompt: number, groupId: number, tabIndex: number): void {
1497
+ inv<void>('0x2F11D3A254169EA4', prompt, groupId, tabIndex);
1517
1498
  }
1518
1499
 
1519
1500
  /**
1520
- * id is the return value from 0xD9459157EB22C895.
1501
+ * @param text
1502
+ */
1503
+ static busyspinnerSetText(text: string | null): void {
1504
+ inv<void>('0x7F78CD75CC4539E4', text);
1505
+ }
1506
+
1507
+ /**
1508
+ * Returns the hash of the currently highlighted item in the weapon wheel.
1509
+ * Only works while the wheel is open will return false Use in conjunction with IS_CONTROL_JUST_RELEASED(0, 'INPUT_OPEN_WHEEL_MENU') to detect item selection/usage.
1521
1510
  *
1522
- * @param id
1511
+ * @returns
1523
1512
  */
1524
- static uiPromptClearHorizontalOrientation(id: number): void {
1525
- inv<void>('0x6095358C4142932A', id);
1513
+ static weaponWheelGetSelectedItemHash(): any {
1514
+ return inv<number>('0x9C409BBC492CB5B1');
1515
+ }
1516
+
1517
+ /**
1518
+ * @returns
1519
+ */
1520
+ static isRadarPreferenceSwitchedOn(): boolean {
1521
+ return !!inv<boolean>('0x81E47F0EE1F2B21E', rai());
1522
+ }
1523
+
1524
+ static clearAllHelpMessages(): void {
1525
+ inv<void>('0x916ED8321F087059');
1526
1526
  }
1527
1527
 
1528
1528
  /**
@@ -1595,7 +1595,7 @@ export class Hud {
1595
1595
  * @returns
1596
1596
  */
1597
1597
  static uiPromptHasStandardModeCompleted(prompt: number, p1: number): boolean {
1598
- return inv<boolean>('0xC92AC953F0A982AE', prompt, p1, rai());
1598
+ return !!inv<boolean>('0xC92AC953F0A982AE', prompt, p1, rai());
1599
1599
  }
1600
1600
 
1601
1601
  /**
@@ -1603,7 +1603,7 @@ export class Hud {
1603
1603
  * @returns
1604
1604
  */
1605
1605
  static uiPromptIsValid(prompt: number): boolean {
1606
- return inv<boolean>('0x347469FBDD1589A9', prompt, rai());
1606
+ return !!inv<boolean>('0x347469FBDD1589A9', prompt, rai());
1607
1607
  }
1608
1608
 
1609
1609
  /**
@@ -1619,7 +1619,7 @@ export class Hud {
1619
1619
  * @returns
1620
1620
  */
1621
1621
  static isRadarHidden(): boolean {
1622
- return inv<boolean>('0x1B82FD5FFA4D666E', rai());
1622
+ return !!inv<boolean>('0x1B82FD5FFA4D666E', rai());
1623
1623
  }
1624
1624
 
1625
1625
  /**