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