@nativewrappers/redm-codegen 0.0.2 → 0.0.3

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