@nativewrappers/redm-codegen 0.0.4 → 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 (317) hide show
  1. package/dist/classes/AnimScene.d.ts +109 -109
  2. package/dist/classes/AnimScene.d.ts.map +1 -1
  3. package/dist/classes/AnimScene.js +158 -158
  4. package/dist/classes/BaseModel.d.ts +34 -34
  5. package/dist/classes/BaseModel.d.ts.map +1 -1
  6. package/dist/classes/BaseModel.js +53 -53
  7. package/dist/classes/BaseTask.d.ts +36 -36
  8. package/dist/classes/BaseTask.d.ts.map +1 -1
  9. package/dist/classes/BaseTask.js +44 -44
  10. package/dist/classes/Cam.d.ts +91 -91
  11. package/dist/classes/Cam.d.ts.map +1 -1
  12. package/dist/classes/Cam.js +124 -124
  13. package/dist/classes/Entity.d.ts +507 -502
  14. package/dist/classes/Entity.d.ts.map +1 -1
  15. package/dist/classes/Entity.js +723 -714
  16. package/dist/classes/Interior.d.ts +27 -27
  17. package/dist/classes/Interior.d.ts.map +1 -1
  18. package/dist/classes/Interior.js +42 -42
  19. package/dist/classes/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 +286 -286
  23. package/dist/classes/Ped.d.ts.map +1 -1
  24. package/dist/classes/Ped.js +425 -425
  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 +770 -770
  29. package/dist/classes/PedTask.d.ts.map +1 -1
  30. package/dist/classes/PedTask.js +985 -985
  31. package/dist/classes/PersChar.d.ts +11 -11
  32. package/dist/classes/PersChar.d.ts.map +1 -1
  33. package/dist/classes/PersChar.js +23 -23
  34. package/dist/classes/Pickup.d.ts +6 -6
  35. package/dist/classes/Pickup.d.ts.map +1 -1
  36. package/dist/classes/Pickup.js +12 -12
  37. package/dist/classes/Player.d.ts +237 -233
  38. package/dist/classes/Player.d.ts.map +1 -1
  39. package/dist/classes/Player.js +309 -303
  40. package/dist/classes/Prop.d.ts +126 -126
  41. package/dist/classes/Prop.d.ts.map +1 -1
  42. package/dist/classes/Prop.js +180 -180
  43. package/dist/classes/PropSet.d.ts +16 -16
  44. package/dist/classes/PropSet.d.ts.map +1 -1
  45. package/dist/classes/PropSet.js +22 -22
  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 +17 -17
  53. package/dist/classes/VehicleTask.d.ts.map +1 -1
  54. package/dist/classes/VehicleTask.js +24 -24
  55. package/dist/classes/Volume.d.ts +44 -44
  56. package/dist/classes/Volume.d.ts.map +1 -1
  57. package/dist/classes/Volume.js +58 -58
  58. package/dist/classes/Weapon.d.ts +243 -243
  59. package/dist/classes/Weapon.d.ts.map +1 -1
  60. package/dist/classes/Weapon.js +339 -339
  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 +37 -37
  68. package/dist/namespaces/Animscene.d.ts.map +1 -1
  69. package/dist/namespaces/Animscene.js +51 -51
  70. package/dist/namespaces/Audio.d.ts +395 -395
  71. package/dist/namespaces/Audio.d.ts.map +1 -1
  72. package/dist/namespaces/Audio.js +530 -530
  73. package/dist/namespaces/Bounty.d.ts +23 -23
  74. package/dist/namespaces/Bounty.d.ts.map +1 -1
  75. package/dist/namespaces/Bounty.js +40 -40
  76. package/dist/namespaces/Brain.d.ts +15 -15
  77. package/dist/namespaces/Brain.d.ts.map +1 -1
  78. package/dist/namespaces/Brain.js +20 -20
  79. package/dist/namespaces/CamStatics.d.ts +483 -483
  80. package/dist/namespaces/CamStatics.d.ts.map +1 -1
  81. package/dist/namespaces/CamStatics.js +693 -693
  82. package/dist/namespaces/Clock.d.ts +51 -51
  83. package/dist/namespaces/Clock.d.ts.map +1 -1
  84. package/dist/namespaces/Clock.js +73 -73
  85. package/dist/namespaces/Collection.d.ts +6 -6
  86. package/dist/namespaces/Collection.d.ts.map +1 -1
  87. package/dist/namespaces/Collection.js +11 -11
  88. package/dist/namespaces/Compapp.js +1 -1
  89. package/dist/namespaces/Compendium.d.ts +58 -58
  90. package/dist/namespaces/Compendium.d.ts.map +1 -1
  91. package/dist/namespaces/Compendium.js +83 -83
  92. package/dist/namespaces/Crashlog.js +9 -9
  93. package/dist/namespaces/Crew.d.ts +9 -9
  94. package/dist/namespaces/Crew.d.ts.map +1 -1
  95. package/dist/namespaces/Crew.js +18 -18
  96. package/dist/namespaces/Databinding.d.ts +146 -146
  97. package/dist/namespaces/Databinding.d.ts.map +1 -1
  98. package/dist/namespaces/Databinding.js +218 -218
  99. package/dist/namespaces/Datafile.js +4 -4
  100. package/dist/namespaces/Decorator.d.ts +19 -19
  101. package/dist/namespaces/Decorator.d.ts.map +1 -1
  102. package/dist/namespaces/Decorator.js +34 -34
  103. package/dist/namespaces/Dlc.js +2 -2
  104. package/dist/namespaces/EntityStatics.d.ts +186 -186
  105. package/dist/namespaces/EntityStatics.d.ts.map +1 -1
  106. package/dist/namespaces/EntityStatics.js +249 -249
  107. package/dist/namespaces/Event.js +4 -4
  108. package/dist/namespaces/Fire.d.ts +89 -89
  109. package/dist/namespaces/Fire.d.ts.map +1 -1
  110. package/dist/namespaces/Fire.js +115 -115
  111. package/dist/namespaces/Flock.js +2 -2
  112. package/dist/namespaces/Gang.js +2 -2
  113. package/dist/namespaces/GoogleAnalytics.js +2 -2
  114. package/dist/namespaces/Graphics.d.ts +776 -776
  115. package/dist/namespaces/Graphics.d.ts.map +1 -1
  116. package/dist/namespaces/Graphics.js +1120 -1120
  117. package/dist/namespaces/Hud.d.ts +497 -497
  118. package/dist/namespaces/Hud.d.ts.map +1 -1
  119. package/dist/namespaces/Hud.js +748 -748
  120. package/dist/namespaces/Ik.js +1 -1
  121. package/dist/namespaces/Interaction.js +3 -3
  122. package/dist/namespaces/InteriorStatics.d.ts +40 -40
  123. package/dist/namespaces/InteriorStatics.d.ts.map +1 -1
  124. package/dist/namespaces/InteriorStatics.js +57 -57
  125. package/dist/namespaces/Inventory.d.ts +205 -205
  126. package/dist/namespaces/Inventory.d.ts.map +1 -1
  127. package/dist/namespaces/Inventory.js +340 -340
  128. package/dist/namespaces/Itemdatabase.d.ts +78 -78
  129. package/dist/namespaces/Itemdatabase.d.ts.map +1 -1
  130. package/dist/namespaces/Itemdatabase.js +109 -109
  131. package/dist/namespaces/Itemset.js +2 -2
  132. package/dist/namespaces/Law.d.ts +1 -1
  133. package/dist/namespaces/Law.d.ts.map +1 -1
  134. package/dist/namespaces/Law.js +19 -19
  135. package/dist/namespaces/Localization.js +1 -1
  136. package/dist/namespaces/Map.d.ts +156 -156
  137. package/dist/namespaces/Map.d.ts.map +1 -1
  138. package/dist/namespaces/Map.js +209 -209
  139. package/dist/namespaces/Minigame.d.ts +66 -66
  140. package/dist/namespaces/Minigame.d.ts.map +1 -1
  141. package/dist/namespaces/Minigame.js +111 -111
  142. package/dist/namespaces/Misc.d.ts +3 -3
  143. package/dist/namespaces/Misc.d.ts.map +1 -1
  144. package/dist/namespaces/Misc.js +35 -35
  145. package/dist/namespaces/Missiondata.js +1 -1
  146. package/dist/namespaces/Money.js +3 -3
  147. package/dist/namespaces/Netshopping.d.ts +58 -58
  148. package/dist/namespaces/Netshopping.d.ts.map +1 -1
  149. package/dist/namespaces/Netshopping.js +89 -89
  150. package/dist/namespaces/Network.d.ts +1199 -1199
  151. package/dist/namespaces/Network.d.ts.map +1 -1
  152. package/dist/namespaces/Network.js +1650 -1650
  153. package/dist/namespaces/Object.d.ts +262 -262
  154. package/dist/namespaces/Object.d.ts.map +1 -1
  155. package/dist/namespaces/Object.js +367 -367
  156. package/dist/namespaces/Pad.d.ts +102 -102
  157. package/dist/namespaces/Pad.d.ts.map +1 -1
  158. package/dist/namespaces/Pad.js +141 -141
  159. package/dist/namespaces/Pathfind.js +10 -10
  160. package/dist/namespaces/PedStatics.d.ts +2 -2
  161. package/dist/namespaces/PedStatics.d.ts.map +1 -1
  162. package/dist/namespaces/PedStatics.js +10 -10
  163. package/dist/namespaces/Perschar.d.ts +42 -42
  164. package/dist/namespaces/Perschar.d.ts.map +1 -1
  165. package/dist/namespaces/Perschar.js +59 -59
  166. package/dist/namespaces/Physics.d.ts +37 -37
  167. package/dist/namespaces/Physics.d.ts.map +1 -1
  168. package/dist/namespaces/Physics.js +54 -54
  169. package/dist/namespaces/PlayerStatics.d.ts +68 -68
  170. package/dist/namespaces/PlayerStatics.d.ts.map +1 -1
  171. package/dist/namespaces/PlayerStatics.js +104 -104
  172. package/dist/namespaces/Population.d.ts +86 -86
  173. package/dist/namespaces/Population.d.ts.map +1 -1
  174. package/dist/namespaces/Population.js +116 -116
  175. package/dist/namespaces/Posse.d.ts +48 -48
  176. package/dist/namespaces/Posse.d.ts.map +1 -1
  177. package/dist/namespaces/Posse.js +78 -78
  178. package/dist/namespaces/Propset.d.ts +59 -59
  179. package/dist/namespaces/Propset.d.ts.map +1 -1
  180. package/dist/namespaces/Propset.js +81 -81
  181. package/dist/namespaces/Replay.d.ts +1 -1
  182. package/dist/namespaces/Replay.d.ts.map +1 -1
  183. package/dist/namespaces/Replay.js +2 -2
  184. package/dist/namespaces/Scripts.d.ts +1 -1
  185. package/dist/namespaces/Scripts.d.ts.map +1 -1
  186. package/dist/namespaces/Scripts.js +12 -12
  187. package/dist/namespaces/Socialclub.js +8 -8
  188. package/dist/namespaces/Socialclubfeed.js +1 -1
  189. package/dist/namespaces/Spactionproxy.js +4 -4
  190. package/dist/namespaces/Stats.d.ts +203 -203
  191. package/dist/namespaces/Stats.d.ts.map +1 -1
  192. package/dist/namespaces/Stats.js +294 -294
  193. package/dist/namespaces/Streaming.d.ts +128 -128
  194. package/dist/namespaces/Streaming.d.ts.map +1 -1
  195. package/dist/namespaces/Streaming.js +202 -202
  196. package/dist/namespaces/Task.d.ts +366 -366
  197. package/dist/namespaces/Task.d.ts.map +1 -1
  198. package/dist/namespaces/Task.js +517 -517
  199. package/dist/namespaces/Telemetry.d.ts +83 -83
  200. package/dist/namespaces/Telemetry.d.ts.map +1 -1
  201. package/dist/namespaces/Telemetry.js +111 -111
  202. package/dist/namespaces/Txd.js +1 -1
  203. package/dist/namespaces/Uiapps.d.ts +25 -25
  204. package/dist/namespaces/Uiapps.d.ts.map +1 -1
  205. package/dist/namespaces/Uiapps.js +36 -36
  206. package/dist/namespaces/Uievents.js +1 -1
  207. package/dist/namespaces/Uifeed.js +1 -1
  208. package/dist/namespaces/Uistickyfeed.d.ts +16 -16
  209. package/dist/namespaces/Uistickyfeed.d.ts.map +1 -1
  210. package/dist/namespaces/Uistickyfeed.js +21 -21
  211. package/dist/namespaces/Unlock.js +5 -5
  212. package/dist/namespaces/VehicleStatics.js +12 -12
  213. package/dist/namespaces/Voice.js +7 -7
  214. package/dist/namespaces/VolumeStatics.d.ts +99 -99
  215. package/dist/namespaces/VolumeStatics.d.ts.map +1 -1
  216. package/dist/namespaces/VolumeStatics.js +137 -137
  217. package/dist/namespaces/Water.d.ts +27 -27
  218. package/dist/namespaces/Water.d.ts.map +1 -1
  219. package/dist/namespaces/Water.js +41 -41
  220. package/dist/namespaces/WeaponStatics.d.ts +206 -206
  221. package/dist/namespaces/WeaponStatics.d.ts.map +1 -1
  222. package/dist/namespaces/WeaponStatics.js +303 -303
  223. package/dist/types/NativeAliases.d.ts +3 -1
  224. package/dist/types/NativeAliases.d.ts.map +1 -1
  225. package/dist/types/NativeAliases.js +3 -1
  226. package/package.json +1 -1
  227. package/src/classes/AnimScene.ts +164 -164
  228. package/src/classes/BaseModel.ts +60 -60
  229. package/src/classes/BaseTask.ts +46 -46
  230. package/src/classes/Cam.ts +136 -136
  231. package/src/classes/Entity.ts +738 -727
  232. package/src/classes/Interior.ts +43 -43
  233. package/src/classes/ItemSet.ts +3 -3
  234. package/src/classes/Ped.ts +432 -432
  235. package/src/classes/PedModel.ts +2 -2
  236. package/src/classes/PedTask.ts +1023 -1023
  237. package/src/classes/PersChar.ts +28 -28
  238. package/src/classes/Pickup.ts +13 -13
  239. package/src/classes/Player.ts +326 -319
  240. package/src/classes/Prop.ts +185 -185
  241. package/src/classes/PropSet.ts +25 -25
  242. package/src/classes/Vehicle.ts +147 -147
  243. package/src/classes/VehicleModel.ts +2 -2
  244. package/src/classes/VehicleTask.ts +27 -27
  245. package/src/classes/Volume.ts +62 -62
  246. package/src/classes/Weapon.ts +358 -358
  247. package/src/namespaces/Aicoverpoint.ts +40 -40
  248. package/src/namespaces/Aitransport.ts +104 -104
  249. package/src/namespaces/Animscene.ts +55 -55
  250. package/src/namespaces/Audio.ts +565 -565
  251. package/src/namespaces/Bounty.ts +46 -46
  252. package/src/namespaces/Brain.ts +22 -22
  253. package/src/namespaces/CamStatics.ts +706 -706
  254. package/src/namespaces/Clock.ts +82 -82
  255. package/src/namespaces/Collection.ts +12 -12
  256. package/src/namespaces/Compapp.ts +1 -1
  257. package/src/namespaces/Compendium.ts +94 -94
  258. package/src/namespaces/Crashlog.ts +9 -9
  259. package/src/namespaces/Crew.ts +20 -20
  260. package/src/namespaces/Databinding.ts +222 -222
  261. package/src/namespaces/Datafile.ts +4 -4
  262. package/src/namespaces/Decorator.ts +37 -37
  263. package/src/namespaces/Dlc.ts +2 -2
  264. package/src/namespaces/EntityStatics.ts +259 -259
  265. package/src/namespaces/Event.ts +4 -4
  266. package/src/namespaces/Fire.ts +127 -127
  267. package/src/namespaces/Flock.ts +2 -2
  268. package/src/namespaces/Gang.ts +2 -2
  269. package/src/namespaces/GoogleAnalytics.ts +2 -2
  270. package/src/namespaces/Graphics.ts +1081 -1081
  271. package/src/namespaces/Hud.ts +767 -767
  272. package/src/namespaces/Ik.ts +1 -1
  273. package/src/namespaces/Interaction.ts +3 -3
  274. package/src/namespaces/InteriorStatics.ts +65 -65
  275. package/src/namespaces/Inventory.ts +352 -352
  276. package/src/namespaces/Itemdatabase.ts +121 -121
  277. package/src/namespaces/Itemset.ts +2 -2
  278. package/src/namespaces/Law.ts +20 -20
  279. package/src/namespaces/Localization.ts +1 -1
  280. package/src/namespaces/Map.ts +217 -217
  281. package/src/namespaces/Minigame.ts +119 -119
  282. package/src/namespaces/Misc.ts +38 -38
  283. package/src/namespaces/Missiondata.ts +1 -1
  284. package/src/namespaces/Money.ts +3 -3
  285. package/src/namespaces/Netshopping.ts +99 -99
  286. package/src/namespaces/Network.ts +1738 -1738
  287. package/src/namespaces/Object.ts +370 -370
  288. package/src/namespaces/Pad.ts +155 -155
  289. package/src/namespaces/Pathfind.ts +10 -10
  290. package/src/namespaces/PedStatics.ts +12 -12
  291. package/src/namespaces/Perschar.ts +67 -67
  292. package/src/namespaces/Physics.ts +62 -62
  293. package/src/namespaces/PlayerStatics.ts +112 -112
  294. package/src/namespaces/Population.ts +131 -131
  295. package/src/namespaces/Posse.ts +81 -81
  296. package/src/namespaces/Propset.ts +92 -92
  297. package/src/namespaces/Replay.ts +3 -3
  298. package/src/namespaces/Scripts.ts +13 -13
  299. package/src/namespaces/Socialclub.ts +8 -8
  300. package/src/namespaces/Socialclubfeed.ts +1 -1
  301. package/src/namespaces/Spactionproxy.ts +4 -4
  302. package/src/namespaces/Stats.ts +296 -296
  303. package/src/namespaces/Streaming.ts +236 -236
  304. package/src/namespaces/Task.ts +583 -583
  305. package/src/namespaces/Telemetry.ts +125 -125
  306. package/src/namespaces/Txd.ts +1 -1
  307. package/src/namespaces/Uiapps.ts +43 -43
  308. package/src/namespaces/Uievents.ts +1 -1
  309. package/src/namespaces/Uifeed.ts +1 -1
  310. package/src/namespaces/Uistickyfeed.ts +23 -23
  311. package/src/namespaces/Unlock.ts +5 -5
  312. package/src/namespaces/VehicleStatics.ts +12 -12
  313. package/src/namespaces/Voice.ts +7 -7
  314. package/src/namespaces/VolumeStatics.ts +143 -143
  315. package/src/namespaces/Water.ts +47 -47
  316. package/src/namespaces/WeaponStatics.ts +311 -311
  317. package/src/types/NativeAliases.ts +6 -1
@@ -14,124 +14,168 @@ import { inv, rai, raf, ras, rav, pvi, pvf, pvv, pvii, pvfi, _h, f } from '../ty
14
14
 
