@nativewrappers/redm-codegen 0.0.4 → 0.0.5

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