@nativewrappers/redm-codegen 0.0.5 → 0.0.6

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