15
15
  export class Graphics {
16
16
  /**
17
- * Health Core Effect Filter Potency: p1 = 1
18
- * Stamina Core Effect Filter Potency: p1 = 2
19
- * Multiple Core Effect Filter Potency: p1 = 3
17
+ * When this is set to ON, shadows only draw as you get nearer. When OFF, they draw from a further distance.
20
18
  *
21
- * @param effectName
22
- * @param p1
23
- * @param potency
19
+ * @param toggle
24
20
  */
25
- static animpostfxSetPotency(effectName: string | null, p1: number, potency: number): void {
26
- inv<void>('0xF972F0AB16DC5260', effectName, p1, f(potency));
21
+ static cascadeShadowsEnableEntityTracker(toggle: boolean): void {
22
+ inv<void>('0x8FBFD2AEB196B369', toggle);
27
23
  }
28
24
 
29
25
  /**
30
- * @returns
26
+ * Only used in R* Script nb_stalking_hunter
27
+ *
28
+ * @param p0
31
29
  */
32
- static pedshotIsAvailable(): any {
33
- return inv<number>('0xAF6E67D073D2DCE2');
30
+ static N_0xD1472AFF30C103D6(p0: number): void {
31
+ inv<void>('0xD1472AFF30C103D6', f(p0));
34
32
  }
35
33
 
36
34
  /**
37
- * @param p0
35
+ * @param worldX
36
+ * @param worldY
37
+ * @param worldZ
38
+ * @returns screenX; screenY
38
39
  */
39
- static N_0xD9BC98B55BCFAA9B(p0: any): void {
40
- inv<void>('0xD9BC98B55BCFAA9B', p0);
40
+ static getScreenCoordFromWorldCoord(worldX: number, worldY: number, worldZ: number): [boolean, number, number] {
41
+ const result = inv<[boolean, number, number]>('0xCB50D7AFCC8B0EC6', f(worldX), f(worldY), f(worldZ), pvf(), pvf(), rai());
42
+ return [!!result[0], result[1], result[2]];
41
43
  }
42
44
 
43
45
  /**
46
+ * @param point
44
47
  * @param pos
45
- * @param xScale
46
- * @param yScale
47
- * @param rotation
48
+ * @param radius
49
+ */
50
+ static setTrackedPointInfo(point: number, pos: Vector3, radius: number): void {
51
+ inv<void>('0xF6FDA3D4404D4F2C', point, f(pos.x), f(pos.y), f(pos.z), f(radius));
52
+ }
53
+
54
+ /**
55
+ * Draws a 2D sprite on the screen. Parameters:
56
+ * textureDict - Name of texture dictionary to load texture from textureName - Name of texture to load from texture dictionary screenX/Y - Screen offset (0.5 = center)
57
+ * scaleX/Y - Texture scaling. Negative values can be used to flip the texture on that axis. (0.5 = half) heading - Texture rotation in degrees (default = 0.0) positive is clockwise, measured in degrees red,green,blue - Sprite color (default = 255/255/255) alpha - opacity level https://github.com/femga/rdr3_discoveries/tree/master/useful_info_from_rpfs/textures
58
+ *
59
+ * @param textureDict
60
+ * @param textureName
61
+ * @param screenX
62
+ * @param screenY
63
+ * @param width
64
+ * @param height
65
+ * @param heading
48
66
  * @param color
49
67
  * @param alpha
68
+ * @param p11
50
69
  */
51
- static drawTvChannel(pos: Vector2, xScale: number, yScale: number, rotation: number, color: Color, alpha: number): void {
52
- inv<void>('0xC0A145540254A840', f(pos.x), f(pos.y), f(xScale), f(yScale), f(rotation), color.r, color.g, color.b, color.a, alpha);
70
+ static drawSprite(textureDict: string | null, textureName: string | null, screenX: number, screenY: number, width: number, height: number, heading: number, color: Color, alpha: number, p11: boolean): void {
71
+ inv<void>('0xC9884ECADE94CB34', textureDict, textureName, f(screenX), f(screenY), f(width), f(height), f(heading), color.r, color.g, color.b, color.a, alpha, p11);
53
72
  }
54
73
 
55
74
  /**
56
- * @param handle
75
+ * @returns
57
76
  */
58
- static removeGrassCullSphere(handle: number): void {
59
- inv<void>('0xAE7BF7CA9E4BA48D', handle);
77
+ static getCurrentNumberOfLocalPhotos(): number {
78
+ return inv<number>('0x78C56B8A7B1D000C', rai());
60
79
  }
61
80
 
62
81
  /**
63
- * @param slots
64
- * @returns
82
+ * @param ptfxHandle
83
+ * @param p1
65
84
  */
66
- static createSwatchTextureDict(slots: number): any {
67
- return inv<number>('0x3D084D5568FB4028', slots);
85
+ static removeParticleFx(ptfxHandle: number, p1: boolean): void {
86
+ inv<void>('0x459598F579C98929', ptfxHandle, p1);
68
87
  }
69
88
 
70
89
  /**
71
- * _GET_C* - _GET_E*
90
+ * Removes all decals in range from a position, it includes the bullet holes, blood pools, petrol...
72
91
  *
73
- * @returns
92
+ * @param pos
93
+ * @param range
74
94
  */
75
- static getModifiedVisibilityDistance(): number {
76
- return inv<number>('0x25CA89B2A39DCC69', raf());
95
+ static removeDecalsInRange(pos: Vector3, range: number): void {
96
+ inv<void>('0x86DE59FA02902B40', f(pos.x), f(pos.y), f(pos.z), f(range));
77
97
  }
78
98
 
79
99
  /**
80
- * nullsub, doesn't do anything
81
- *
82
100
  * @param p0
83
101
  */
84
- static N_0x94B261F1F35293E1(p0: any): void {
85
- inv<void>('0x94B261F1F35293E1', p0);
102
+ static setPhotoOverlayEffectStat(p0: number): void {
103
+ inv<void>('0x8B3296278328B5EB', p0);
86
104
  }
87
105
 
88
106
  /**
89
- * Probably changes tvs from being a 3d audio to being "global" audio
90
- *
91
- * @param toggle
107
+ * @param ptfxHandle
108
+ * @param r
109
+ * @param g
110
+ * @param b
111
+ * @param p4
92
112
  */
93
- static setTvAudioFrontend(toggle: boolean): void {
94
- inv<void>('0x64437C98FCC5F291', toggle);
113
+ static setParticleFxLoopedColour(ptfxHandle: number, r: number, g: number, b: number, p4: boolean): void {
114
+ inv<void>('0x239879FC61C610CC', ptfxHandle, f(r), f(g), f(b), p4);
95
115
  }
96
116
 
97
117
  /**
98
- * @returns
118
+ * @param effectNameHash
99
119
  */
100
- static getTimecycleTransitionModifierIndex(): number {
101
- return inv<number>('0x2DA67BA3C8A6755D', rai());
120
+ static animpostfxStopStackhashPostfx(effectNameHash: string | number): void {
121
+ inv<void>('0xEDA5CBECF56E1386', _h(effectNameHash));
122
+ }
123
+
124
+ /**
125
+ * @param value
126
+ */
127
+ static changePhotoModeContrast(value: number): void {
128
+ inv<void>('0x62B9F9A1272AED80', f(value));
102
129
  }
103
130
 
104
131
  /**
105
132
  * @param ptfxHandle
106
- * @param propertyName
107
- * @param amount
108
- * @param noNetwork
133
+ * @param alpha
109
134
  */
110
- static setParticleFxLoopedEvolution(ptfxHandle: number, propertyName: string | null, amount: number, noNetwork: boolean): void {
111
- inv<void>('0x3674F389B0FACD80', ptfxHandle, propertyName, f(amount), noNetwork);
135
+ static setParticleFxLoopedAlpha(ptfxHandle: number, alpha: number): void {
136
+ inv<void>('0x88786E76234F7054', ptfxHandle, f(alpha));
112
137
  }
113
138
 
114
139
  /**
115
- * @param effectName
140
+ * @param p0
141
+ * @param p1
142
+ * @param p2
143
+ * @param p3
116
144
  * @returns
117
145
  */
118
- static animpostfxHasLoaded(effectName: string | null): any {
119
- return inv<number>('0xBF2DD155B2ADCD0A', effectName);
146
+ static N_0xA15CCAB8AD038291(p0: any, p1: any, p2: any, p3: any): any {
147
+ return inv<number>('0xA15CCAB8AD038291', p0, p1, p2, p3);
120
148
  }
121
149
 
122
150
  /**
123
- * @param decal
151
+ * @param entity
152
+ */
153
+ static removeEntityFromEntityMask(entity: Entity): void {
154
+ inv<void>('0x56A786E87FF53478', entity.handle);
155
+ }
156
+
157
+ /**
158
+ * @param p0
159
+ * @param p1
160
+ * @param p2
161
+ */
162
+ static setParticleFxNonLoopedEmitterScale(p0: number, p1: number, p2: number): void {
163
+ inv<void>('0x56C392C2BD78B024', f(p0), f(p1), f(p2));
164
+ }
165
+
166
+ /**
167
+ * @param effectNameHash
124
168
  * @returns
125
169
  */
126
- static isDecalAlive(decal: number): boolean {
127
- return inv<boolean>('0x3E4B4E5CF5D3EEB5', decal, rai());
170
+ static animpostfxIsStackhashPlaying(effectNameHash: string | number): any {
171
+ return inv<number>('0xEEF83A759AE06A27', _h(effectNameHash));
128
172
  }
129
173
 
130
174
  /**
131
175
  * @param p0
132
176
  */
133
- static N_0x453D16D41FC51D3E(p0: boolean): void {
134
- inv<void>('0x453D16D41FC51D3E', p0);
177
+ static N_0x503941F65DBA24EC(p0: any): void {
178
+ inv<void>('0x503941F65DBA24EC', p0);
135
179
  }
136
180
 
137
181
  /**
@@ -142,187 +186,91 @@ export class Graphics {
142
186
  * @param p4
143
187
  * @param p5
144
188
  * @param p6
145
- * @returns
146
189
  */
147
- static N_0xE63D68F455CA0B47(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any): any {
148
- return inv<number>('0xE63D68F455CA0B47', p0, p1, p2, p3, p4, p5, p6);
190
+ static N_0x48FE0DB54045B975(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any): void {
191
+ inv<void>('0x48FE0DB54045B975', p0, p1, p2, p3, p4, p5, p6);
149
192
  }
150
193
 
151
- /**
152
- * @param pos
153
- * @param colorR
154
- * @param colorG
155
- * @param colorB
156
- * @param range
157
- * @param intensity
158
- */
159
- static drawLightWithRange(pos: Vector3, colorR: number, colorG: number, colorB: number, range: number, intensity: number): void {
160
- inv<void>('0xD2D9E04C0DF927F4', f(pos.x), f(pos.y), f(pos.z), colorR, colorG, colorB, f(range), f(intensity));
194
+ static cascadeShadowsClearShadowSampleType(): void {
195
+ inv<void>('0xF7C29D7C12C36F03');
161
196
  }
162
197
 
163
198
  /**
164
- * Only used in guama1 R* SP Script while spawning the ship
165
- * *SET_ENTITY_QUATERNION** - SET_ENTITY_RENDER_*
199
+ * Draws a rectangle on the screen. -x: The relative X point of the center of the rectangle. (0.0-1.0, 0.0 is the left edge of the screen, 1.0 is the right edge of the screen) -y: The relative Y point of the center of the rectangle. (0.0-1.0, 0.0 is the top edge of the screen, 1.0 is the bottom edge of the screen) -width: The relative width of the rectangle. (0.0-1.0, 1.0 means the whole screen width) -height: The relative height of the rectangle. (0.0-1.0, 1.0 means the whole screen height) -R: Red part of the color. (0-255) -G: Green part of the color. (0-255) -B: Blue part of the color. (0-255) -A: Alpha part of the color. (0-255, 0 means totally transparent, 255 means totally opaque)
166
200
  *
167
- * @param vehicle
168
- * @param toggle
201
+ * @param x
202
+ * @param y
203
+ * @param width
204
+ * @param height
205
+ * @param color
206
+ * @param alpha
207
+ * @param p8
208
+ * @param p9
169
209
  */
170
- static setEntityRenderGuarmaShip(vehicle: Vehicle, toggle: boolean): void {
171
- inv<void>('0xC38B4952B728397A', vehicle.handle, toggle);
210
+ static drawRect(x: number, y: number, width: number, height: number, color: Color, alpha: number, p8: boolean, p9: boolean): void {
211
+ inv<void>('0x405224591DF02025', f(x), f(y), f(width), f(height), color.r, color.g, color.b, color.a, alpha, p8, p9);
172
212
  }
173
213
 
174
214
  /**
175
- * @param effectName
176
- * @param entity
177
- * @param offset
178
- * @param rot
179
- * @param scale
180
- * @param axisX
181
- * @param axisY
182
- * @param axisZ
183
- * @returns
215
+ * @param tvChannel
216
+ * @param playlistName
217
+ * @param restart
184
218
  */
185
- static startNetworkedParticleFxNonLoopedOnEntity(effectName: string | null, entity: Entity, offset: Vector3, rot: Vector3, scale: number, axisX: boolean, axisY: boolean, axisZ: boolean): boolean {
186
- return inv<boolean>('0xE6CFE43937061143', effectName, entity.handle, f(offset.x), f(offset.y), f(offset.z), f(rot.x), f(rot.y), f(rot.z), f(scale), axisX, axisY, axisZ, rai());
219
+ static setTvChannelPlaylist(tvChannel: number, playlistName: string | null, restart: boolean): void {
220
+ inv<void>('0xDEC6B25F5DC8925B', tvChannel, playlistName, restart);
187
221
  }
188
222
 
189
223
  /**
190
- * @param lock
224
+ * @param checkpoint
191
225
  */
192
- static setPhotoModeExposureLocked(lock: boolean): void {
193
- inv<void>('0x5CD6A2CCE5087161', lock);
194
- }
195
-
196
- static N_0x815653A42C5ABE76(): void {
197
- inv<void>('0x815653A42C5ABE76');
226
+ static deleteCheckpoint(checkpoint: number): void {
227
+ inv<void>('0x0DED5B0C8EBAAE12', checkpoint);
198
228
  }
199
229
 
200
230
  /**
201
- * @param effectName
202
- * @returns
231
+ * *DISABLE**
232
+ *
233
+ * @param p0
203
234
  */
204
- static animpostfxIsTagPlaying(effectName: string | null): any {
205
- return inv<number>('0x2D4F9C852CE8A253', effectName);
235
+ static N_0xFB680A9B33D0EDBE(p0: boolean): void {
236
+ inv<void>('0xFB680A9B33D0EDBE', p0);
206
237
  }
207
238
 
208
239
  /**
209
- * enum class eSnowCoverageType
210
- * {
211
- * Primary,
212
- * Secondary,
213
- * Xmas,
214
- * XmasSecondary // since b1232
215
- * };
216
- *
217
- * @param type
240
+ * @returns
218
241
  */
219
- static setSnowCoverageType(type: number): void {
220
- inv<void>('0xF02A9C330BBFC5C7', type);
242
+ static N_0xC28F62AC9774FC1B(): any {
243
+ return inv<number>('0xC28F62AC9774FC1B');
221
244
  }
222
245
 
223
246
  /**
224
- * @param effectNameHash
247
+ * @param p1
248
+ * @param p2
249
+ * @param p3
250
+ * @returns p0
225
251
  */
226
- static animpostfxPlayTag(effectNameHash: string | number): void {
227
- inv<void>('0x9B8D5D4CB8AF58B3', _h(effectNameHash));
252
+ static loadMissionCreatorPhoto(p1: any, p2: any, p3: any): [boolean, number] {
253
+ const result = inv<[boolean, number]>('0x84F0BA7462FF8D58', pvi(), p1, p2, p3, rai());
254
+ return [!!result[0], result[1]];
228
255
  }
229
256
 
230
257
  /**
231
- * @param pickupObject
232
- * @param toggle
258
+ * @param entity
259
+ * @returns layer0; layer1; layer2; layer3
233
260
  */
234
- static blockPickupObjectLight(pickupObject: Prop, toggle: boolean): void {
235
- inv<void>('0x50C14328119E1DD1', pickupObject.handle, toggle);
261
+ static getEntityMaskLayers(entity: Entity): [boolean, number, number, number, number] {
262
+ const result = inv<[boolean, number, number, number, number]>('0xE8A8378BF651079C', entity.handle, pvf(), pvf(), pvf(), pvf(), rai());
263
+ return [!!result[0], result[1], result[2], result[3], result[4]];
236
264
  }
237
265
 
238
266
  /**
239
- * @param effectName
240
- * @param entity
241
- * @param offset
242
- * @param rot
243
- * @param scale
244
- * @param xAxis
245
- * @param yAxis
246
- * @param zAxis
247
- * @returns
248
- */
249
- static startNetworkedParticleFxLoopedOnEntity(effectName: string | null, entity: Entity, offset: Vector3, rot: Vector3, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean): number {
250
- return inv<number>('0x8F90AB32E1944BDE', effectName, entity.handle, f(offset.x), f(offset.y), f(offset.z), f(rot.x), f(rot.y), f(rot.z), f(scale), xAxis, yAxis, zAxis, rai());
251
- }
252
-
253
- /**
254
- * @param pos
255
- * @param radius
256
- */
257
- static removeParticleFxInRange(pos: Vector3, radius: number): void {
258
- inv<void>('0x87B5905ECA623B68', f(pos.x), f(pos.y), f(pos.z), f(radius));
259
- }
260
-
261
- /**
262
- * https://github.com/femga/rdr3_discoveries/blob/master/graphics/ptfx/ptfx_assets_looped.lua
263
- *
264
- * @param effectName
265
- * @param pos
266
- * @param rot
267
- * @param scale
268
- * @param xAxis
269
- * @param yAxis
270
- * @param zAxis
271
- * @param p11
272
- * @returns
273
- */
274
- static startParticleFxLoopedAtCoord(effectName: string | null, pos: Vector3, rot: Vector3, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean, p11: boolean): number {
275
- return inv<number>('0xBA32867E86125D3A', effectName, f(pos.x), f(pos.y), f(pos.z), f(rot.x), f(rot.y), f(rot.z), f(scale), xAxis, yAxis, zAxis, p11, rai());
276
- }
277
-
278
- /**
279
- * @returns
280
- */
281
- static getTimecycleModifierIndex(): number {
282
- return inv<number>('0xA705394293E2B3D3', rai());
283
- }
284
-
285
- /**
286
- * nullsub, doesn't do anything
287
- *
288
- * @param toggle
289
- */
290
- static enableMovieSubtitles(toggle: boolean): void {
291
- inv<void>('0x6FC9B065229C0787', toggle);
292
- }
293
-
294
- /**
295
- * @param p0
296
- * @param p1
297
- * @param p2
298
- * @param p3
299
- * @param p4
300
- */
301
- static N_0x171C18E994C1A395(p0: any, p1: any, p2: any, p3: any, p4: any): void {
302
- inv<void>('0x171C18E994C1A395', p0, p1, p2, p3, p4);
303
- }
304
-
305
- /**
306
- * Doesn't actually return anything. ANIMPOSTFX_*
307
- *
308
- * @returns
309
- */
310
- static N_0xC37792A3F9C90771(): any {
311
- return inv<number>('0xC37792A3F9C90771');
312
- }
313
-
314
- /**
315
- * Adds Vegetation Blocking Zone, Added Snow Flattening veg mod Zone
316
- * Returns veg modifier handle
317
- *
318
- * @param volume
267
+ * @param ped
319
268
  * @param p1
320
- * @param flags
269
+ * @param size
321
270
  * @param p3
322
- * @returns
323
271
  */
324
- static addVegModifierZone(volume: Volume, p1: number, flags: number, p3: number): number {
325
- return inv<number>('0xBD3324281E8B9933', volume.handle, p1, flags, p3, rai());
272
+ static addBloodPoolsForPedWithParams(ped: Ped, p1: number, size: number, p3: number): void {
273
+ inv<void>('0xC349EE1E6EFA494B', ped.handle, f(p1), f(size), f(p3));
326
274
  }
327
275
 
328
276
  /**
@@ -367,7 +315,7 @@ export class Graphics {
367
315
  * @returns
368
316
  */
369
317
  static isPhotoFrame(): boolean {
370
- return inv<boolean>('0x86076AE35CBBE55F', rai());
318
+ return !!inv<boolean>('0x86076AE35CBBE55F', rai());
371
319
  }
372
320
 
373
321
  /**
@@ -392,7 +340,7 @@ export class Graphics {
392
340
  * @returns
393
341
  */
394
342
  static animpostfxIsRunning(effectName: string | null): boolean {
395
- return inv<boolean>('0x4A123E85D7C4CA0B', effectName, rai());
343
+ return !!inv<boolean>('0x4A123E85D7C4CA0B', effectName, rai());
396
344
  }
397
345
 
398
346
  /**
@@ -414,7 +362,7 @@ export class Graphics {
414
362
  * @returns
415
363
  */
416
364
  static N_0xE75CDDEBF618C8FF(effectNameHash: string | number): boolean {
417
- return inv<boolean>('0xE75CDDEBF618C8FF', _h(effectNameHash), rai());
365
+ return !!inv<boolean>('0xE75CDDEBF618C8FF', _h(effectNameHash), rai());
418
366
  }
419
367
 
420
368
  /**
@@ -460,7 +408,7 @@ export class Graphics {
460
408
  * @returns
461
409
  */
462
410
  static beginCreateLowQualityCopyOfPhoto(p0: number): boolean {
463
- return inv<boolean>('0x494A9874F17A7D50', p0, rai());
411
+ return !!inv<boolean>('0x494A9874F17A7D50', p0, rai());
464
412
  }
465
413
 
466
414
  /**
@@ -508,7 +456,7 @@ export class Graphics {
508
456
  * @returns
509
457
  */
510
458
  static N_0xFD05B1DDE83749FA(p0: string | null): boolean {
511
- return inv<boolean>('0xFD05B1DDE83749FA', p0, rai());
459
+ return !!inv<boolean>('0xFD05B1DDE83749FA', p0, rai());
512
460
  }
513
461
 
514
462
  /**
@@ -523,7 +471,7 @@ export class Graphics {
523
471
  * @returns
524
472
  */
525
473
  static doesParticleFxLoopedExist(ptfxHandle: number): boolean {
526
- return inv<boolean>('0x9DD5AFF561E88F2A', ptfxHandle, rai());
474
+ return !!inv<boolean>('0x9DD5AFF561E88F2A', ptfxHandle, rai());
527
475
  }
528
476
 
529
477
  /**
@@ -538,14 +486,14 @@ export class Graphics {
538
486
  * @returns
539
487
  */
540
488
  static startParticleFxNonLoopedOnEntity(effectName: string | null, entity: Entity, offset: Vector3, rot: Vector3, scale: number, axisX: boolean, axisY: boolean, axisZ: boolean): boolean {
541
- return inv<boolean>('0xFF4C64C513388C12', effectName, entity.handle, f(offset.x), f(offset.y), f(offset.z), f(rot.x), f(rot.y), f(rot.z), f(scale), axisX, axisY, axisZ, rai());
489
+ return !!inv<boolean>('0xFF4C64C513388C12', effectName, entity.handle, f(offset.x), f(offset.y), f(offset.z), f(rot.x), f(rot.y), f(rot.z), f(scale), axisX, axisY, axisZ, rai());
542
490
  }
543
491
 
544
492
  /**
545
493
  * @returns
546
494
  */
547
495
  static getTogglePausedRenderphasesStatus(): boolean {
548
- return inv<boolean>('0x86ED21BDB2791CE8', rai());
496
+ return !!inv<boolean>('0x86ED21BDB2791CE8', rai());
549
497
  }
550
498
 
551
499
  /**
@@ -597,7 +545,7 @@ export class Graphics {
597
545
  * @returns
598
546
  */
599
547
  static N_0xB958D97A0DFAA0C2(effectName: string | null): boolean {
600
- return inv<boolean>('0xB958D97A0DFAA0C2', effectName, rai());
548
+ return !!inv<boolean>('0xB958D97A0DFAA0C2', effectName, rai());
601
549
  }
602
550
 
603
551
  /**
@@ -614,513 +562,444 @@ export class Graphics {
614
562
  }
615
563
 
616
564
  /**
617
- * Creates blood pools for the given ped in some interval for a few seconds.
565
+ * @param p0
566
+ * @param p1
567
+ */
568
+ static N_0xC489FE31AC726512(p0: any, p1: any): void {
569
+ inv<void>('0xC489FE31AC726512', p0, p1);
570
+ }
571
+
572
+ /**
573
+ * https://i.imgur.com/rPITUCV.jpg
574
+ * More customizable and more like quadrants
618
575
  *
619
- * @param ped
576
+ * @param pos
577
+ * @param p3
578
+ * @param size
579
+ * @param p5
580
+ * @param permanent
581
+ * @param p7
582
+ * @param p8
620
583
  */
621
- static addBloodPoolsForPed(ped: Ped): void {
622
- inv<void>('0xDFCE8CE9F3EBE93F', ped.handle);
584
+ static addBloodPool2(pos: Vector3, p3: number, size: number, p5: number, permanent: boolean, p7: number, p8: boolean): void {
585
+ inv<void>('0xF708298675ABDC6A', f(pos.x), f(pos.y), f(pos.z), f(p3), f(size), f(p5), permanent, f(p7), p8);
623
586
  }
624
587
 
625
588
  /**
626
- * @param texture
627
- * @param ped
628
- * @param playerSlot
629
- * @returns
589
+ * p1: 0.3f in R* Scripts
590
+ *
591
+ * @param waypointRecording
592
+ * @param p1
630
593
  */
631
- static pedshotGeneratePersonaPhoto(texture: string | null, ped: Ped, playerSlot: number): boolean {
632
- return inv<boolean>('0xD9C24F53631F2372', texture, ped.handle, playerSlot, rai());
594
+ static bloodTrailForWaypoint(waypointRecording: string | null, p1: number): void {
595
+ inv<void>('0xB9C92616929CC25D', waypointRecording, f(p1));
633
596
  }
634
597
 
635
598
  /**
636
- * @returns
599
+ * @param ptfxHandle
600
+ * @param range
637
601
  */
638
- static queueOperationToCreateSortedListOfPhotos(): any {
639
- return inv<number>('0xA42EDF1E88734A7E');
602
+ static setParticleFxLoopedFarClipDist(ptfxHandle: number, range: number): void {
603
+ inv<void>('0x9B04D471DA0AD7AA', ptfxHandle, f(range));
640
604
  }
641
605
 
642
606
  /**
643
607
  * @param p0
608
+ * @param p1
644
609
  */
645
- static setRegionPhotoTakenStat(p0: string | null): void {
646
- inv<void>('0xD1031B83AC093BC7', p0);
610
+ static N_0x085C5B61A0114F32(p0: any, p1: any): void {
611
+ inv<void>('0x085C5B61A0114F32', p0, p1);
647
612
  }
648
613
 
649
614
  /**
650
- * @param effectName
615
+ * @param p0
651
616
  */
652
- static animpostfxSetToUnload(effectName: string | null): void {
653
- inv<void>('0x37D7BDBA89F13959', effectName);
617
+ static N_0x9F158A49B0D84C3C(p0: any): void {
618
+ inv<void>('0x9F158A49B0D84C3C', p0);
654
619
  }
655
620
 
656
621
  /**
657
- * @param proxyInteriorIndex
658
622
  * @returns
659
623
  */
660
- static isProxyInteriorIndexArtificialLightsEnabled(proxyInteriorIndex: number): any {
661
- return inv<number>('0x113857D66A9CABE6', proxyInteriorIndex);
624
+ static N_0x5C674EB487891F6B(): any {
625
+ return inv<number>('0x5C674EB487891F6B');
662
626
  }
663
627
 
664
628
  /**
665
- * @param p0
629
+ * Params: component - used in odriscolls1 and sean1 R* SP Script: COMPONENT_BINOCULARS_SCOPE01
630
+ * Triggers the binocular scaleform
631
+ *
632
+ * @param component
666
633
  */
667
- static setPhotoInPhotomodeStat(p0: boolean): void {
668
- inv<void>('0xFA91736933AB3D93', p0);
634
+ static N_0x21F00E08CBB5F37B(component: string | null): void {
635
+ inv<void>('0x21F00E08CBB5F37B', component);
669
636
  }
670
637
 
671
638
  /**
672
- * @param entity
673
- * @param intensity
639
+ * Sets an unknown value related to timecycles.
640
+ *
641
+ * @param unk
674
642
  */
675
- static setLightsIntensityForEntity(entity: Entity, intensity: number): void {
676
- inv<void>('0x07C0F87AAC57F2E4', entity.handle, f(intensity));
643
+ static resetAdaptation(unk: number): void {
644
+ inv<void>('0x297B72E2AF094742', unk);
677
645
  }
678
646
 
679
647
  /**
680
- * @param entity
648
+ * @param effectNameHash
681
649
  */
682
- static updateLightsOnEntity(entity: Entity): void {
683
- inv<void>('0xBDBACB52A03CC760', entity.handle);
650
+ static animpostfxPreloadPostfxByStackhash(effectNameHash: string | number): void {
651
+ inv<void>('0xF3E039322BFBD4D8', _h(effectNameHash));
684
652
  }
685
653
 
686
654
  /**
687
- * @returns
655
+ * @param effectNameHash
656
+ * @param p1
657
+ * @param p2
658
+ * @returns p3
688
659
  */
689
- static getStatusOfTakeHighQualityPhoto(): number {
690
- return inv<number>('0x4A3DA74C3CCB1725', rai());
660
+ static animpostfxHasEventTriggeredByStackhash(effectNameHash: string | number, p1: number, p2: boolean): [any, boolean] {
661
+ const result = inv<[number, number]>('0x9AB192A9EF980EED', _h(effectNameHash), p1, p2, pvi());
662
+ return [result[0], !!result[1]];
663
+ }
664
+
665
+ static destroySwatchTextureDict(): void {
666
+ inv<void>('0xDAD7FB8402651654');
691
667
  }
692
668
 
693
669
  /**
694
670
  * @returns
695
671
  */
696
- static N_0x285438C26C732F9D(): any {
697
- return inv<number>('0x285438C26C732F9D');
672
+ static beginTakeHighQualityPhoto(): any {
673
+ return inv<number>('0xA15BFFC0A01B34E1');
698
674
  }
699
675
 
700
676
  /**
701
- * Sets a flag defining whether or not script draw commands should continue being drawn behind the pause menu. This is usually used for draw commands that are used with a world render target.
677
+ * Old name: _IS_TV_PLAYLIST_ITEM_PLAYING
702
678
  *
703
- * @param toggle
679
+ * @param videoCliphash
680
+ * @returns
704
681
  */
705
- static setScriptGfxDrawBehindPausemenu(toggle: boolean): void {
706
- inv<void>('0x906B86E6D7896B9E', toggle);
682
+ static isTvshowCurrentlyPlaying(videoCliphash: string | number): boolean {
683
+ return !!inv<boolean>('0x4D562223E0EB65F3', _h(videoCliphash), rai());
707
684
  }
708
685
 
709
686
  /**
710
687
  * @param p0
711
688
  */
712
- static setDistrictPhotoTakenStat(p0: string | null): void {
713
- inv<void>('0x9937FACBBF267244', p0);
689
+ static N_0x8996FA6AD9FE4E90(p0: any): void {
690
+ inv<void>('0x8996FA6AD9FE4E90', p0);
714
691
  }
715
692
 
716
693
  /**
717
- * @param effectName
718
- * @param ped
719
- * @param offset
720
- * @param rot
721
- * @param boneIndex
722
- * @param scale
723
- * @param xAxis
724
- * @param yAxis
725
- * @param zAxis
726
- * @returns
694
+ * @param obj
727
695
  */
728
- static startParticleFxLoopedOnPedBone(effectName: string | null, ped: Ped, offset: Vector3, rot: Vector3, boneIndex: number, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean): number {
729
- return inv<number>('0xE689C1B1432BB8AF', effectName, ped.handle, f(offset.x), f(offset.y), f(offset.z), f(rot.x), f(rot.y), f(rot.z), boneIndex, f(scale), xAxis, yAxis, zAxis, rai());
696
+ static removeDecalsFromObject(obj: Prop): void {
697
+ inv<void>('0xFB8972BAE0013140', obj.handle);
730
698
  }
731
699
 
732
700
  /**
733
- * @param p0
701
+ * https://github.com/femga/rdr3_discoveries/blob/master/graphics/markers/marker_types.lua
702
+ * Old name: _DRAW_MARKER
703
+ *
704
+ * @param type
705
+ * @param pos
706
+ * @param direction
707
+ * @param rot
708
+ * @param scale
709
+ * @param color
710
+ * @param alpha
711
+ * @param bobUpAndDown
712
+ * @param faceCamera
713
+ * @param p19
714
+ * @param rotate
715
+ * @param textureDict
716
+ * @param textureName
717
+ * @param drawOnEnts
734
718
  */
735
- static setPhotoStudioStat(p0: number): void {
736
- inv<void>('0x8E6AFF353C09652E', p0);
719
+ static drawMarker(type: string | number, pos: Vector3, direction: Vector3, rot: Vector3, scale: Vector3, color: Color, alpha: number, bobUpAndDown: boolean, faceCamera: boolean, p19: number, rotate: boolean, textureDict: string | null, textureName: string | null, drawOnEnts: boolean): void {
720
+ inv<void>('0x2A32FAA57B937173', _h(type), f(pos.x), f(pos.y), f(pos.z), f(direction.x), f(direction.y), f(direction.z), f(rot.x), f(rot.y), f(rot.z), f(scale.x), f(scale.y), f(scale.z), color.r, color.g, color.b, color.a, alpha, bobUpAndDown, faceCamera, p19, rotate, textureDict, textureName, drawOnEnts);
737
721
  }
738
722
 
739
723
  /**
740
- * @param effectName
724
+ * @param r
725
+ * @param g
726
+ * @param b
741
727
  */
742
- static animpostfxStop(effectName: string | null): void {
743
- inv<void>('0xB4FD7446BAB2F394', effectName);
744
- }
745
-
746
- static resetPausedRenderphases(): void {
747
- inv<void>('0xCCD9AAD85E1B559E');
728
+ static setParticleFxNonLoopedColour(r: number, g: number, b: number): void {
729
+ inv<void>('0x60B85BED6577A35B', f(r), f(g), f(b));
748
730
  }
749
731
 
750
732
  /**
751
- * @param unused
752
- * @returns
733
+ * @param p0
753
734
  */
754
- static saveHighQualityPhoto(unused: number): any {
755
- return inv<number>('0x57639FD876B68A91', unused);
756
- }
757
-
758
- /**
759
- * @param pos
760
- * @param p2
761
- */
762
- static setCloudLayer(pos: Vector2, p2: number): void {
763
- inv<void>('0xB8C984C0D47F4F07', f(pos.x), f(pos.y), p2);
764
- }
765
-
766
- /**
767
- * @param p0
768
- * @returns
769
- */
770
- static N_0xEC3D8C228FE553D7(p0: boolean): boolean {
771
- return inv<boolean>('0xEC3D8C228FE553D7', p0, rai());
772
- }
773
-
774
- /**
775
- * *RESET**
776
- */
777
- static N_0x1460B644397453EB(): void {
778
- inv<void>('0x1460B644397453EB');
779
- }
780
-
781
- /**
782
- * @param personaPhotoLocalCacheType
783
- */
784
- static pedshotSetPersonaPhotoType(personaPhotoLocalCacheType: number): void {
785
- inv<void>('0x196D3ACBEBA4A44B', personaPhotoLocalCacheType);
786
- }
787
-
788
- static pedshotFinishCleanupData(): void {
789
- inv<void>('0xC2B8164C3BE871A4');
790
- }
791
-
792
- static N_0x1C6306E5BC25C29C(): void {
793
- inv<void>('0x1C6306E5BC25C29C');
794
- }
795
-
796
- /**
797
- * @param pos
798
- */
799
- static setCloudNoise(pos: Vector3): void {
800
- inv<void>('0xFE7966DF01452F32', f(pos.x), f(pos.y), f(pos.z));
735
+ static N_0xF5793BB386E1FF9C(p0: any): void {
736
+ inv<void>('0xF5793BB386E1FF9C', p0);
801
737
  }
802
738
 
803
739
  /**
740
+ * Used in shop scripts for CATALOG_BOOK
741
+ * false = Normal -> [CATALOG_BOOK_SHUTDOWN]
742
+ * true = Trees flickering? -> [CATALOG_BOOK_OPEN]
743
+ *
804
744
  * @param p0
805
745
  */
806
- static N_0xEB48CE48EEC41FD4(p0: any): void {
807
- inv<void>('0xEB48CE48EEC41FD4', p0);
746
+ static N_0x1A9F09AB458D49C6(p0: boolean): void {
747
+ inv<void>('0x1A9F09AB458D49C6', p0);
808
748
  }
809
749
 
810
750
  /**
811
- * Used in NET_CAMP_SPIRIT_ANIMAL_CLEAR_ANIMAL_VISIBILITY
812
- *
813
- * @param entity
751
+ * @param effectName
752
+ * @param duration
814
753
  */
815
- static N_0xC06F2F45A73EABCD(entity: Entity): void {
816
- inv<void>('0xC06F2F45A73EABCD', entity.handle);
754
+ static animpostfxPlayTimed(effectName: string | null, duration: number): void {
755
+ inv<void>('0x3A9A281FF71249E9', effectName, duration);
817
756
  }
818
757
 
819
758
  /**
820
759
  * @param effectName
821
- * @param pos
760
+ * @param entity
761
+ * @param offset
822
762
  * @param rot
763
+ * @param boneIndex
823
764
  * @param scale
824
765
  * @param xAxis
825
766
  * @param yAxis
826
767
  * @param zAxis
827
768
  * @returns
828
769
  */
829
- static startNetworkedParticleFxNonLoopedAtCoord(effectName: string | null, pos: Vector3, rot: Vector3, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean): boolean {
830
- return inv<boolean>('0xFB97618457994A62', effectName, f(pos.x), f(pos.y), f(pos.z), f(rot.x), f(rot.y), f(rot.z), f(scale), xAxis, yAxis, zAxis, rai());
831
- }
832
-
833
- /**
834
- * @returns
835
- */
836
- static getPhotoModeExposure(): number {
837
- return inv<number>('0x06C0D8BB6B04A709', raf());
770
+ static startNetworkedParticleFxLoopedOnEntityBone(effectName: string | null, entity: Entity, offset: Vector3, rot: Vector3, boneIndex: number, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean): number {
771
+ return inv<number>('0x9C56621462FFE7A6', effectName, entity.handle, f(offset.x), f(offset.y), f(offset.z), f(rot.x), f(rot.y), f(rot.z), boneIndex, f(scale), xAxis, yAxis, zAxis, rai());
838
772
  }
839
773
 
840
774
  /**
841
- * _SET_PARTICLE_FX_LOOPED_FA* - _SET_PARTICLE_FX_LOOPED_OF*
842
- *
843
- * @param ptfxHandle
844
- * @param scalar
775
+ * @param p0
776
+ * @param p1
777
+ * @param p2
845
778
  */
846
- static setParticleFxLoopedUpdateDistantSmoke(ptfxHandle: number, scalar: number): void {
847
- inv<void>('0x9DDC222D85D5AF2A', ptfxHandle, f(scalar));
779
+ static N_0x735762E8D7573E42(p0: any, p1: any, p2: any): void {
780
+ inv<void>('0x735762E8D7573E42', p0, p1, p2);
848
781
  }
849
782
 
850
783
  /**
851
- * Known effects: MP_Trans_SceneToPhoto
852
- * MP_Trans_WinLose
853
- * SpectateFilter
854
- * MP_CharacterCreatorPhoto
855
- * MP_Trans_PhotoToScene
856
- * InterrogationHit
784
+ * Only used in guama1 R* Script
785
+ * Disables lod/distant lights when BOOL is set to true
857
786
  *
858
- * @param effectName
859
- * @returns
860
- */
861
- static animpostfxGetStackhash(effectName: string | null): number {
862
- return (inv<number>('0x842CCC9491FFCD9B', effectName, rai())) & 0xFFFFFFFF;
863
- }
864
-
865
- /**
866
- * @param height
787
+ * @param disable
867
788
  */
868
- static setCloudHeight(height: number): void {
869
- inv<void>('0xC332C91388F5580B', f(height));
789
+ static disableFarArtificialLights(disable: boolean): void {
790
+ inv<void>('0xCD284E2F6AC27EE9', disable);
870
791
  }
871
792
 
872
793
  /**
873
- * Related to Campfires.
874
- * p1: AMB_BONFIRE_MP, AMB_CAMPFIRE_LRG_MP
875
- *
876
- * @param entity
877
- * @param p1
878
- * @param r
879
- * @param g
880
- * @param b
794
+ * @param decal
881
795
  */
882
- static setParticleFxAmbientColour(entity: Entity, p1: string | null, r: number, g: number, b: number): void {
883
- inv<void>('0x3C61B52B00848C26', entity.handle, p1, f(r), f(g), f(b));
796
+ static removeDecal(decal: number): void {
797
+ inv<void>('0x49A720552EB0BB88', decal);
884
798
  }
885
799
 
886
800
  /**
887
- * Resets the effect of SET_PARTICLE_FX_OVERRIDE
801
+ * Hardcoded to always set x to 1280 and y to 720.
888
802
  *
889
- * @param name
803
+ * @returns x; y
890
804
  */
891
- static resetParticleFxOverride(name: string | null): void {
892
- inv<void>('0x274B3DABF7E72DEF', name);
805
+ static getScreenResolution(): [number, number] {
806
+ const result = inv<[number, number]>('0x66773C92835D0909', pvi(), pvi());
807
+ return [result[0], result[1]];
893
808
  }
894
809
 
895
810
  /**
896
- * must be called after ANIMPOSTFX_PLAY, strength 0.0f - 1.0f
811
+ * ANIMPOSTFX_*
897
812
  *
898
813
  * @param effectName
899
- * @param strength
900
- */
901
- static animpostfxSetStrength(effectName: string | null, strength: number): void {
902
- inv<void>('0xCAB4DD2D5B2B7246', effectName, f(strength));
903
- }
904
-
905
- /**
906
- * @param p0
907
- * @param p1
908
- * @param p2
909
- * @param p3
910
- * @param p4
911
- */
912
- static N_0xCC3B787E73E64160(p0: any, p1: any, p2: any, p3: any, p4: any): void {
913
- inv<void>('0xCC3B787E73E64160', p0, p1, p2, p3, p4);
914
- }
915
-
916
- /**
917
- * @param volume
918
- */
919
- static setTvVolume(volume: number): void {
920
- inv<void>('0x73A97068787D7231', f(volume));
921
- }
922
-
923
- /**
924
- * Creates a tracked point, useful for checking the visibility of a 3D point on screen.
925
- *
926
- * @returns
927
- */
928
- static createTrackedPoint(): number {
929
- return inv<number>('0xFB405CB357C69CB9', rai());
930
- }
931
-
932
- /**
933
- * @param effectNameHash
934
- * @returns
935
814
  */
936
- static animpostfxIsPreloadingByStackhash(effectNameHash: string | number): any {
937
- return inv<number>('0x59EA80079B86D8C7', _h(effectNameHash));
815
+ static N_0xA201A3D0AC087C37(effectName: string | null): void {
816
+ inv<void>('0xA201A3D0AC087C37', effectName);
938
817
  }
939
818
 
940
819
  /**
941
- * @param personaPhotoLocalCacheType
820
+ * @param modifierName
821
+ * @param transitionBlend
942
822
  */
943
- static N_0xA1A86055792FB249(personaPhotoLocalCacheType: number): void {
944
- inv<void>('0xA1A86055792FB249', personaPhotoLocalCacheType);
823
+ static setTransitionTimecycleModifier(modifierName: string | null, transitionBlend: number): void {
824
+ inv<void>('0xFF927A09F481D80C', modifierName, f(transitionBlend));
945
825
  }
946
826
 
947
- /**
948
- * @param p0
949
- */
950
- static setPhotoSelfStat(p0: boolean): void {
951
- inv<void>('0x2705D18C11B61046', p0);
827
+ static enableEntitymask(): void {
828
+ inv<void>('0xFAAD23DE7A54FC14');
952
829
  }
953
830
 
954
831
  /**
955
- * https://github.com/femga/rdr3_discoveries/blob/master/graphics/animpostfx
832
+ * fxName: see data_0/data/effects/ptfx/fxlists/
956
833
  *
957
- * @param effectName
958
- */
959
- static animpostfxPlay(effectName: string | null): void {
960
- inv<void>('0x4102732DF6B4005F', effectName);
961
- }
962
-
963
- /**
964
- * *DISABLE**
834
+ * @param fxName
965
835
  */
966
- static N_0x4046493D2EEACA0E(): void {
967
- inv<void>('0x4046493D2EEACA0E');
836
+ static useParticleFxAsset(fxName: string | null): void {
837
+ inv<void>('0xA10DB07FC234DD12', fxName);
968
838
  }
969
839
 
970
- static pedshotPreviousPersonaPhotoDataCleanup(): void {
971
- inv<void>('0x3E2FDDBE435A8787');
840
+ static animpostfxStopAll(): void {
841
+ inv<void>('0x66560A0D4C64FD21');
972
842
  }
973
843
 
974
844
  /**
975
- * effectName2, p2 and p3 are unused ANIMPOSTFX_*
976
- *
977
- * @param effectName
978
- * @param effectName2
979
- * @param p2
980
- * @param p3
845
+ * @param pickup
846
+ * @param toggle
981
847
  */
982
- static N_0x26DD2FB0A88CC412(effectName: string | null, effectName2: string | null, p2: any, p3: any): void {
983
- inv<void>('0x26DD2FB0A88CC412', effectName, effectName2, p2, p3);
848
+ static blockPickupPlacementLight(pickup: Pickup, toggle: boolean): void {
849
+ inv<void>('0x0552AA3FFC5B87AA', pickup.handle, toggle);
984
850
  }
985
851
 
986
852
  /**
987
- * Example: https://pastebin.com/tTgpER9A
853
+ * ANIMPOSTFX_*
988
854
  *
989
- * @param slot
990
- * @param p1
855
+ * @param effectNameHash
991
856
  */
992
- static generateSwatchTextureDirectly(slot: number, p1: any): void {
993
- inv<void>('0x646ED1A1D28487DF', slot, p1);
857
+ static N_0x38D9D50F2085E9B3(effectNameHash: string | number): void {
858
+ inv<void>('0x38D9D50F2085E9B3', _h(effectNameHash));
994
859
  }
995
860
 
996
861
  /**
997
- * @param p0
862
+ * Used for script function RPG_GLOBAL_STATS__PRIVATE__DEACTIVATE_STAT_FLAG - Inspiration Aura unequip
998
863
  */
999
- static setParticleFxBulletImpactLodrangeScale(p0: number): void {
1000
- inv<void>('0x8DCCC98DC0DBF9E4', f(p0));
864
+ static resetEntityAura(): void {
865
+ inv<void>('0xAF4D239B8903FCBE');
1001
866
  }
1002
867
 
1003
868
  /**
1004
869
  * @param p0
1005
870
  * @param p1
871
+ * @param p2
872
+ * @param p3
873
+ * @param p4
874
+ * @param p5
875
+ * @param p6
876
+ * @param p7
877
+ * @param p8
878
+ * @param p9
879
+ * @param p10
880
+ * @param p11
881
+ * @param p12
882
+ * @param p13
883
+ * @param p14
884
+ * @param p15
885
+ * @param p16
886
+ * @param p17
887
+ * @param p18
888
+ * @param p19
889
+ * @param p20
890
+ * @param p21
891
+ * @returns
1006
892
  */
1007
- static N_0x1FF8731BE1DFC0C0(p0: any, p1: any): void {
1008
- inv<void>('0x1FF8731BE1DFC0C0', p0, p1);
893
+ static addDecal(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any, p7: any, p8: any, p9: any, p10: any, p11: any, p12: any, p13: any, p14: any, p15: any, p16: any, p17: any, p18: any, p19: any, p20: any, p21: any): number {
894
+ return inv<number>('0x57CB267624EF85C0', p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, rai());
1009
895
  }
1010
896
 
1011
897
  /**
1012
- * When this is set to ON, shadows only draw as you get nearer. When OFF, they draw from a further distance.
1013
- *
1014
- * @param toggle
898
+ * _SET_D* or _SET_E*
1015
899
  */
1016
- static cascadeShadowsEnableEntityTracker(toggle: boolean): void {
1017
- inv<void>('0x8FBFD2AEB196B369', toggle);
900
+ static N_0xB032C085D9A03907(): void {
901
+ inv<void>('0xB032C085D9A03907');
1018
902
  }
1019
903
 
1020
904
  /**
1021
- * Only used in R* Script nb_stalking_hunter
905
+ * Returns handle to be used with REMOVE_GRASS_CULL_SPHERE
1022
906
  *
1023
- * @param p0
907
+ * @param pos
908
+ * @param p3
909
+ * @param p4
910
+ * @returns
1024
911
  */
1025
- static N_0xD1472AFF30C103D6(p0: number): void {
1026
- inv<void>('0xD1472AFF30C103D6', f(p0));
912
+ static setGrassCullSphere(pos: Vector3, p3: number, p4: number): number {
913
+ return inv<number>('0x27219300C36A8D40', f(pos.x), f(pos.y), f(pos.z), f(p3), p4, rai());
1027
914
  }
1028
915
 
1029
- /**
1030
- * @param worldX
1031
- * @param worldY
1032
- * @param worldZ
1033
- * @returns screenX; screenY
1034
- */
1035
- static getScreenCoordFromWorldCoord(worldX: number, worldY: number, worldZ: number): [boolean, number, number] {
1036
- const result = inv<[boolean, number, number]>('0xCB50D7AFCC8B0EC6', f(worldX), f(worldY), f(worldZ), pvf(), pvf(), rai());
1037
- return [!!result[0], result[1], result[2]];
916
+ static N_0xA21AF60C9F99CCC5(): void {
917
+ inv<void>('0xA21AF60C9F99CCC5');
1038
918
  }
1039
919
 
1040
920
  /**
1041
- * @param point
1042
- * @param pos
1043
- * @param radius
921
+ * @param effectName
922
+ * @param entity
923
+ * @param offset
924
+ * @param rot
925
+ * @param scale
926
+ * @param xAxis
927
+ * @param yAxis
928
+ * @param zAxis
929
+ * @returns
1044
930
  */
1045
- static setTrackedPointInfo(point: number, pos: Vector3, radius: number): void {
1046
- inv<void>('0xF6FDA3D4404D4F2C', point, f(pos.x), f(pos.y), f(pos.z), f(radius));
931
+ static startParticleFxLoopedOnEntity(effectName: string | null, entity: Entity, offset: Vector3, rot: Vector3, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean): number {
932
+ return inv<number>('0xBD41E1440CE39800', effectName, entity.handle, f(offset.x), f(offset.y), f(offset.z), f(rot.x), f(rot.y), f(rot.z), f(scale), xAxis, yAxis, zAxis, rai());
1047
933
  }
1048
934
 
1049
935
  /**
1050
- * Draws a 2D sprite on the screen. Parameters:
1051
- * textureDict - Name of texture dictionary to load texture from textureName - Name of texture to load from texture dictionary screenX/Y - Screen offset (0.5 = center)
1052
- * scaleX/Y - Texture scaling. Negative values can be used to flip the texture on that axis. (0.5 = half) heading - Texture rotation in degrees (default = 0.0) positive is clockwise, measured in degrees red,green,blue - Sprite color (default = 255/255/255) alpha - opacity level https://github.com/femga/rdr3_discoveries/tree/master/useful_info_from_rpfs/textures
936
+ * 0 = succeeded
937
+ * 1 = getting status
938
+ * 2 = failed
1053
939
  *
1054
- * @param textureDict
1055
- * @param textureName
1056
- * @param screenX
1057
- * @param screenY
1058
- * @param width
1059
- * @param height
1060
- * @param heading
1061
- * @param color
1062
- * @param alpha
1063
- * @param p11
940
+ * @returns
1064
941
  */
1065
- static drawSprite(textureDict: string | null, textureName: string | null, screenX: number, screenY: number, width: number, height: number, heading: number, color: Color, alpha: number, p11: boolean): void {
1066
- inv<void>('0xC9884ECADE94CB34', textureDict, textureName, f(screenX), f(screenY), f(width), f(height), f(heading), color.r, color.g, color.b, color.a, alpha, p11);
942
+ static getStatusOfSortedListOperation(): number {
943
+ return inv<number>('0xB28894CD7408BD0C', rai());
1067
944
  }
1068
945
 
1069
946
  /**
1070
947
  * @returns
1071
948
  */
1072
- static getCurrentNumberOfLocalPhotos(): number {
1073
- return inv<number>('0x78C56B8A7B1D000C', rai());
949
+ static getPhotoModeContrast(): number {
950
+ return inv<number>('0x98F4154989B81EC6', raf());
1074
951
  }
1075
952
 
1076
953
  /**
1077
- * @param ptfxHandle
1078
- * @param p1
954
+ * @param pos
1079
955
  */
1080
- static removeParticleFx(ptfxHandle: number, p1: boolean): void {
1081
- inv<void>('0x459598F579C98929', ptfxHandle, p1);
956
+ static addBloodTrailPoint(pos: Vector3): void {
957
+ inv<void>('0xDD9DC1AB63D513CE', f(pos.x), f(pos.y), f(pos.z));
1082
958
  }
1083
959
 
1084
960
  /**
1085
- * Removes all decals in range from a position, it includes the bullet holes, blood pools, petrol...
961
+ * Returns whether the 'killFX' setting is enabled. ANIMPOSTFX_*
1086
962
  *
1087
- * @param pos
1088
- * @param range
963
+ * @returns
1089
964
  */
1090
- static removeDecalsInRange(pos: Vector3, range: number): void {
1091
- inv<void>('0x86DE59FA02902B40', f(pos.x), f(pos.y), f(pos.z), f(range));
965
+ static N_0xFF584F097C17FA8F(): boolean {
966
+ return !!inv<boolean>('0xFF584F097C17FA8F', rai());
1092
967
  }
1093
968
 
1094
969
  /**
970
+ * Old name: _GET_STATUS_OF_DRAW_LOW_QUALITY_PHOTO
971
+ *
1095
972
  * @param p0
973
+ * @returns
1096
974
  */
1097
- static setPhotoOverlayEffectStat(p0: number): void {
1098
- inv<void>('0x8B3296278328B5EB', p0);
975
+ static getStatusOfCreateLowQualityCopyOfPhoto(p0: any): number {
976
+ return inv<number>('0x13430D3D5A45F14B', p0, rai());
1099
977
  }
1100
978
 
1101
979
  /**
1102
- * @param ptfxHandle
1103
- * @param r
1104
- * @param g
1105
- * @param b
1106
- * @param p4
980
+ * @param effectName
1107
981
  */
1108
- static setParticleFxLoopedColour(ptfxHandle: number, r: number, g: number, b: number, p4: boolean): void {
1109
- inv<void>('0x239879FC61C610CC', ptfxHandle, f(r), f(g), f(b), p4);
982
+ static animpostfxClearEffect(effectName: string | null): void {
983
+ inv<void>('0xC5CB91D65852ED7E', effectName);
984
+ }
985
+
986
+ static pedshotInitCleanupData(): void {
987
+ inv<void>('0x55285F885F662169');
1110
988
  }
1111
989
 
1112
990
  /**
1113
- * @param effectNameHash
991
+ * @param vegModifierHandle
992
+ * @param p1
1114
993
  */
1115
- static animpostfxStopStackhashPostfx(effectNameHash: string | number): void {
1116
- inv<void>('0xEDA5CBECF56E1386', _h(effectNameHash));
994
+ static removeVegModifierSphere(vegModifierHandle: number, p1: number): void {
995
+ inv<void>('0x9CF1836C03FB67A2', vegModifierHandle, p1);
1117
996
  }
1118
997
 
1119
998
  /**
1120
- * @param value
999
+ * @param p0
1121
1000
  */
1122
- static changePhotoModeContrast(value: number): void {
1123
- inv<void>('0x62B9F9A1272AED80', f(value));
1001
+ static setStatePhotoTakenStat(p0: string | null): void {
1002
+ inv<void>('0x8952E857696B8A79', p0);
1124
1003
  }
1125
1004
 
1126
1005
  /**
@@ -1190,7 +1069,7 @@ export class Graphics {
1190
1069
  * @returns
1191
1070
  */
1192
1071
  static N_0x3DA7A10583A4BEC0(): boolean {
1193
- return inv<boolean>('0x3DA7A10583A4BEC0', rai());
1072
+ return !!inv<boolean>('0x3DA7A10583A4BEC0', rai());
1194
1073
  }
1195
1074
 
1196
1075
  /**
@@ -1262,268 +1141,420 @@ export class Graphics {
1262
1141
  inv<void>('0xD543487A1F12828F', p0, p1, p2, p3);
1263
1142
  }
1264
1143
 
1265
- static N_0xEC3F7F24EEEB3BA3(): void {
1266
- inv<void>('0xEC3F7F24EEEB3BA3');
1144
+ /**
1145
+ * @param p0
1146
+ */
1147
+ static N_0xFF8018C778349234(p0: any): void {
1148
+ inv<void>('0xFF8018C778349234', p0);
1267
1149
  }
1268
1150
 
1269
1151
  /**
1270
- * Used in CREATE_BEZIER_BLOOD_TRAIL_OF_TYPE
1152
+ * Old name: _SET_HIDOF_ENV_BLUR_PARAMS
1271
1153
  *
1272
1154
  * @param p0
1155
+ * @param p1
1156
+ * @param p2
1157
+ * @param p3
1158
+ * @param p4
1159
+ * @param p5
1273
1160
  */
1274
- static N_0x41F88A85A579A61D(p0: number): void {
1275
- inv<void>('0x41F88A85A579A61D', f(p0));
1161
+ static setHidofOverride(p0: boolean, p1: boolean, p2: number, p3: number, p4: number, p5: number): void {
1162
+ inv<void>('0xCC23AA1A7CBFE840', p0, p1, f(p2), f(p3), f(p4), f(p5));
1276
1163
  }
1277
1164
 
1278
- static freeMemoryForLowQualityPhoto(): void {
1279
- inv<void>('0x614682E715ADBAAC');
1165
+ /**
1166
+ * @param effectName
1167
+ * @param entity
1168
+ * @param offset
1169
+ * @param rot
1170
+ * @param boneIndex
1171
+ * @param scale
1172
+ * @param xAxis
1173
+ * @param yAxis
1174
+ * @param zAxis
1175
+ * @returns
1176
+ */
1177
+ static startParticleFxLoopedOnEntityBone(effectName: string | null, entity: Entity, offset: Vector3, rot: Vector3, boneIndex: number, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean): number {
1178
+ return inv<number>('0xD3BA6EC7F2FBD5E9', effectName, entity.handle, f(offset.x), f(offset.y), f(offset.z), f(rot.x), f(rot.y), f(rot.z), boneIndex, f(scale), xAxis, yAxis, zAxis, rai());
1280
1179
  }
1281
1180
 
1282
- static freeMemoryForHighQualityPhoto(): void {
1283
- inv<void>('0xD45547D8396F002A');
1181
+ /**
1182
+ * Sets the checkpoint icon color.
1183
+ *
1184
+ * @param checkpoint
1185
+ * @param color
1186
+ * @param alpha
1187
+ */
1188
+ static setCheckpointRgba2(checkpoint: number, color: Color, alpha: number): void {
1189
+ inv<void>('0x99AFF17222D4DEB4', checkpoint, color.r, color.g, color.b, color.a, alpha);
1284
1190
  }
1285
1191
 
1286
- static N_0x32DE2BFFDA43E62A(): void {
1287
- inv<void>('0x32DE2BFFDA43E62A');
1192
+ /**
1193
+ * nullsub, doesn't do anything (GTA5 leftover, there is no phone in RDR3)
1194
+ *
1195
+ * @param p0
1196
+ * @param photoRotation
1197
+ */
1198
+ static drawLowQualityPhotoToPhone(p0: boolean, photoRotation: number): void {
1199
+ inv<void>('0xF1142E5D64B47802', p0, photoRotation);
1288
1200
  }
1289
1201
 
1290
1202
  /**
1291
- * Resets the exposure to the value when exposure lock was enabled
1203
+ * https://gfycat.com/meagerfaireyra
1204
+ *
1205
+ * @param entity
1206
+ * @param color
1292
1207
  */
1293
- static updatePhotoModeExposure(): void {
1294
- inv<void>('0x9229ED770975BD9E');
1208
+ static setLightsColorForEntity(entity: Entity, color: Color): void {
1209
+ inv<void>('0x6EC2A67962296F49', entity.handle, color.r, color.g, color.b, color.a);
1295
1210
  }
1296
1211
 
1297
1212
  /**
1298
1213
  * @param effectName
1214
+ * @param ped
1215
+ * @param offset
1216
+ * @param rot
1217
+ * @param boneIndex
1218
+ * @param scale
1219
+ * @param axisX
1220
+ * @param axisY
1221
+ * @param axisZ
1222
+ * @returns
1299
1223
  */
1300
- static animpostfxPreloadPostfx(effectName: string | null): void {
1301
- inv<void>('0x5199405EABFBD7F0', effectName);
1224
+ static startParticleFxNonLoopedOnPedBone2(effectName: string | null, ped: Ped, offset: Vector3, rot: Vector3, boneIndex: number, scale: number, axisX: boolean, axisY: boolean, axisZ: boolean): any {
1225
+ return inv<number>('0xC695870B8A149B96', effectName, ped.handle, f(offset.x), f(offset.y), f(offset.z), f(rot.x), f(rot.y), f(rot.z), boneIndex, f(scale), axisX, axisY, axisZ);
1226
+ }
1227
+
1228
+ static N_0x981C7D863980FA51(): void {
1229
+ inv<void>('0x981C7D863980FA51');
1302
1230
  }
1303
1231
 
1304
1232
  /**
1305
- * @param strength
1233
+ * @param p0
1234
+ * @param p1
1306
1235
  */
1307
- static setTransitionOutOfTimecycleModifier(strength: number): void {
1308
- inv<void>('0xBB6C707F20D955D4', f(strength));
1236
+ static N_0x9F6D859C80708B26(p0: boolean, p1: boolean): void {
1237
+ inv<void>('0x9F6D859C80708B26', p0, p1);
1309
1238
  }
1310
1239
 
1311
1240
  /**
1312
- * @param effectName
1313
- * @param p1
1314
- * @param color
1315
- * @param alpha
1241
+ * @param oldAsset
1242
+ * @param newAsset
1316
1243
  */
1317
- static animpostfxSetPostfxColor(effectName: string | null, p1: number, color: Color, alpha: number): void {
1318
- inv<void>('0x63011D0C7C6519E0', effectName, p1, color.r, color.g, color.b, color.a, alpha);
1244
+ static setParticleFxOverride(oldAsset: string | null, newAsset: string | null): void {
1245
+ inv<void>('0xBE711A169E9C7E95', oldAsset, newAsset);
1319
1246
  }
1320
1247
 
1321
1248
  /**
1322
1249
  * @param p0
1323
1250
  * @param p1
1324
1251
  */
1325
- static startPetrolTrailDecals(p0: any, p1: any): void {
1326
- inv<void>('0x46F246D6504F0031', p0, p1);
1252
+ static N_0xA0F4D12D6042F6D5(p0: any, p1: any): void {
1253
+ inv<void>('0xA0F4D12D6042F6D5', p0, p1);
1254
+ }
1255
+
1256
+ /**
1257
+ * @param ptfxHandle
1258
+ * @param pos
1259
+ * @param rot
1260
+ */
1261
+ static setParticleFxLoopedOffsets(ptfxHandle: number, pos: Vector3, rot: Vector3): void {
1262
+ inv<void>('0xD3A4A95FC94FE83B', ptfxHandle, f(pos.x), f(pos.y), f(pos.z), f(rot.x), f(rot.y), f(rot.z));
1263
+ }
1264
+
1265
+ /**
1266
+ * @param p0
1267
+ */
1268
+ static disableStaticVegModifier(p0: string | number): void {
1269
+ inv<void>('0xDD0BC0EDCB2162F6', _h(p0));
1270
+ }
1271
+
1272
+ /**
1273
+ * @param ptfxHandle
1274
+ * @param scale
1275
+ */
1276
+ static setParticleFxLoopedScale(ptfxHandle: number, scale: number): void {
1277
+ inv<void>('0x1A9E1C0D98D093B7', ptfxHandle, f(scale));
1278
+ }
1279
+
1280
+ /**
1281
+ * https://github.com/femga/rdr3_discoveries/blob/master/graphics/ptfx/ptfx_assets_non_looped.lua
1282
+ *
1283
+ * @param effectName
1284
+ * @param pos
1285
+ * @param rot
1286
+ * @param scale
1287
+ * @param eventType
1288
+ * @param bPeekOnly
1289
+ * @param bIsRegistered
1290
+ * @returns
1291
+ */
1292
+ static startParticleFxNonLoopedAtCoord(effectName: string | null, pos: Vector3, rot: Vector3, scale: number, eventType: number, bPeekOnly: boolean, bIsRegistered: boolean): number {
1293
+ return inv<number>('0x2E80BF72EF7C87AC', effectName, f(pos.x), f(pos.y), f(pos.z), f(rot.x), f(rot.y), f(rot.z), f(scale), eventType, bPeekOnly, bIsRegistered, rai());
1294
+ }
1295
+
1296
+ /**
1297
+ * @param p0
1298
+ * @returns
1299
+ */
1300
+ static isStaticVegModifierEnabled(p0: string | number): any {
1301
+ return inv<number>('0xDE9BAD3292AA6D5E', _h(p0));
1302
+ }
1303
+
1304
+ /**
1305
+ * Creates blood pools for the given ped in some interval for a few seconds.
1306
+ *
1307
+ * @param ped
1308
+ */
1309
+ static addBloodPoolsForPed(ped: Ped): void {
1310
+ inv<void>('0xDFCE8CE9F3EBE93F', ped.handle);
1311
+ }
1312
+
1313
+ /**
1314
+ * @param texture
1315
+ * @param ped
1316
+ * @param playerSlot
1317
+ * @returns
1318
+ */
1319
+ static pedshotGeneratePersonaPhoto(texture: string | null, ped: Ped, playerSlot: number): boolean {
1320
+ return !!inv<boolean>('0xD9C24F53631F2372', texture, ped.handle, playerSlot, rai());
1321
+ }
1322
+
1323
+ /**
1324
+ * @returns
1325
+ */
1326
+ static queueOperationToCreateSortedListOfPhotos(): any {
1327
+ return inv<number>('0xA42EDF1E88734A7E');
1328
+ }
1329
+
1330
+ /**
1331
+ * @param p0
1332
+ */
1333
+ static setRegionPhotoTakenStat(p0: string | null): void {
1334
+ inv<void>('0xD1031B83AC093BC7', p0);
1335
+ }
1336
+
1337
+ /**
1338
+ * @param effectName
1339
+ */
1340
+ static animpostfxSetToUnload(effectName: string | null): void {
1341
+ inv<void>('0x37D7BDBA89F13959', effectName);
1342
+ }
1343
+
1344
+ /**
1345
+ * @param proxyInteriorIndex
1346
+ * @returns
1347
+ */
1348
+ static isProxyInteriorIndexArtificialLightsEnabled(proxyInteriorIndex: number): any {
1349
+ return inv<number>('0x113857D66A9CABE6', proxyInteriorIndex);
1350
+ }
1351
+
1352
+ /**
1353
+ * @param p0
1354
+ */
1355
+ static setPhotoInPhotomodeStat(p0: boolean): void {
1356
+ inv<void>('0xFA91736933AB3D93', p0);
1357
+ }
1358
+
1359
+ /**
1360
+ * @param entity
1361
+ * @param intensity
1362
+ */
1363
+ static setLightsIntensityForEntity(entity: Entity, intensity: number): void {
1364
+ inv<void>('0x07C0F87AAC57F2E4', entity.handle, f(intensity));
1327
1365
  }
1328
1366
 
1329
1367
  /**
1330
- * @param pickupObject
1331
- * @param allow
1368
+ * @param entity
1332
1369
  */
1333
- static allowPickupLightSync(pickupObject: Prop, allow: boolean): void {
1334
- inv<void>('0x7C348310A6E2FB91', pickupObject.handle, allow);
1335
- }
1336
-
1337
- static freeMemoryForMissionCreatorPhoto(): void {
1338
- inv<void>('0x7DFF8F94937D2659');
1370
+ static updateLightsOnEntity(entity: Entity): void {
1371
+ inv<void>('0xBDBACB52A03CC760', entity.handle);
1339
1372
  }
1340
1373
 
1341
1374
  /**
1342
- * Returns veg modifier handle
1343
- *
1344
- * @param pos
1345
- * @param radius
1346
- * @param modType
1347
- * @param flags
1348
- * @param p6
1349
1375
  * @returns
1350
1376
  */
1351
- static addVegModifierSphere(pos: Vector3, radius: number, modType: number, flags: number, p6: number): number {
1352
- return inv<number>('0xFA50F79257745E74', f(pos.x), f(pos.y), f(pos.z), f(radius), modType, flags, p6, rai());
1377
+ static getStatusOfTakeHighQualityPhoto(): number {
1378
+ return inv<number>('0x4A3DA74C3CCB1725', rai());
1353
1379
  }
1354
1380
 
1355
1381
  /**
1356
- * Only used in R* SP Script spd_agnesdown1
1357
- *
1358
- * @param p0
1359
- * @param pos
1360
- * @param p4
1361
- * @param p5
1362
- * @param heading
1363
1382
  * @returns
1364
1383
  */
1365
- static N_0x402E1A61D2587FCD(p0: any, pos: Vector3, p4: number, p5: number, heading: number): boolean {
1366
- return inv<boolean>('0x402E1A61D2587FCD', p0, f(pos.x), f(pos.y), f(pos.z), f(p4), f(p5), f(heading), rai());
1384
+ static N_0x285438C26C732F9D(): any {
1385
+ return inv<number>('0x285438C26C732F9D');
1367
1386
  }
1368
1387
 
1369
1388
  /**
1370
- * @returns
1389
+ * Sets a flag defining whether or not script draw commands should continue being drawn behind the pause menu. This is usually used for draw commands that are used with a world render target.
1390
+ *
1391
+ * @param toggle
1371
1392
  */
1372
- static N_0xFC9B53C072F418E0(): any {
1373
- return inv<number>('0xFC9B53C072F418E0');
1393
+ static setScriptGfxDrawBehindPausemenu(toggle: boolean): void {
1394
+ inv<void>('0x906B86E6D7896B9E', toggle);
1374
1395
  }
1375
1396
 
1376
1397
  /**
1377
- * state: false disables artificial interior light sources for specific proxyInteriorIndex
1378
- *
1379
- * @param proxyInteriorIndex
1380
- * @param state
1398
+ * @param p0
1381
1399
  */
1382
- static setProxyInteriorIndexArtificialLightsState(proxyInteriorIndex: number, state: boolean): void {
1383
- inv<void>('0xBFCB17895BB99E4E', proxyInteriorIndex, state);
1400
+ static setDistrictPhotoTakenStat(p0: string | null): void {
1401
+ inv<void>('0x9937FACBBF267244', p0);
1384
1402
  }
1385
1403
 
1386
1404
  /**
1405
+ * @param effectName
1406
+ * @param ped
1407
+ * @param offset
1408
+ * @param rot
1409
+ * @param boneIndex
1387
1410
  * @param scale
1411
+ * @param xAxis
1412
+ * @param yAxis
1413
+ * @param zAxis
1414
+ * @returns
1388
1415
  */
1389
- static setParticleFxBulletImpactScale(scale: number): void {
1390
- inv<void>('0xA53C8D7D0F8C74D0', f(scale));
1416
+ static startParticleFxLoopedOnPedBone(effectName: string | null, ped: Ped, offset: Vector3, rot: Vector3, boneIndex: number, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean): number {
1417
+ return inv<number>('0xE689C1B1432BB8AF', effectName, ped.handle, f(offset.x), f(offset.y), f(offset.z), f(rot.x), f(rot.y), f(rot.z), boneIndex, f(scale), xAxis, yAxis, zAxis, rai());
1391
1418
  }
1392
1419
 
1393
1420
  /**
1394
1421
  * @param p0
1395
- * @param p1
1396
- * @param p2
1397
- * @param p3
1398
- * @param p4
1399
- * @param p5
1400
- * @param p6
1401
- * @param p7
1402
1422
  */
1403
- static cascadeShadowsSetCascadeBounds(p0: any, p1: boolean, p2: number, p3: number, p4: number, p5: number, p6: boolean, p7: number): void {
1404
- inv<void>('0xD9EDB2E4512D563E', p0, p1, f(p2), f(p3), f(p4), f(p5), p6, f(p7));
1423
+ static setPhotoStudioStat(p0: number): void {
1424
+ inv<void>('0x8E6AFF353C09652E', p0);
1405
1425
  }
1406
1426
 
1407
1427
  /**
1408
- * @param value
1428
+ * @param effectName
1409
1429
  */
1410
- static changePhotoModeExposure(value: number): void {
1411
- inv<void>('0xC8D0611D9A0CF5D3', f(value));
1430
+ static animpostfxStop(effectName: string | null): void {
1431
+ inv<void>('0xB4FD7446BAB2F394', effectName);
1432
+ }
1433
+
1434
+ static resetPausedRenderphases(): void {
1435
+ inv<void>('0xCCD9AAD85E1B559E');
1412
1436
  }
1413
1437
 
1414
1438
  /**
1415
- * @param point
1439
+ * @param unused
1416
1440
  * @returns
1417
1441
  */
1418
- static isTrackedPointValid(point: number): any {
1419
- return inv<number>('0xF2FDDCC8C6BAE1B3', point);
1442
+ static saveHighQualityPhoto(unused: number): any {
1443
+ return inv<number>('0x57639FD876B68A91', unused);
1420
1444
  }
1421
1445
 
1422
1446
  /**
1423
- * Old name: _ENABLE_EXTRA_TIMECYCLE_MODIFIER_STRENGTH
1424
- *
1425
- * @param strength
1447
+ * @param pos
1448
+ * @param p2
1426
1449
  */
1427
- static enableMoonCycleOverride(strength: number): void {
1428
- inv<void>('0x6FE93BCC7BF12B63', f(strength));
1429
- }
1430
-
1431
- static setDisablePetrolDecalsIgnitingThisFrame(): void {
1432
- inv<void>('0x53ED07BF368EDA59');
1450
+ static setCloudLayer(pos: Vector2, p2: number): void {
1451
+ inv<void>('0xB8C984C0D47F4F07', f(pos.x), f(pos.y), p2);
1433
1452
  }
1434
1453
 
1435
1454
  /**
1436
- * Used in CREATE_BEZIER_BLOOD_TRAIL_OF_TYPE
1437
- *
1438
1455
  * @param p0
1456
+ * @returns
1439
1457
  */
1440
- static N_0x4BD66B4E3427689B(p0: string | null): void {
1441
- inv<void>('0x4BD66B4E3427689B', p0);
1458
+ static N_0xEC3D8C228FE553D7(p0: boolean): boolean {
1459
+ return !!inv<boolean>('0xEC3D8C228FE553D7', p0, rai());
1442
1460
  }
1443
1461
 
1444
1462
  /**
1445
- * Enables/disables a kind of 'shiny' effect on metals.
1446
- *
1447
- * @param object
1448
- * @param toggle
1463
+ * *RESET**
1449
1464
  */
1450
- static setPearlescentFxEnabled(object: Prop, toggle: boolean): void {
1451
- inv<void>('0x72E30372E7CC4415', object.handle, toggle);
1465
+ static N_0x1460B644397453EB(): void {
1466
+ inv<void>('0x1460B644397453EB');
1452
1467
  }
1453
1468
 
1454
1469
  /**
1455
- * @param enabled
1470
+ * @param personaPhotoLocalCacheType
1456
1471
  */
1457
- static setSniperGlintsEnabled(enabled: boolean): void {
1458
- inv<void>('0x6E8EB45A4F4460EB', enabled);
1472
+ static pedshotSetPersonaPhotoType(personaPhotoLocalCacheType: number): void {
1473
+ inv<void>('0x196D3ACBEBA4A44B', personaPhotoLocalCacheType);
1459
1474
  }
1460
1475
 
1461
- /**
1462
- * Example:
1463
- * local hash = GetHashKey("CLOTHING_ITEM_M_EYES_001_TINT_001")
1464
- * _GENERATE_SWATCH_TEXTURE(0, hash, 0, true)
1465
- * metapedType: see 0xEC9A1261BF0CE510
1466
- *
1467
- * @param slotId
1468
- * @param componentHash
1469
- * @param metapedType
1470
- * @param p3
1471
- */
1472
- static generateSwatchTexture(slotId: number, componentHash: string | number, metapedType: number, p3: boolean): void {
1473
- inv<void>('0x160921255327C591', slotId, _h(componentHash), metapedType, p3);
1476
+ static pedshotFinishCleanupData(): void {
1477
+ inv<void>('0xC2B8164C3BE871A4');
1478
+ }
1479
+
1480
+ static N_0x1C6306E5BC25C29C(): void {
1481
+ inv<void>('0x1C6306E5BC25C29C');
1474
1482
  }
1475
1483
 
1476
1484
  /**
1477
- * @param entity
1478
- * @param mask
1479
- * @param intensity
1485
+ * @param pos
1480
1486
  */
1481
- static addEntityToEntityMaskWithIntensity(entity: Entity, mask: number, intensity: number): void {
1482
- inv<void>('0x958DEBD9353C0935', entity.handle, mask, f(intensity));
1487
+ static setCloudNoise(pos: Vector3): void {
1488
+ inv<void>('0xFE7966DF01452F32', f(pos.x), f(pos.y), f(pos.z));
1483
1489
  }
1484
1490
 
1485
- static disableHdtexThisFrame(): void {
1486
- inv<void>('0x98A7CD5EA379A854');
1491
+ /**
1492
+ * @param p0
1493
+ */
1494
+ static N_0xEB48CE48EEC41FD4(p0: any): void {
1495
+ inv<void>('0xEB48CE48EEC41FD4', p0);
1487
1496
  }
1488
1497
 
1489
1498
  /**
1499
+ * Used in NET_CAMP_SPIRIT_ANIMAL_CLEAR_ANIMAL_VISIBILITY
1500
+ *
1490
1501
  * @param entity
1491
1502
  */
1492
- static attachTvAudioToEntity(entity: Entity): void {
1493
- inv<void>('0x40866A418EB8EFDE', entity.handle);
1503
+ static N_0xC06F2F45A73EABCD(entity: Entity): void {
1504
+ inv<void>('0xC06F2F45A73EABCD', entity.handle);
1494
1505
  }
1495
1506
 
1496
1507
  /**
1497
1508
  * @param effectName
1498
- * @param ped
1499
- * @param offset
1509
+ * @param pos
1500
1510
  * @param rot
1501
- * @param boneIndex
1502
1511
  * @param scale
1503
- * @param axisX
1504
- * @param axisY
1505
- * @param axisZ
1512
+ * @param xAxis
1513
+ * @param yAxis
1514
+ * @param zAxis
1506
1515
  * @returns
1507
1516
  */
1508
- static startParticleFxNonLoopedOnPedBone(effectName: string | null, ped: Ped, offset: Vector3, rot: Vector3, boneIndex: number, scale: number, axisX: boolean, axisY: boolean, axisZ: boolean): boolean {
1509
- return inv<boolean>('0x3FAA72BD940C3AC0', effectName, ped.handle, f(offset.x), f(offset.y), f(offset.z), f(rot.x), f(rot.y), f(rot.z), boneIndex, f(scale), axisX, axisY, axisZ, rai());
1517
+ static startNetworkedParticleFxNonLoopedAtCoord(effectName: string | null, pos: Vector3, rot: Vector3, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean): boolean {
1518
+ return !!inv<boolean>('0xFB97618457994A62', effectName, f(pos.x), f(pos.y), f(pos.z), f(rot.x), f(rot.y), f(rot.z), f(scale), xAxis, yAxis, zAxis, rai());
1510
1519
  }
1511
1520
 
1512
1521
  /**
1513
- * contentId: returned by NETWORK::_UGC_QUERY_GET_CREATOR_PHOTO(uVar0, 0, sParam3)
1522
+ * @returns
1523
+ */
1524
+ static getPhotoModeExposure(): number {
1525
+ return inv<number>('0x06C0D8BB6B04A709', raf());
1526
+ }
1527
+
1528
+ /**
1529
+ * _SET_PARTICLE_FX_LOOPED_FA* - _SET_PARTICLE_FX_LOOPED_OF*
1514
1530
  *
1515
- * @param contentId
1531
+ * @param ptfxHandle
1532
+ * @param scalar
1533
+ */
1534
+ static setParticleFxLoopedUpdateDistantSmoke(ptfxHandle: number, scalar: number): void {
1535
+ inv<void>('0x9DDC222D85D5AF2A', ptfxHandle, f(scalar));
1536
+ }
1537
+
1538
+ /**
1539
+ * Known effects: MP_Trans_SceneToPhoto
1540
+ * MP_Trans_WinLose
1541
+ * SpectateFilter
1542
+ * MP_CharacterCreatorPhoto
1543
+ * MP_Trans_PhotoToScene
1544
+ * InterrogationHit
1545
+ *
1546
+ * @param effectName
1516
1547
  * @returns
1517
1548
  */
1518
- static getStatusOfLoadMissionCreatorPhoto(contentId: string | null): number {
1519
- return inv<number>('0xC71B50AE58D07369', contentId, rai());
1549
+ static animpostfxGetStackhash(effectName: string | null): number {
1550
+ return (inv<number>('0x842CCC9491FFCD9B', effectName, rai())) & 0xFFFFFFFF;
1520
1551
  }
1521
1552
 
1522
1553
  /**
1523
- * @param p0
1554
+ * @param height
1524
1555
  */
1525
- static N_0x6C03118E9E5C1A14(p0: any): void {
1526
- inv<void>('0x6C03118E9E5C1A14', p0);
1556
+ static setCloudHeight(height: number): void {
1557
+ inv<void>('0xC332C91388F5580B', f(height));
1527
1558
  }
1528
1559
 
1529
1560
  /**
@@ -1607,7 +1638,7 @@ export class Graphics {
1607
1638
  * @returns
1608
1639
  */
1609
1640
  static isTrackedPointVisible(point: number): boolean {
1610
- return inv<boolean>('0xCBB056BA159FB48D', point, rai());
1641
+ return !!inv<boolean>('0xCBB056BA159FB48D', point, rai());
1611
1642
  }
1612
1643
 
1613
1644
  static clearTimecycleModifier(): void {
@@ -1664,164 +1695,124 @@ export class Graphics {
1664
1695
  }
1665
1696
 
1666
1697
  /**
1667
- * ANIMPOSTFX_*
1668
- *
1669
- * @param effectNameHash
1670
- */
1671
- static N_0x38D9D50F2085E9B3(effectNameHash: string | number): void {
1672
- inv<void>('0x38D9D50F2085E9B3', _h(effectNameHash));
1673
- }
1674
-
1675
- /**
1676
- * Used for script function RPG_GLOBAL_STATS__PRIVATE__DEACTIVATE_STAT_FLAG - Inspiration Aura unequip
1677
- */
1678
- static resetEntityAura(): void {
1679
- inv<void>('0xAF4D239B8903FCBE');
1680
- }
1681
-
1682
- /**
1683
- * @param p0
1684
- * @param p1
1685
- * @param p2
1686
- * @param p3
1687
- * @param p4
1688
- * @param p5
1689
- * @param p6
1690
- * @param p7
1691
- * @param p8
1692
- * @param p9
1693
- * @param p10
1694
- * @param p11
1695
- * @param p12
1696
- * @param p13
1697
- * @param p14
1698
- * @param p15
1699
- * @param p16
1700
- * @param p17
1701
- * @param p18
1702
- * @param p19
1703
- * @param p20
1704
- * @param p21
1705
- * @returns
1706
- */
1707
- static addDecal(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any, p7: any, p8: any, p9: any, p10: any, p11: any, p12: any, p13: any, p14: any, p15: any, p16: any, p17: any, p18: any, p19: any, p20: any, p21: any): number {
1708
- return inv<number>('0x57CB267624EF85C0', p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, rai());
1709
- }
1710
-
1711
- /**
1712
- * _SET_D* or _SET_E*
1698
+ * Health Core Effect Filter Potency: p1 = 1
1699
+ * Stamina Core Effect Filter Potency: p1 = 2
1700
+ * Multiple Core Effect Filter Potency: p1 = 3
1701
+ *
1702
+ * @param effectName
1703
+ * @param p1
1704
+ * @param potency
1713
1705
  */
1714
- static N_0xB032C085D9A03907(): void {
1715
- inv<void>('0xB032C085D9A03907');
1706
+ static animpostfxSetPotency(effectName: string | null, p1: number, potency: number): void {
1707
+ inv<void>('0xF972F0AB16DC5260', effectName, p1, f(potency));
1716
1708
  }
1717
1709
 
1718
1710
  /**
1719
- * Returns handle to be used with REMOVE_GRASS_CULL_SPHERE
1720
- *
1721
- * @param pos
1722
- * @param p3
1723
- * @param p4
1724
1711
  * @returns
1725
1712
  */
1726
- static setGrassCullSphere(pos: Vector3, p3: number, p4: number): number {
1727
- return inv<number>('0x27219300C36A8D40', f(pos.x), f(pos.y), f(pos.z), f(p3), p4, rai());
1713
+ static pedshotIsAvailable(): any {
1714
+ return inv<number>('0xAF6E67D073D2DCE2');
1728
1715
  }
1729
1716
 
1730
- static N_0xA21AF60C9F99CCC5(): void {
1731
- inv<void>('0xA21AF60C9F99CCC5');
1717
+ /**
1718
+ * @param p0
1719
+ */
1720
+ static N_0xD9BC98B55BCFAA9B(p0: any): void {
1721
+ inv<void>('0xD9BC98B55BCFAA9B', p0);
1732
1722
  }
1733
1723
 
1734
1724
  /**
1735
- * @param effectName
1736
- * @param entity
1737
- * @param offset
1738
- * @param rot
1739
- * @param scale
1740
- * @param xAxis
1741
- * @param yAxis
1742
- * @param zAxis
1743
- * @returns
1725
+ * @param pos
1726
+ * @param xScale
1727
+ * @param yScale
1728
+ * @param rotation
1729
+ * @param color
1730
+ * @param alpha
1744
1731
  */
1745
- static startParticleFxLoopedOnEntity(effectName: string | null, entity: Entity, offset: Vector3, rot: Vector3, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean): number {
1746
- return inv<number>('0xBD41E1440CE39800', effectName, entity.handle, f(offset.x), f(offset.y), f(offset.z), f(rot.x), f(rot.y), f(rot.z), f(scale), xAxis, yAxis, zAxis, rai());
1732
+ static drawTvChannel(pos: Vector2, xScale: number, yScale: number, rotation: number, color: Color, alpha: number): void {
1733
+ inv<void>('0xC0A145540254A840', f(pos.x), f(pos.y), f(xScale), f(yScale), f(rotation), color.r, color.g, color.b, color.a, alpha);
1747
1734
  }
1748
1735
 
1749
1736
  /**
1750
- * 0 = succeeded
1751
- * 1 = getting status
1752
- * 2 = failed
1753
- *
1754
- * @returns
1737
+ * @param handle
1755
1738
  */
1756
- static getStatusOfSortedListOperation(): number {
1757
- return inv<number>('0xB28894CD7408BD0C', rai());
1739
+ static removeGrassCullSphere(handle: number): void {
1740
+ inv<void>('0xAE7BF7CA9E4BA48D', handle);
1758
1741
  }
1759
1742
 
1760
1743
  /**
1744
+ * @param slots
1761
1745
  * @returns
1762
1746
  */
1763
- static getPhotoModeContrast(): number {
1764
- return inv<number>('0x98F4154989B81EC6', raf());
1747
+ static createSwatchTextureDict(slots: number): any {
1748
+ return inv<number>('0x3D084D5568FB4028', slots);
1765
1749
  }
1766
1750
 
1767
1751
  /**
1768
- * @param pos
1752
+ * _GET_C* - _GET_E*
1753
+ *
1754
+ * @returns
1769
1755
  */
1770
- static addBloodTrailPoint(pos: Vector3): void {
1771
- inv<void>('0xDD9DC1AB63D513CE', f(pos.x), f(pos.y), f(pos.z));
1756
+ static getModifiedVisibilityDistance(): number {
1757
+ return inv<number>('0x25CA89B2A39DCC69', raf());
1772
1758
  }
1773
1759
 
1774
1760
  /**
1775
- * Returns whether the 'killFX' setting is enabled. ANIMPOSTFX_*
1761
+ * nullsub, doesn't do anything
1776
1762
  *
1777
- * @returns
1763
+ * @param p0
1778
1764
  */
1779
- static N_0xFF584F097C17FA8F(): boolean {
1780
- return inv<boolean>('0xFF584F097C17FA8F', rai());
1765
+ static N_0x94B261F1F35293E1(p0: any): void {
1766
+ inv<void>('0x94B261F1F35293E1', p0);
1781
1767
  }
1782
1768
 
1783
1769
  /**
1784
- * Old name: _GET_STATUS_OF_DRAW_LOW_QUALITY_PHOTO
1770
+ * Probably changes tvs from being a 3d audio to being "global" audio
1785
1771
  *
1786
- * @param p0
1787
- * @returns
1772
+ * @param toggle
1788
1773
  */
1789
- static getStatusOfCreateLowQualityCopyOfPhoto(p0: any): number {
1790
- return inv<number>('0x13430D3D5A45F14B', p0, rai());
1774
+ static setTvAudioFrontend(toggle: boolean): void {
1775
+ inv<void>('0x64437C98FCC5F291', toggle);
1791
1776
  }
1792
1777
 
1793
1778
  /**
1794
- * @param effectName
1779
+ * @returns
1795
1780
  */
1796
- static animpostfxClearEffect(effectName: string | null): void {
1797
- inv<void>('0xC5CB91D65852ED7E', effectName);
1781
+ static getTimecycleTransitionModifierIndex(): number {
1782
+ return inv<number>('0x2DA67BA3C8A6755D', rai());
1798
1783
  }
1799
1784
 
1800
- static pedshotInitCleanupData(): void {
1801
- inv<void>('0x55285F885F662169');
1785
+ /**
1786
+ * @param ptfxHandle
1787
+ * @param propertyName
1788
+ * @param amount
1789
+ * @param noNetwork
1790
+ */
1791
+ static setParticleFxLoopedEvolution(ptfxHandle: number, propertyName: string | null, amount: number, noNetwork: boolean): void {
1792
+ inv<void>('0x3674F389B0FACD80', ptfxHandle, propertyName, f(amount), noNetwork);
1802
1793
  }
1803
1794
 
1804
1795
  /**
1805
- * @param vegModifierHandle
1806
- * @param p1
1796
+ * @param effectName
1797
+ * @returns
1807
1798
  */
1808
- static removeVegModifierSphere(vegModifierHandle: number, p1: number): void {
1809
- inv<void>('0x9CF1836C03FB67A2', vegModifierHandle, p1);
1799
+ static animpostfxHasLoaded(effectName: string | null): any {
1800
+ return inv<number>('0xBF2DD155B2ADCD0A', effectName);
1810
1801
  }
1811
1802
 
1812
1803
  /**
1813
- * @param p0
1804
+ * @param decal
1805
+ * @returns
1814
1806
  */
1815
- static setStatePhotoTakenStat(p0: string | null): void {
1816
- inv<void>('0x8952E857696B8A79', p0);
1807
+ static isDecalAlive(decal: number): boolean {
1808
+ return !!inv<boolean>('0x3E4B4E5CF5D3EEB5', decal, rai());
1817
1809
  }
1818
1810
 
1819
1811
  /**
1820
- * @param ptfxHandle
1821
- * @param alpha
1812
+ * @param p0
1822
1813
  */
1823
- static setParticleFxLoopedAlpha(ptfxHandle: number, alpha: number): void {
1824
- inv<void>('0x88786E76234F7054', ptfxHandle, f(alpha));
1814
+ static N_0x453D16D41FC51D3E(p0: boolean): void {
1815
+ inv<void>('0x453D16D41FC51D3E', p0);
1825
1816
  }
1826
1817
 
1827
1818
  /**
@@ -1829,584 +1820,593 @@ export class Graphics {
1829
1820
  * @param p1
1830
1821
  * @param p2
1831
1822
  * @param p3
1823
+ * @param p4
1824
+ * @param p5
1825
+ * @param p6
1832
1826
  * @returns
1833
1827
  */
1834
- static N_0xA15CCAB8AD038291(p0: any, p1: any, p2: any, p3: any): any {
1835
- return inv<number>('0xA15CCAB8AD038291', p0, p1, p2, p3);
1828
+ static N_0xE63D68F455CA0B47(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any): any {
1829
+ return inv<number>('0xE63D68F455CA0B47', p0, p1, p2, p3, p4, p5, p6);
1836
1830
  }
1837
1831
 
1838
1832
  /**
1839
- * @param entity
1833
+ * @param pos
1834
+ * @param colorR
1835
+ * @param colorG
1836
+ * @param colorB
1837
+ * @param range
1838
+ * @param intensity
1840
1839
  */
1841
- static removeEntityFromEntityMask(entity: Entity): void {
1842
- inv<void>('0x56A786E87FF53478', entity.handle);
1840
+ static drawLightWithRange(pos: Vector3, colorR: number, colorG: number, colorB: number, range: number, intensity: number): void {
1841
+ inv<void>('0xD2D9E04C0DF927F4', f(pos.x), f(pos.y), f(pos.z), colorR, colorG, colorB, f(range), f(intensity));
1843
1842
  }
1844
1843
 
1845
1844
  /**
1846
- * @param p0
1847
- * @param p1
1848
- * @param p2
1845
+ * Only used in guama1 R* SP Script while spawning the ship
1846
+ * *SET_ENTITY_QUATERNION** - SET_ENTITY_RENDER_*
1847
+ *
1848
+ * @param vehicle
1849
+ * @param toggle
1849
1850
  */
1850
- static setParticleFxNonLoopedEmitterScale(p0: number, p1: number, p2: number): void {
1851
- inv<void>('0x56C392C2BD78B024', f(p0), f(p1), f(p2));
1851
+ static setEntityRenderGuarmaShip(vehicle: Vehicle, toggle: boolean): void {
1852
+ inv<void>('0xC38B4952B728397A', vehicle.handle, toggle);
1852
1853
  }
1853
1854
 
1854
1855
  /**
1855
- * @param effectNameHash
1856
+ * @param effectName
1857
+ * @param entity
1858
+ * @param offset
1859
+ * @param rot
1860
+ * @param scale
1861
+ * @param axisX
1862
+ * @param axisY
1863
+ * @param axisZ
1856
1864
  * @returns
1857
1865
  */
1858
- static animpostfxIsStackhashPlaying(effectNameHash: string | number): any {
1859
- return inv<number>('0xEEF83A759AE06A27', _h(effectNameHash));
1860
- }
1861
-
1862
- /**
1863
- * @param p0
1864
- */
1865
- static N_0x503941F65DBA24EC(p0: any): void {
1866
- inv<void>('0x503941F65DBA24EC', p0);
1866
+ static startNetworkedParticleFxNonLoopedOnEntity(effectName: string | null, entity: Entity, offset: Vector3, rot: Vector3, scale: number, axisX: boolean, axisY: boolean, axisZ: boolean): boolean {
1867
+ return !!inv<boolean>('0xE6CFE43937061143', effectName, entity.handle, f(offset.x), f(offset.y), f(offset.z), f(rot.x), f(rot.y), f(rot.z), f(scale), axisX, axisY, axisZ, rai());
1867
1868
  }
1868
1869
 
1869
1870
  /**
1870
- * @param p0
1871
- * @param p1
1872
- * @param p2
1873
- * @param p3
1874
- * @param p4
1875
- * @param p5
1876
- * @param p6
1871
+ * @param lock
1877
1872
  */
1878
- static N_0x48FE0DB54045B975(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any): void {
1879
- inv<void>('0x48FE0DB54045B975', p0, p1, p2, p3, p4, p5, p6);
1873
+ static setPhotoModeExposureLocked(lock: boolean): void {
1874
+ inv<void>('0x5CD6A2CCE5087161', lock);
1880
1875
  }
1881
1876
 
1882
- static cascadeShadowsClearShadowSampleType(): void {
1883
- inv<void>('0xF7C29D7C12C36F03');
1877
+ static N_0x815653A42C5ABE76(): void {
1878
+ inv<void>('0x815653A42C5ABE76');
1884
1879
  }
1885
1880
 
1886
1881
  /**
1887
- * Draws a rectangle on the screen. -x: The relative X point of the center of the rectangle. (0.0-1.0, 0.0 is the left edge of the screen, 1.0 is the right edge of the screen) -y: The relative Y point of the center of the rectangle. (0.0-1.0, 0.0 is the top edge of the screen, 1.0 is the bottom edge of the screen) -width: The relative width of the rectangle. (0.0-1.0, 1.0 means the whole screen width) -height: The relative height of the rectangle. (0.0-1.0, 1.0 means the whole screen height) -R: Red part of the color. (0-255) -G: Green part of the color. (0-255) -B: Blue part of the color. (0-255) -A: Alpha part of the color. (0-255, 0 means totally transparent, 255 means totally opaque)
1888
- *
1889
- * @param x
1890
- * @param y
1891
- * @param width
1892
- * @param height
1893
- * @param color
1894
- * @param alpha
1895
- * @param p8
1896
- * @param p9
1882
+ * @param effectName
1883
+ * @returns
1897
1884
  */
1898
- static drawRect(x: number, y: number, width: number, height: number, color: Color, alpha: number, p8: boolean, p9: boolean): void {
1899
- inv<void>('0x405224591DF02025', f(x), f(y), f(width), f(height), color.r, color.g, color.b, color.a, alpha, p8, p9);
1885
+ static animpostfxIsTagPlaying(effectName: string | null): any {
1886
+ return inv<number>('0x2D4F9C852CE8A253', effectName);
1900
1887
  }
1901
1888
 
1902
1889
  /**
1903
- * @param tvChannel
1904
- * @param playlistName
1905
- * @param restart
1890
+ * enum class eSnowCoverageType
1891
+ * {
1892
+ * Primary,
1893
+ * Secondary,
1894
+ * Xmas,
1895
+ * XmasSecondary // since b1232
1896
+ * };
1897
+ *
1898
+ * @param type
1906
1899
  */
1907
- static setTvChannelPlaylist(tvChannel: number, playlistName: string | null, restart: boolean): void {
1908
- inv<void>('0xDEC6B25F5DC8925B', tvChannel, playlistName, restart);
1900
+ static setSnowCoverageType(type: number): void {
1901
+ inv<void>('0xF02A9C330BBFC5C7', type);
1909
1902
  }
1910
1903
 
1911
1904
  /**
1912
- * @param checkpoint
1905
+ * @param effectNameHash
1913
1906
  */
1914
- static deleteCheckpoint(checkpoint: number): void {
1915
- inv<void>('0x0DED5B0C8EBAAE12', checkpoint);
1907
+ static animpostfxPlayTag(effectNameHash: string | number): void {
1908
+ inv<void>('0x9B8D5D4CB8AF58B3', _h(effectNameHash));
1916
1909
  }
1917
1910
 
1918
1911
  /**
1919
- * *DISABLE**
1920
- *
1921
- * @param p0
1912
+ * @param pickupObject
1913
+ * @param toggle
1922
1914
  */
1923
- static N_0xFB680A9B33D0EDBE(p0: boolean): void {
1924
- inv<void>('0xFB680A9B33D0EDBE', p0);
1915
+ static blockPickupObjectLight(pickupObject: Prop, toggle: boolean): void {
1916
+ inv<void>('0x50C14328119E1DD1', pickupObject.handle, toggle);
1925
1917
  }
1926
1918
 
1927
1919
  /**
1920
+ * @param effectName
1921
+ * @param entity
1922
+ * @param offset
1923
+ * @param rot
1924
+ * @param scale
1925
+ * @param xAxis
1926
+ * @param yAxis
1927
+ * @param zAxis
1928
1928
  * @returns
1929
1929
  */
1930
- static N_0xC28F62AC9774FC1B(): any {
1931
- return inv<number>('0xC28F62AC9774FC1B');
1930
+ static startNetworkedParticleFxLoopedOnEntity(effectName: string | null, entity: Entity, offset: Vector3, rot: Vector3, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean): number {
1931
+ return inv<number>('0x8F90AB32E1944BDE', effectName, entity.handle, f(offset.x), f(offset.y), f(offset.z), f(rot.x), f(rot.y), f(rot.z), f(scale), xAxis, yAxis, zAxis, rai());
1932
1932
  }
1933
1933
 
1934
1934
  /**
1935
- * @param p1
1936
- * @param p2
1937
- * @param p3
1938
- * @returns p0
1935
+ * @param pos
1936
+ * @param radius
1939
1937
  */
1940
- static loadMissionCreatorPhoto(p1: any, p2: any, p3: any): [boolean, number] {
1941
- const result = inv<[boolean, number]>('0x84F0BA7462FF8D58', pvi(), p1, p2, p3, rai());
1942
- return [!!result[0], result[1]];
1938
+ static removeParticleFxInRange(pos: Vector3, radius: number): void {
1939
+ inv<void>('0x87B5905ECA623B68', f(pos.x), f(pos.y), f(pos.z), f(radius));
1943
1940
  }
1944
1941
 
1945
1942
  /**
1946
- * @param entity
1947
- * @returns layer0; layer1; layer2; layer3
1943
+ * https://github.com/femga/rdr3_discoveries/blob/master/graphics/ptfx/ptfx_assets_looped.lua
1944
+ *
1945
+ * @param effectName
1946
+ * @param pos
1947
+ * @param rot
1948
+ * @param scale
1949
+ * @param xAxis
1950
+ * @param yAxis
1951
+ * @param zAxis
1952
+ * @param p11
1953
+ * @returns
1948
1954
  */
1949
- static getEntityMaskLayers(entity: Entity): [boolean, number, number, number, number] {
1950
- const result = inv<[boolean, number, number, number, number]>('0xE8A8378BF651079C', entity.handle, pvf(), pvf(), pvf(), pvf(), rai());
1951
- return [!!result[0], result[1], result[2], result[3], result[4]];
1955
+ static startParticleFxLoopedAtCoord(effectName: string | null, pos: Vector3, rot: Vector3, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean, p11: boolean): number {
1956
+ return inv<number>('0xBA32867E86125D3A', effectName, f(pos.x), f(pos.y), f(pos.z), f(rot.x), f(rot.y), f(rot.z), f(scale), xAxis, yAxis, zAxis, p11, rai());
1952
1957
  }
1953
1958
 
1954
1959
  /**
1955
- * @param ped
1956
- * @param p1
1957
- * @param size
1958
- * @param p3
1960
+ * @returns
1959
1961
  */
1960
- static addBloodPoolsForPedWithParams(ped: Ped, p1: number, size: number, p3: number): void {
1961
- inv<void>('0xC349EE1E6EFA494B', ped.handle, f(p1), f(size), f(p3));
1962
+ static getTimecycleModifierIndex(): number {
1963
+ return inv<number>('0xA705394293E2B3D3', rai());
1962
1964
  }
1963
1965
 
1964
1966
  /**
1965
- * @param p0
1967
+ * nullsub, doesn't do anything
1968
+ *
1969
+ * @param toggle
1966
1970
  */
1967
- static N_0xFF8018C778349234(p0: any): void {
1968
- inv<void>('0xFF8018C778349234', p0);
1971
+ static enableMovieSubtitles(toggle: boolean): void {
1972
+ inv<void>('0x6FC9B065229C0787', toggle);
1969
1973
  }
1970
1974
 
1971
1975
  /**
1972
- * Old name: _SET_HIDOF_ENV_BLUR_PARAMS
1973
- *
1974
1976
  * @param p0
1975
1977
  * @param p1
1976
1978
  * @param p2
1977
1979
  * @param p3
1978
1980
  * @param p4
1979
- * @param p5
1980
1981
  */
1981
- static setHidofOverride(p0: boolean, p1: boolean, p2: number, p3: number, p4: number, p5: number): void {
1982
- inv<void>('0xCC23AA1A7CBFE840', p0, p1, f(p2), f(p3), f(p4), f(p5));
1982
+ static N_0x171C18E994C1A395(p0: any, p1: any, p2: any, p3: any, p4: any): void {
1983
+ inv<void>('0x171C18E994C1A395', p0, p1, p2, p3, p4);
1983
1984
  }
1984
1985
 
1985
1986
  /**
1986
- * @param effectName
1987
- * @param entity
1988
- * @param offset
1989
- * @param rot
1990
- * @param boneIndex
1991
- * @param scale
1992
- * @param xAxis
1993
- * @param yAxis
1994
- * @param zAxis
1987
+ * Doesn't actually return anything. ANIMPOSTFX_*
1988
+ *
1995
1989
  * @returns
1996
1990
  */
1997
- static startParticleFxLoopedOnEntityBone(effectName: string | null, entity: Entity, offset: Vector3, rot: Vector3, boneIndex: number, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean): number {
1998
- return inv<number>('0xD3BA6EC7F2FBD5E9', effectName, entity.handle, f(offset.x), f(offset.y), f(offset.z), f(rot.x), f(rot.y), f(rot.z), boneIndex, f(scale), xAxis, yAxis, zAxis, rai());
1991
+ static N_0xC37792A3F9C90771(): any {
1992
+ return inv<number>('0xC37792A3F9C90771');
1999
1993
  }
2000
1994
 
2001
1995
  /**
2002
- * Sets the checkpoint icon color.
1996
+ * Adds Vegetation Blocking Zone, Added Snow Flattening veg mod Zone
1997
+ * Returns veg modifier handle
2003
1998
  *
2004
- * @param checkpoint
2005
- * @param color
2006
- * @param alpha
1999
+ * @param volume
2000
+ * @param p1
2001
+ * @param flags
2002
+ * @param p3
2003
+ * @returns
2007
2004
  */
2008
- static setCheckpointRgba2(checkpoint: number, color: Color, alpha: number): void {
2009
- inv<void>('0x99AFF17222D4DEB4', checkpoint, color.r, color.g, color.b, color.a, alpha);
2005
+ static addVegModifierZone(volume: Volume, p1: number, flags: number, p3: number): number {
2006
+ return inv<number>('0xBD3324281E8B9933', volume.handle, p1, flags, p3, rai());
2007
+ }
2008
+
2009
+ static N_0xEC3F7F24EEEB3BA3(): void {
2010
+ inv<void>('0xEC3F7F24EEEB3BA3');
2010
2011
  }
2011
2012
 
2012
2013
  /**
2013
- * nullsub, doesn't do anything (GTA5 leftover, there is no phone in RDR3)
2014
+ * Used in CREATE_BEZIER_BLOOD_TRAIL_OF_TYPE
2014
2015
  *
2015
2016
  * @param p0
2016
- * @param photoRotation
2017
2017
  */
2018
- static drawLowQualityPhotoToPhone(p0: boolean, photoRotation: number): void {
2019
- inv<void>('0xF1142E5D64B47802', p0, photoRotation);
2018
+ static N_0x41F88A85A579A61D(p0: number): void {
2019
+ inv<void>('0x41F88A85A579A61D', f(p0));
2020
2020
  }
2021
2021
 
2022
- /**
2023
- * https://gfycat.com/meagerfaireyra
2024
- *
2025
- * @param entity
2026
- * @param color
2027
- */
2028
- static setLightsColorForEntity(entity: Entity, color: Color): void {
2029
- inv<void>('0x6EC2A67962296F49', entity.handle, color.r, color.g, color.b, color.a);
2022
+ static freeMemoryForLowQualityPhoto(): void {
2023
+ inv<void>('0x614682E715ADBAAC');
2030
2024
  }
2031
2025
 
2032
- /**
2033
- * @param effectName
2034
- * @param ped
2035
- * @param offset
2036
- * @param rot
2037
- * @param boneIndex
2038
- * @param scale
2039
- * @param axisX
2040
- * @param axisY
2041
- * @param axisZ
2042
- * @returns
2043
- */
2044
- static startParticleFxNonLoopedOnPedBone2(effectName: string | null, ped: Ped, offset: Vector3, rot: Vector3, boneIndex: number, scale: number, axisX: boolean, axisY: boolean, axisZ: boolean): any {
2045
- return inv<number>('0xC695870B8A149B96', effectName, ped.handle, f(offset.x), f(offset.y), f(offset.z), f(rot.x), f(rot.y), f(rot.z), boneIndex, f(scale), axisX, axisY, axisZ);
2026
+ static freeMemoryForHighQualityPhoto(): void {
2027
+ inv<void>('0xD45547D8396F002A');
2046
2028
  }
2047
2029
 
2048
- static N_0x981C7D863980FA51(): void {
2049
- inv<void>('0x981C7D863980FA51');
2030
+ static N_0x32DE2BFFDA43E62A(): void {
2031
+ inv<void>('0x32DE2BFFDA43E62A');
2050
2032
  }
2051
2033
 
2052
2034
  /**
2053
- * @param p0
2054
- * @param p1
2035
+ * Resets the exposure to the value when exposure lock was enabled
2055
2036
  */
2056
- static N_0x9F6D859C80708B26(p0: boolean, p1: boolean): void {
2057
- inv<void>('0x9F6D859C80708B26', p0, p1);
2037
+ static updatePhotoModeExposure(): void {
2038
+ inv<void>('0x9229ED770975BD9E');
2058
2039
  }
2059
2040
 
2060
2041
  /**
2061
- * @param oldAsset
2062
- * @param newAsset
2042
+ * @param effectName
2063
2043
  */
2064
- static setParticleFxOverride(oldAsset: string | null, newAsset: string | null): void {
2065
- inv<void>('0xBE711A169E9C7E95', oldAsset, newAsset);
2044
+ static animpostfxPreloadPostfx(effectName: string | null): void {
2045
+ inv<void>('0x5199405EABFBD7F0', effectName);
2066
2046
  }
2067
2047
 
2068
2048
  /**
2069
- * @param p0
2070
- * @param p1
2049
+ * @param strength
2071
2050
  */
2072
- static N_0xA0F4D12D6042F6D5(p0: any, p1: any): void {
2073
- inv<void>('0xA0F4D12D6042F6D5', p0, p1);
2051
+ static setTransitionOutOfTimecycleModifier(strength: number): void {
2052
+ inv<void>('0xBB6C707F20D955D4', f(strength));
2074
2053
  }
2075
2054
 
2076
2055
  /**
2077
- * @param ptfxHandle
2078
- * @param pos
2079
- * @param rot
2056
+ * @param effectName
2057
+ * @param p1
2058
+ * @param color
2059
+ * @param alpha
2080
2060
  */
2081
- static setParticleFxLoopedOffsets(ptfxHandle: number, pos: Vector3, rot: Vector3): void {
2082
- inv<void>('0xD3A4A95FC94FE83B', ptfxHandle, f(pos.x), f(pos.y), f(pos.z), f(rot.x), f(rot.y), f(rot.z));
2061
+ static animpostfxSetPostfxColor(effectName: string | null, p1: number, color: Color, alpha: number): void {
2062
+ inv<void>('0x63011D0C7C6519E0', effectName, p1, color.r, color.g, color.b, color.a, alpha);
2083
2063
  }
2084
2064
 
2085
2065
  /**
2086
2066
  * @param p0
2067
+ * @param p1
2087
2068
  */
2088
- static disableStaticVegModifier(p0: string | number): void {
2089
- inv<void>('0xDD0BC0EDCB2162F6', _h(p0));
2069
+ static startPetrolTrailDecals(p0: any, p1: any): void {
2070
+ inv<void>('0x46F246D6504F0031', p0, p1);
2090
2071
  }
2091
2072
 
2092
2073
  /**
2093
- * @param ptfxHandle
2094
- * @param scale
2074
+ * @param pickupObject
2075
+ * @param allow
2095
2076
  */
2096
- static setParticleFxLoopedScale(ptfxHandle: number, scale: number): void {
2097
- inv<void>('0x1A9E1C0D98D093B7', ptfxHandle, f(scale));
2077
+ static allowPickupLightSync(pickupObject: Prop, allow: boolean): void {
2078
+ inv<void>('0x7C348310A6E2FB91', pickupObject.handle, allow);
2079
+ }
2080
+
2081
+ static freeMemoryForMissionCreatorPhoto(): void {
2082
+ inv<void>('0x7DFF8F94937D2659');
2098
2083
  }
2099
2084
 
2100
2085
  /**
2101
- * https://github.com/femga/rdr3_discoveries/blob/master/graphics/ptfx/ptfx_assets_non_looped.lua
2086
+ * Returns veg modifier handle
2102
2087
  *
2103
- * @param effectName
2104
2088
  * @param pos
2105
- * @param rot
2106
- * @param scale
2107
- * @param eventType
2108
- * @param bPeekOnly
2109
- * @param bIsRegistered
2089
+ * @param radius
2090
+ * @param modType
2091
+ * @param flags
2092
+ * @param p6
2110
2093
  * @returns
2111
2094
  */
2112
- static startParticleFxNonLoopedAtCoord(effectName: string | null, pos: Vector3, rot: Vector3, scale: number, eventType: number, bPeekOnly: boolean, bIsRegistered: boolean): number {
2113
- return inv<number>('0x2E80BF72EF7C87AC', effectName, f(pos.x), f(pos.y), f(pos.z), f(rot.x), f(rot.y), f(rot.z), f(scale), eventType, bPeekOnly, bIsRegistered, rai());
2095
+ static addVegModifierSphere(pos: Vector3, radius: number, modType: number, flags: number, p6: number): number {
2096
+ return inv<number>('0xFA50F79257745E74', f(pos.x), f(pos.y), f(pos.z), f(radius), modType, flags, p6, rai());
2114
2097
  }
2115
2098
 
2116
2099
  /**
2100
+ * Only used in R* SP Script spd_agnesdown1
2101
+ *
2117
2102
  * @param p0
2103
+ * @param pos
2104
+ * @param p4
2105
+ * @param p5
2106
+ * @param heading
2118
2107
  * @returns
2119
2108
  */
2120
- static isStaticVegModifierEnabled(p0: string | number): any {
2121
- return inv<number>('0xDE9BAD3292AA6D5E', _h(p0));
2109
+ static N_0x402E1A61D2587FCD(p0: any, pos: Vector3, p4: number, p5: number, heading: number): boolean {
2110
+ return !!inv<boolean>('0x402E1A61D2587FCD', p0, f(pos.x), f(pos.y), f(pos.z), f(p4), f(p5), f(heading), rai());
2122
2111
  }
2123
2112
 
2124
2113
  /**
2125
- * @param p0
2126
- * @param p1
2114
+ * @returns
2127
2115
  */
2128
- static N_0xC489FE31AC726512(p0: any, p1: any): void {
2129
- inv<void>('0xC489FE31AC726512', p0, p1);
2116
+ static N_0xFC9B53C072F418E0(): any {
2117
+ return inv<number>('0xFC9B53C072F418E0');
2130
2118
  }
2131
2119
 
2132
2120
  /**
2133
- * https://i.imgur.com/rPITUCV.jpg
2134
- * More customizable and more like quadrants
2121
+ * state: false disables artificial interior light sources for specific proxyInteriorIndex
2135
2122
  *
2136
- * @param pos
2123
+ * @param proxyInteriorIndex
2124
+ * @param state
2125
+ */
2126
+ static setProxyInteriorIndexArtificialLightsState(proxyInteriorIndex: number, state: boolean): void {
2127
+ inv<void>('0xBFCB17895BB99E4E', proxyInteriorIndex, state);
2128
+ }
2129
+
2130
+ /**
2131
+ * @param scale
2132
+ */
2133
+ static setParticleFxBulletImpactScale(scale: number): void {
2134
+ inv<void>('0xA53C8D7D0F8C74D0', f(scale));
2135
+ }
2136
+
2137
+ /**
2138
+ * @param p0
2139
+ * @param p1
2140
+ * @param p2
2137
2141
  * @param p3
2138
- * @param size
2142
+ * @param p4
2139
2143
  * @param p5
2140
- * @param permanent
2144
+ * @param p6
2141
2145
  * @param p7
2142
- * @param p8
2143
2146
  */
2144
- static addBloodPool2(pos: Vector3, p3: number, size: number, p5: number, permanent: boolean, p7: number, p8: boolean): void {
2145
- inv<void>('0xF708298675ABDC6A', f(pos.x), f(pos.y), f(pos.z), f(p3), f(size), f(p5), permanent, f(p7), p8);
2147
+ static cascadeShadowsSetCascadeBounds(p0: any, p1: boolean, p2: number, p3: number, p4: number, p5: number, p6: boolean, p7: number): void {
2148
+ inv<void>('0xD9EDB2E4512D563E', p0, p1, f(p2), f(p3), f(p4), f(p5), p6, f(p7));
2146
2149
  }
2147
2150
 
2148
2151
  /**
2149
- * p1: 0.3f in R* Scripts
2150
- *
2151
- * @param waypointRecording
2152
- * @param p1
2152
+ * @param value
2153
2153
  */
2154
- static bloodTrailForWaypoint(waypointRecording: string | null, p1: number): void {
2155
- inv<void>('0xB9C92616929CC25D', waypointRecording, f(p1));
2154
+ static changePhotoModeExposure(value: number): void {
2155
+ inv<void>('0xC8D0611D9A0CF5D3', f(value));
2156
2156
  }
2157
2157
 
2158
2158
  /**
2159
- * @param ptfxHandle
2160
- * @param range
2159
+ * @param point
2160
+ * @returns
2161
2161
  */
2162
- static setParticleFxLoopedFarClipDist(ptfxHandle: number, range: number): void {
2163
- inv<void>('0x9B04D471DA0AD7AA', ptfxHandle, f(range));
2162
+ static isTrackedPointValid(point: number): any {
2163
+ return inv<number>('0xF2FDDCC8C6BAE1B3', point);
2164
2164
  }
2165
2165
 
2166
2166
  /**
2167
- * @param p0
2168
- * @param p1
2167
+ * Old name: _ENABLE_EXTRA_TIMECYCLE_MODIFIER_STRENGTH
2168
+ *
2169
+ * @param strength
2169
2170
  */
2170
- static N_0x085C5B61A0114F32(p0: any, p1: any): void {
2171
- inv<void>('0x085C5B61A0114F32', p0, p1);
2171
+ static enableMoonCycleOverride(strength: number): void {
2172
+ inv<void>('0x6FE93BCC7BF12B63', f(strength));
2173
+ }
2174
+
2175
+ static setDisablePetrolDecalsIgnitingThisFrame(): void {
2176
+ inv<void>('0x53ED07BF368EDA59');
2172
2177
  }
2173
2178
 
2174
2179
  /**
2180
+ * Used in CREATE_BEZIER_BLOOD_TRAIL_OF_TYPE
2181
+ *
2175
2182
  * @param p0
2176
2183
  */
2177
- static N_0x9F158A49B0D84C3C(p0: any): void {
2178
- inv<void>('0x9F158A49B0D84C3C', p0);
2184
+ static N_0x4BD66B4E3427689B(p0: string | null): void {
2185
+ inv<void>('0x4BD66B4E3427689B', p0);
2179
2186
  }
2180
2187
 
2181
2188
  /**
2182
- * @returns
2189
+ * Enables/disables a kind of 'shiny' effect on metals.
2190
+ *
2191
+ * @param object
2192
+ * @param toggle
2183
2193
  */
2184
- static N_0x5C674EB487891F6B(): any {
2185
- return inv<number>('0x5C674EB487891F6B');
2194
+ static setPearlescentFxEnabled(object: Prop, toggle: boolean): void {
2195
+ inv<void>('0x72E30372E7CC4415', object.handle, toggle);
2186
2196
  }
2187
2197
 
2188
2198
  /**
2189
- * Params: component - used in odriscolls1 and sean1 R* SP Script: COMPONENT_BINOCULARS_SCOPE01
2190
- * Triggers the binocular scaleform
2191
- *
2192
- * @param component
2199
+ * @param enabled
2193
2200
  */
2194
- static N_0x21F00E08CBB5F37B(component: string | null): void {
2195
- inv<void>('0x21F00E08CBB5F37B', component);
2201
+ static setSniperGlintsEnabled(enabled: boolean): void {
2202
+ inv<void>('0x6E8EB45A4F4460EB', enabled);
2196
2203
  }
2197
2204
 
2198
2205
  /**
2199
- * Sets an unknown value related to timecycles.
2206
+ * Example:
2207
+ * local hash = GetHashKey("CLOTHING_ITEM_M_EYES_001_TINT_001")
2208
+ * _GENERATE_SWATCH_TEXTURE(0, hash, 0, true)
2209
+ * metapedType: see 0xEC9A1261BF0CE510
2200
2210
  *
2201
- * @param unk
2211
+ * @param slotId
2212
+ * @param componentHash
2213
+ * @param metapedType
2214
+ * @param p3
2202
2215
  */
2203
- static resetAdaptation(unk: number): void {
2204
- inv<void>('0x297B72E2AF094742', unk);
2216
+ static generateSwatchTexture(slotId: number, componentHash: string | number, metapedType: number, p3: boolean): void {
2217
+ inv<void>('0x160921255327C591', slotId, _h(componentHash), metapedType, p3);
2205
2218
  }
2206
2219
 
2207
2220
  /**
2208
- * @param effectNameHash
2221
+ * @param entity
2222
+ * @param mask
2223
+ * @param intensity
2209
2224
  */
2210
- static animpostfxPreloadPostfxByStackhash(effectNameHash: string | number): void {
2211
- inv<void>('0xF3E039322BFBD4D8', _h(effectNameHash));
2225
+ static addEntityToEntityMaskWithIntensity(entity: Entity, mask: number, intensity: number): void {
2226
+ inv<void>('0x958DEBD9353C0935', entity.handle, mask, f(intensity));
2212
2227
  }
2213
2228
 
2214
- /**
2215
- * @param effectNameHash
2216
- * @param p1
2217
- * @param p2
2218
- * @returns p3
2219
- */
2220
- static animpostfxHasEventTriggeredByStackhash(effectNameHash: string | number, p1: number, p2: boolean): [any, boolean] {
2221
- const result = inv<[number, number]>('0x9AB192A9EF980EED', _h(effectNameHash), p1, p2, pvi());
2222
- return [result[0], !!result[1]];
2229
+ static disableHdtexThisFrame(): void {
2230
+ inv<void>('0x98A7CD5EA379A854');
2223
2231
  }
2224
2232
 
2225
- static destroySwatchTextureDict(): void {
2226
- inv<void>('0xDAD7FB8402651654');
2233
+ /**
2234
+ * @param entity
2235
+ */
2236
+ static attachTvAudioToEntity(entity: Entity): void {
2237
+ inv<void>('0x40866A418EB8EFDE', entity.handle);
2227
2238
  }
2228
2239
 
2229
2240
  /**
2241
+ * @param effectName
2242
+ * @param ped
2243
+ * @param offset
2244
+ * @param rot
2245
+ * @param boneIndex
2246
+ * @param scale
2247
+ * @param axisX
2248
+ * @param axisY
2249
+ * @param axisZ
2230
2250
  * @returns
2231
2251
  */
2232
- static beginTakeHighQualityPhoto(): any {
2233
- return inv<number>('0xA15BFFC0A01B34E1');
2252
+ static startParticleFxNonLoopedOnPedBone(effectName: string | null, ped: Ped, offset: Vector3, rot: Vector3, boneIndex: number, scale: number, axisX: boolean, axisY: boolean, axisZ: boolean): boolean {
2253
+ return !!inv<boolean>('0x3FAA72BD940C3AC0', effectName, ped.handle, f(offset.x), f(offset.y), f(offset.z), f(rot.x), f(rot.y), f(rot.z), boneIndex, f(scale), axisX, axisY, axisZ, rai());
2234
2254
  }
2235
2255
 
2236
2256
  /**
2237
- * Old name: _IS_TV_PLAYLIST_ITEM_PLAYING
2257
+ * contentId: returned by NETWORK::_UGC_QUERY_GET_CREATOR_PHOTO(uVar0, 0, sParam3)
2238
2258
  *
2239
- * @param videoCliphash
2259
+ * @param contentId
2240
2260
  * @returns
2241
2261
  */
2242
- static isTvshowCurrentlyPlaying(videoCliphash: string | number): boolean {
2243
- return inv<boolean>('0x4D562223E0EB65F3', _h(videoCliphash), rai());
2262
+ static getStatusOfLoadMissionCreatorPhoto(contentId: string | null): number {
2263
+ return inv<number>('0xC71B50AE58D07369', contentId, rai());
2244
2264
  }
2245
2265
 
2246
2266
  /**
2247
2267
  * @param p0
2248
2268
  */
2249
- static N_0x8996FA6AD9FE4E90(p0: any): void {
2250
- inv<void>('0x8996FA6AD9FE4E90', p0);
2269
+ static N_0x6C03118E9E5C1A14(p0: any): void {
2270
+ inv<void>('0x6C03118E9E5C1A14', p0);
2251
2271
  }
2252
2272
 
2253
2273
  /**
2254
- * @param obj
2274
+ * Related to Campfires.
2275
+ * p1: AMB_BONFIRE_MP, AMB_CAMPFIRE_LRG_MP
2276
+ *
2277
+ * @param entity
2278
+ * @param p1
2279
+ * @param r
2280
+ * @param g
2281
+ * @param b
2255
2282
  */
2256
- static removeDecalsFromObject(obj: Prop): void {
2257
- inv<void>('0xFB8972BAE0013140', obj.handle);
2283
+ static setParticleFxAmbientColour(entity: Entity, p1: string | null, r: number, g: number, b: number): void {
2284
+ inv<void>('0x3C61B52B00848C26', entity.handle, p1, f(r), f(g), f(b));
2258
2285
  }
2259
2286
 
2260
2287
  /**
2261
- * https://github.com/femga/rdr3_discoveries/blob/master/graphics/markers/marker_types.lua
2262
- * Old name: _DRAW_MARKER
2288
+ * Resets the effect of SET_PARTICLE_FX_OVERRIDE
2263
2289
  *
2264
- * @param type
2265
- * @param pos
2266
- * @param direction
2267
- * @param rot
2268
- * @param scale
2269
- * @param color
2270
- * @param alpha
2271
- * @param bobUpAndDown
2272
- * @param faceCamera
2273
- * @param p19
2274
- * @param rotate
2275
- * @param textureDict
2276
- * @param textureName
2277
- * @param drawOnEnts
2290
+ * @param name
2278
2291
  */
2279
- static drawMarker(type: string | number, pos: Vector3, direction: Vector3, rot: Vector3, scale: Vector3, color: Color, alpha: number, bobUpAndDown: boolean, faceCamera: boolean, p19: number, rotate: boolean, textureDict: string | null, textureName: string | null, drawOnEnts: boolean): void {
2280
- inv<void>('0x2A32FAA57B937173', _h(type), f(pos.x), f(pos.y), f(pos.z), f(direction.x), f(direction.y), f(direction.z), f(rot.x), f(rot.y), f(rot.z), f(scale.x), f(scale.y), f(scale.z), color.r, color.g, color.b, color.a, alpha, bobUpAndDown, faceCamera, p19, rotate, textureDict, textureName, drawOnEnts);
2292
+ static resetParticleFxOverride(name: string | null): void {
2293
+ inv<void>('0x274B3DABF7E72DEF', name);
2281
2294
  }
2282
2295
 
2283
2296
  /**
2284
- * @param r
2285
- * @param g
2286
- * @param b
2297
+ * must be called after ANIMPOSTFX_PLAY, strength 0.0f - 1.0f
2298
+ *
2299
+ * @param effectName
2300
+ * @param strength
2287
2301
  */
2288
- static setParticleFxNonLoopedColour(r: number, g: number, b: number): void {
2289
- inv<void>('0x60B85BED6577A35B', f(r), f(g), f(b));
2302
+ static animpostfxSetStrength(effectName: string | null, strength: number): void {
2303
+ inv<void>('0xCAB4DD2D5B2B7246', effectName, f(strength));
2290
2304
  }
2291
2305
 
2292
2306
  /**
2293
2307
  * @param p0
2308
+ * @param p1
2309
+ * @param p2
2310
+ * @param p3
2311
+ * @param p4
2294
2312
  */
2295
- static N_0xF5793BB386E1FF9C(p0: any): void {
2296
- inv<void>('0xF5793BB386E1FF9C', p0);
2313
+ static N_0xCC3B787E73E64160(p0: any, p1: any, p2: any, p3: any, p4: any): void {
2314
+ inv<void>('0xCC3B787E73E64160', p0, p1, p2, p3, p4);
2297
2315
  }
2298
2316
 
2299
2317
  /**
2300
- * Used in shop scripts for CATALOG_BOOK
2301
- * false = Normal -> [CATALOG_BOOK_SHUTDOWN]
2302
- * true = Trees flickering? -> [CATALOG_BOOK_OPEN]
2303
- *
2304
- * @param p0
2318
+ * @param volume
2305
2319
  */
2306
- static N_0x1A9F09AB458D49C6(p0: boolean): void {
2307
- inv<void>('0x1A9F09AB458D49C6', p0);
2320
+ static setTvVolume(volume: number): void {
2321
+ inv<void>('0x73A97068787D7231', f(volume));
2308
2322
  }
2309
2323
 
2310
2324
  /**
2311
- * @param effectName
2312
- * @param duration
2325
+ * Creates a tracked point, useful for checking the visibility of a 3D point on screen.
2326
+ *
2327
+ * @returns
2313
2328
  */
2314
- static animpostfxPlayTimed(effectName: string | null, duration: number): void {
2315
- inv<void>('0x3A9A281FF71249E9', effectName, duration);
2329
+ static createTrackedPoint(): number {
2330
+ return inv<number>('0xFB405CB357C69CB9', rai());
2316
2331
  }
2317
2332
 
2318
2333
  /**
2319
- * @param effectName
2320
- * @param entity
2321
- * @param offset
2322
- * @param rot
2323
- * @param boneIndex
2324
- * @param scale
2325
- * @param xAxis
2326
- * @param yAxis
2327
- * @param zAxis
2334
+ * @param effectNameHash
2328
2335
  * @returns
2329
2336
  */
2330
- static startNetworkedParticleFxLoopedOnEntityBone(effectName: string | null, entity: Entity, offset: Vector3, rot: Vector3, boneIndex: number, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean): number {
2331
- return inv<number>('0x9C56621462FFE7A6', effectName, entity.handle, f(offset.x), f(offset.y), f(offset.z), f(rot.x), f(rot.y), f(rot.z), boneIndex, f(scale), xAxis, yAxis, zAxis, rai());
2337
+ static animpostfxIsPreloadingByStackhash(effectNameHash: string | number): any {
2338
+ return inv<number>('0x59EA80079B86D8C7', _h(effectNameHash));
2332
2339
  }
2333
2340
 
2334
2341
  /**
2335
- * @param p0
2336
- * @param p1
2337
- * @param p2
2342
+ * @param personaPhotoLocalCacheType
2338
2343
  */
2339
- static N_0x735762E8D7573E42(p0: any, p1: any, p2: any): void {
2340
- inv<void>('0x735762E8D7573E42', p0, p1, p2);
2344
+ static N_0xA1A86055792FB249(personaPhotoLocalCacheType: number): void {
2345
+ inv<void>('0xA1A86055792FB249', personaPhotoLocalCacheType);
2341
2346
  }
2342
2347
 
2343
2348
  /**
2344
- * Only used in guama1 R* Script
2345
- * Disables lod/distant lights when BOOL is set to true
2346
- *
2347
- * @param disable
2349
+ * @param p0
2348
2350
  */
2349
- static disableFarArtificialLights(disable: boolean): void {
2350
- inv<void>('0xCD284E2F6AC27EE9', disable);
2351
+ static setPhotoSelfStat(p0: boolean): void {
2352
+ inv<void>('0x2705D18C11B61046', p0);
2351
2353
  }
2352
2354
 
2353
2355
  /**
2354
- * @param decal
2356
+ * https://github.com/femga/rdr3_discoveries/blob/master/graphics/animpostfx
2357
+ *
2358
+ * @param effectName
2355
2359
  */
2356
- static removeDecal(decal: number): void {
2357
- inv<void>('0x49A720552EB0BB88', decal);
2360
+ static animpostfxPlay(effectName: string | null): void {
2361
+ inv<void>('0x4102732DF6B4005F', effectName);
2358
2362
  }
2359
2363
 
2360
2364
  /**
2361
- * Hardcoded to always set x to 1280 and y to 720.
2362
- *
2363
- * @returns x; y
2365
+ * *DISABLE**
2364
2366
  */
2365
- static getScreenResolution(): [number, number] {
2366
- const result = inv<[number, number]>('0x66773C92835D0909', pvi(), pvi());
2367
- return [result[0], result[1]];
2367
+ static N_0x4046493D2EEACA0E(): void {
2368
+ inv<void>('0x4046493D2EEACA0E');
2369
+ }
2370
+
2371
+ static pedshotPreviousPersonaPhotoDataCleanup(): void {
2372
+ inv<void>('0x3E2FDDBE435A8787');
2368
2373
  }
2369
2374
 
2370
2375
  /**
2371
- * ANIMPOSTFX_*
2376
+ * effectName2, p2 and p3 are unused ANIMPOSTFX_*
2372
2377
  *
2373
2378
  * @param effectName
2379
+ * @param effectName2
2380
+ * @param p2
2381
+ * @param p3
2374
2382
  */
2375
- static N_0xA201A3D0AC087C37(effectName: string | null): void {
2376
- inv<void>('0xA201A3D0AC087C37', effectName);
2383
+ static N_0x26DD2FB0A88CC412(effectName: string | null, effectName2: string | null, p2: any, p3: any): void {
2384
+ inv<void>('0x26DD2FB0A88CC412', effectName, effectName2, p2, p3);
2377
2385
  }
2378
2386
 
2379
2387
  /**
2380
- * @param modifierName
2381
- * @param transitionBlend
2388
+ * Example: https://pastebin.com/tTgpER9A
2389
+ *
2390
+ * @param slot
2391
+ * @param p1
2382
2392
  */
2383
- static setTransitionTimecycleModifier(modifierName: string | null, transitionBlend: number): void {
2384
- inv<void>('0xFF927A09F481D80C', modifierName, f(transitionBlend));
2385
- }
2386
-
2387
- static enableEntitymask(): void {
2388
- inv<void>('0xFAAD23DE7A54FC14');
2393
+ static generateSwatchTextureDirectly(slot: number, p1: any): void {
2394
+ inv<void>('0x646ED1A1D28487DF', slot, p1);
2389
2395
  }
2390
2396
 
2391
2397
  /**
2392
- * fxName: see data_0/data/effects/ptfx/fxlists/
2393
- *
2394
- * @param fxName
2398
+ * @param p0
2395
2399
  */
2396
- static useParticleFxAsset(fxName: string | null): void {
2397
- inv<void>('0xA10DB07FC234DD12', fxName);
2398
- }
2399
-
2400
- static animpostfxStopAll(): void {
2401
- inv<void>('0x66560A0D4C64FD21');
2400
+ static setParticleFxBulletImpactLodrangeScale(p0: number): void {
2401
+ inv<void>('0x8DCCC98DC0DBF9E4', f(p0));
2402
2402
  }
2403
2403
 
2404
2404
  /**
2405
- * @param pickup
2406
- * @param toggle
2405
+ * @param p0
2406
+ * @param p1
2407
2407
  */
2408
- static blockPickupPlacementLight(pickup: Pickup, toggle: boolean): void {
2409
- inv<void>('0x0552AA3FFC5B87AA', pickup.handle, toggle);
2408
+ static N_0x1FF8731BE1DFC0C0(p0: any, p1: any): void {
2409
+ inv<void>('0x1FF8731BE1DFC0C0', p0, p1);
2410
2410
  }
2411
2411
 
2412
2412
  }