@nativewrappers/redm-codegen 0.0.4 → 0.0.6

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