@nativewrappers/redm-codegen 0.0.3 → 0.0.4

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