@nativewrappers/redm-codegen 0.0.2 → 0.0.4

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