@nativewrappers/redm-codegen 0.0.2 → 0.0.3

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 (254) hide show
  1. package/dist/classes/AnimScene.d.ts +142 -142
  2. package/dist/classes/AnimScene.d.ts.map +1 -1
  3. package/dist/classes/AnimScene.js +203 -203
  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 +34 -34
  8. package/dist/classes/BaseTask.d.ts.map +1 -1
  9. package/dist/classes/BaseTask.js +42 -42
  10. package/dist/classes/Cam.d.ts +71 -71
  11. package/dist/classes/Cam.d.ts.map +1 -1
  12. package/dist/classes/Cam.js +102 -102
  13. package/dist/classes/Entity.d.ts +387 -386
  14. package/dist/classes/Entity.d.ts.map +1 -1
  15. package/dist/classes/Entity.js +509 -504
  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 +67 -66
  20. package/dist/classes/Ped.d.ts.map +1 -1
  21. package/dist/classes/Ped.js +80 -75
  22. package/dist/classes/PedTask.d.ts +1518 -1518
  23. package/dist/classes/PedTask.d.ts.map +1 -1
  24. package/dist/classes/PedTask.js +1930 -1930
  25. package/dist/classes/PersChar.d.ts +11 -11
  26. package/dist/classes/PersChar.d.ts.map +1 -1
  27. package/dist/classes/PersChar.js +23 -23
  28. package/dist/classes/Pickup.d.ts +7 -7
  29. package/dist/classes/Pickup.d.ts.map +1 -1
  30. package/dist/classes/Pickup.js +13 -13
  31. package/dist/classes/Player.d.ts +237 -237
  32. package/dist/classes/Player.d.ts.map +1 -1
  33. package/dist/classes/Player.js +319 -319
  34. package/dist/classes/Prop.d.ts +105 -104
  35. package/dist/classes/Prop.d.ts.map +1 -1
  36. package/dist/classes/Prop.js +155 -150
  37. package/dist/classes/PropSet.d.ts +1 -1
  38. package/dist/classes/PropSet.d.ts.map +1 -1
  39. package/dist/classes/Vehicle.d.ts +1 -0
  40. package/dist/classes/Vehicle.d.ts.map +1 -1
  41. package/dist/classes/Vehicle.js +5 -0
  42. package/dist/classes/VehicleTask.d.ts +21 -21
  43. package/dist/classes/VehicleTask.d.ts.map +1 -1
  44. package/dist/classes/VehicleTask.js +27 -27
  45. package/dist/classes/Volume.d.ts +40 -40
  46. package/dist/classes/Volume.d.ts.map +1 -1
  47. package/dist/classes/Volume.js +54 -54
  48. package/dist/classes/Weapon.d.ts +364 -364
  49. package/dist/classes/Weapon.d.ts.map +1 -1
  50. package/dist/classes/Weapon.js +515 -515
  51. package/dist/namespaces/Aitransport.d.ts +77 -77
  52. package/dist/namespaces/Aitransport.d.ts.map +1 -1
  53. package/dist/namespaces/Aitransport.js +94 -94
  54. package/dist/namespaces/Animscene.d.ts +65 -65
  55. package/dist/namespaces/Animscene.d.ts.map +1 -1
  56. package/dist/namespaces/Animscene.js +83 -83
  57. package/dist/namespaces/Audio.d.ts +464 -464
  58. package/dist/namespaces/Audio.d.ts.map +1 -1
  59. package/dist/namespaces/Audio.js +651 -651
  60. package/dist/namespaces/Bounty.d.ts +23 -23
  61. package/dist/namespaces/Bounty.d.ts.map +1 -1
  62. package/dist/namespaces/Bounty.js +40 -40
  63. package/dist/namespaces/Brain.d.ts +15 -15
  64. package/dist/namespaces/Brain.d.ts.map +1 -1
  65. package/dist/namespaces/Brain.js +20 -20
  66. package/dist/namespaces/CamStatics.d.ts +459 -459
  67. package/dist/namespaces/CamStatics.d.ts.map +1 -1
  68. package/dist/namespaces/CamStatics.js +719 -719
  69. package/dist/namespaces/Collection.d.ts +78 -78
  70. package/dist/namespaces/Collection.d.ts.map +1 -1
  71. package/dist/namespaces/Collection.js +109 -109
  72. package/dist/namespaces/Companion.d.ts +22 -22
  73. package/dist/namespaces/Companion.d.ts.map +1 -1
  74. package/dist/namespaces/Companion.js +30 -30
  75. package/dist/namespaces/Compendium.d.ts +94 -94
  76. package/dist/namespaces/Compendium.d.ts.map +1 -1
  77. package/dist/namespaces/Compendium.js +126 -126
  78. package/dist/namespaces/Databinding.d.ts +113 -113
  79. package/dist/namespaces/Databinding.d.ts.map +1 -1
  80. package/dist/namespaces/Databinding.js +167 -167
  81. package/dist/namespaces/Dlc.d.ts +5 -5
  82. package/dist/namespaces/Dlc.d.ts.map +1 -1
  83. package/dist/namespaces/Dlc.js +9 -9
  84. package/dist/namespaces/EntityStatics.d.ts +164 -164
  85. package/dist/namespaces/EntityStatics.d.ts.map +1 -1
  86. package/dist/namespaces/EntityStatics.js +225 -225
  87. package/dist/namespaces/Event.d.ts +62 -62
  88. package/dist/namespaces/Event.d.ts.map +1 -1
  89. package/dist/namespaces/Event.js +82 -82
  90. package/dist/namespaces/Fire.d.ts +7 -7
  91. package/dist/namespaces/Fire.d.ts.map +1 -1
  92. package/dist/namespaces/Fire.js +9 -9
  93. package/dist/namespaces/Graphics.d.ts +688 -688
  94. package/dist/namespaces/Graphics.d.ts.map +1 -1
  95. package/dist/namespaces/Graphics.js +876 -876
  96. package/dist/namespaces/Hud.d.ts +456 -456
  97. package/dist/namespaces/Hud.d.ts.map +1 -1
  98. package/dist/namespaces/Hud.js +598 -598
  99. package/dist/namespaces/InteriorStatics.d.ts +42 -42
  100. package/dist/namespaces/InteriorStatics.d.ts.map +1 -1
  101. package/dist/namespaces/InteriorStatics.js +56 -56
  102. package/dist/namespaces/Inventory.d.ts +156 -156
  103. package/dist/namespaces/Inventory.d.ts.map +1 -1
  104. package/dist/namespaces/Inventory.js +210 -210
  105. package/dist/namespaces/Itemdatabase.d.ts +3 -3
  106. package/dist/namespaces/Itemdatabase.d.ts.map +1 -1
  107. package/dist/namespaces/Law.d.ts +2 -2
  108. package/dist/namespaces/Law.d.ts.map +1 -1
  109. package/dist/namespaces/Map.d.ts +128 -128
  110. package/dist/namespaces/Map.d.ts.map +1 -1
  111. package/dist/namespaces/Map.js +180 -180
  112. package/dist/namespaces/Minigame.d.ts +60 -60
  113. package/dist/namespaces/Minigame.d.ts.map +1 -1
  114. package/dist/namespaces/Minigame.js +88 -88
  115. package/dist/namespaces/Misc.d.ts +5 -5
  116. package/dist/namespaces/Misc.d.ts.map +1 -1
  117. package/dist/namespaces/Missiondata.d.ts +3 -3
  118. package/dist/namespaces/Missiondata.d.ts.map +1 -1
  119. package/dist/namespaces/Netshopping.d.ts +1 -1
  120. package/dist/namespaces/Netshopping.d.ts.map +1 -1
  121. package/dist/namespaces/Network.d.ts +1528 -1536
  122. package/dist/namespaces/Network.d.ts.map +1 -1
  123. package/dist/namespaces/Network.js +2196 -2204
  124. package/dist/namespaces/Object.d.ts +244 -244
  125. package/dist/namespaces/Object.d.ts.map +1 -1
  126. package/dist/namespaces/Object.js +355 -355
  127. package/dist/namespaces/Pad.d.ts +43 -43
  128. package/dist/namespaces/Pad.d.ts.map +1 -1
  129. package/dist/namespaces/Pad.js +58 -58
  130. package/dist/namespaces/PedStatics.d.ts +21 -21
  131. package/dist/namespaces/PedStatics.d.ts.map +1 -1
  132. package/dist/namespaces/PedStatics.js +26 -26
  133. package/dist/namespaces/Perschar.d.ts +62 -62
  134. package/dist/namespaces/Perschar.d.ts.map +1 -1
  135. package/dist/namespaces/Perschar.js +91 -91
  136. package/dist/namespaces/Persistence.d.ts +30 -30
  137. package/dist/namespaces/Persistence.d.ts.map +1 -1
  138. package/dist/namespaces/Persistence.js +42 -42
  139. package/dist/namespaces/Physics.d.ts +207 -207
  140. package/dist/namespaces/Physics.d.ts.map +1 -1
  141. package/dist/namespaces/Physics.js +310 -310
  142. package/dist/namespaces/PlayerStatics.d.ts +72 -72
  143. package/dist/namespaces/PlayerStatics.d.ts.map +1 -1
  144. package/dist/namespaces/PlayerStatics.js +103 -103
  145. package/dist/namespaces/Population.d.ts +88 -88
  146. package/dist/namespaces/Population.d.ts.map +1 -1
  147. package/dist/namespaces/Population.js +116 -116
  148. package/dist/namespaces/Posse.d.ts +49 -49
  149. package/dist/namespaces/Posse.d.ts.map +1 -1
  150. package/dist/namespaces/Posse.js +79 -79
  151. package/dist/namespaces/Propset.d.ts +1 -1
  152. package/dist/namespaces/Propset.d.ts.map +1 -1
  153. package/dist/namespaces/Scripts.d.ts +3 -3
  154. package/dist/namespaces/Scripts.d.ts.map +1 -1
  155. package/dist/namespaces/Shapetest.d.ts +11 -11
  156. package/dist/namespaces/Shapetest.d.ts.map +1 -1
  157. package/dist/namespaces/Shapetest.js +13 -13
  158. package/dist/namespaces/Socialclub.d.ts +1 -1
  159. package/dist/namespaces/Socialclub.d.ts.map +1 -1
  160. package/dist/namespaces/Stats.d.ts +174 -174
  161. package/dist/namespaces/Stats.d.ts.map +1 -1
  162. package/dist/namespaces/Stats.js +240 -240
  163. package/dist/namespaces/Streaming.d.ts +127 -127
  164. package/dist/namespaces/Streaming.d.ts.map +1 -1
  165. package/dist/namespaces/Streaming.js +193 -193
  166. package/dist/namespaces/Task.d.ts +220 -220
  167. package/dist/namespaces/Task.d.ts.map +1 -1
  168. package/dist/namespaces/Task.js +299 -299
  169. package/dist/namespaces/Telemetry.d.ts +188 -188
  170. package/dist/namespaces/Telemetry.d.ts.map +1 -1
  171. package/dist/namespaces/Telemetry.js +249 -249
  172. package/dist/namespaces/Uiapps.d.ts +24 -24
  173. package/dist/namespaces/Uiapps.d.ts.map +1 -1
  174. package/dist/namespaces/Uiapps.js +33 -33
  175. package/dist/namespaces/Uistickyfeed.d.ts +16 -16
  176. package/dist/namespaces/Uistickyfeed.d.ts.map +1 -1
  177. package/dist/namespaces/Uistickyfeed.js +21 -21
  178. package/dist/namespaces/VehicleStatics.d.ts +2 -2
  179. package/dist/namespaces/VehicleStatics.d.ts.map +1 -1
  180. package/dist/namespaces/VolumeStatics.d.ts +64 -64
  181. package/dist/namespaces/VolumeStatics.d.ts.map +1 -1
  182. package/dist/namespaces/VolumeStatics.js +85 -85
  183. package/dist/namespaces/WeaponStatics.d.ts +262 -262
  184. package/dist/namespaces/WeaponStatics.d.ts.map +1 -1
  185. package/dist/namespaces/WeaponStatics.js +361 -361
  186. package/dist/namespaces/Zone.d.ts +2 -2
  187. package/dist/namespaces/Zone.d.ts.map +1 -1
  188. package/package.json +1 -1
  189. package/src/classes/AnimScene.ts +230 -230
  190. package/src/classes/BaseModel.ts +50 -50
  191. package/src/classes/BaseTask.ts +46 -46
  192. package/src/classes/Cam.ts +113 -113
  193. package/src/classes/Entity.ts +537 -532
  194. package/src/classes/Interior.ts +43 -43
  195. package/src/classes/Ped.ts +100 -95
  196. package/src/classes/PedTask.ts +1969 -1969
  197. package/src/classes/PersChar.ts +28 -28
  198. package/src/classes/Pickup.ts +13 -13
  199. package/src/classes/Player.ts +364 -364
  200. package/src/classes/Prop.ts +167 -162
  201. package/src/classes/PropSet.ts +1 -1
  202. package/src/classes/Vehicle.ts +5 -0
  203. package/src/classes/VehicleTask.ts +30 -30
  204. package/src/classes/Volume.ts +62 -62
  205. package/src/classes/Weapon.ts +517 -517
  206. package/src/namespaces/Aitransport.ts +102 -102
  207. package/src/namespaces/Animscene.ts +92 -92
  208. package/src/namespaces/Audio.ts +765 -765
  209. package/src/namespaces/Bounty.ts +46 -46
  210. package/src/namespaces/Brain.ts +22 -22
  211. package/src/namespaces/CamStatics.ts +747 -747
  212. package/src/namespaces/Collection.ts +112 -112
  213. package/src/namespaces/Companion.ts +34 -34
  214. package/src/namespaces/Compendium.ts +131 -131
  215. package/src/namespaces/Databinding.ts +170 -170
  216. package/src/namespaces/Dlc.ts +9 -9
  217. package/src/namespaces/EntityStatics.ts +237 -237
  218. package/src/namespaces/Event.ts +92 -92
  219. package/src/namespaces/Fire.ts +10 -10
  220. package/src/namespaces/Graphics.ts +1206 -1206
  221. package/src/namespaces/Hud.ts +647 -647
  222. package/src/namespaces/InteriorStatics.ts +66 -66
  223. package/src/namespaces/Inventory.ts +237 -237
  224. package/src/namespaces/Itemdatabase.ts +3 -3
  225. package/src/namespaces/Law.ts +2 -2
  226. package/src/namespaces/Map.ts +204 -204
  227. package/src/namespaces/Minigame.ts +100 -100
  228. package/src/namespaces/Misc.ts +5 -5
  229. package/src/namespaces/Missiondata.ts +3 -3
  230. package/src/namespaces/Netshopping.ts +1 -1
  231. package/src/namespaces/Network.ts +2217 -2225
  232. package/src/namespaces/Object.ts +381 -381
  233. package/src/namespaces/Pad.ts +67 -67
  234. package/src/namespaces/PedStatics.ts +33 -33
  235. package/src/namespaces/Perschar.ts +105 -105
  236. package/src/namespaces/Persistence.ts +48 -48
  237. package/src/namespaces/Physics.ts +326 -326
  238. package/src/namespaces/PlayerStatics.ts +113 -113
  239. package/src/namespaces/Population.ts +133 -133
  240. package/src/namespaces/Posse.ts +80 -80
  241. package/src/namespaces/Propset.ts +1 -1
  242. package/src/namespaces/Scripts.ts +3 -3
  243. package/src/namespaces/Shapetest.ts +14 -14
  244. package/src/namespaces/Socialclub.ts +1 -1
  245. package/src/namespaces/Stats.ts +266 -266
  246. package/src/namespaces/Streaming.ts +226 -226
  247. package/src/namespaces/Task.ts +527 -527
  248. package/src/namespaces/Telemetry.ts +300 -300
  249. package/src/namespaces/Uiapps.ts +39 -39
  250. package/src/namespaces/Uistickyfeed.ts +23 -23
  251. package/src/namespaces/VehicleStatics.ts +2 -2
  252. package/src/namespaces/VolumeStatics.ts +87 -87
  253. package/src/namespaces/WeaponStatics.ts +365 -365
  254. package/src/namespaces/Zone.ts +2 -2
@@ -11,180 +11,96 @@ import { inv, rai, raf, ras, rav, pvi, pvf, pvv, pvii, pvfi, _h, f } from '../ty
11
11
 
12
12
  export class Physics {
13
13
  /**
14
- * @param ropeId
15
- * @param p1
14
+ * ropeTop returns top half of rope, ropeBottom returns bottom half of rope
15
+ *
16
+ * @param offset
17
+ * @param p6
18
+ * @returns ropeId; ropeTop; ropeBottom
16
19
  */
17
- static ropeSetUpdateOrder(ropeId: number, p1: any): void {
18
- inv<void>('0xDC57A637A20006ED', ropeId, p1);
20
+ static breakRope(offset: Vector3, p6: number): [number, number, number] {
21
+ const result = inv<[number, number, number]>('0x4CFA2B7FAE115ECB', pvi(), pvi(), pvi(), f(offset.x), f(offset.y), f(offset.z), p6);
22
+ return [result[0], result[1], result[2]];
19
23
  }
20
24
 
21
25
  /**
22
- * @param ropeId
23
- * @returns
26
+ * @param toggle
27
+ * @returns ropeId
24
28
  */
25
- static isRopeBroken(ropeId: number): any {
26
- return inv<number>('0x79C2BEC82CFD7F7F', ropeId);
29
+ static ropeDrawShadowEnabled(toggle: boolean): number {
30
+ const result = inv<number>('0xF159A63806BB5BA8', pvi(), toggle);
31
+ return result;
27
32
  }
28
33
 
29
34
  /**
30
35
  * @param p0
31
- * @param p1
32
- * @param p2
33
- * @param p3
34
- * @param p4
35
- * @param p5
36
- * @param p6
37
36
  */
38
- static N_0x69C810B72291D831(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any): void {
39
- inv<void>('0x69C810B72291D831', p0, p1, p2, p3, p4, p5, p6);
37
+ static N_0x0CB16D05E03FB525(p0: any): void {
38
+ inv<void>('0x0CB16D05E03FB525', p0);
40
39
  }
41
40
 
42
41
  /**
43
- * @param entity
44
- * @param p1
45
- * @param p2
46
- * @param p3
47
- * @param p4
48
- * @param p5
49
- * @param p6
50
- * @param p7
51
- * @param p8
52
- * @param p9
53
- * @param p10
42
+ * @param object
43
+ * @param toggle
54
44
  */
55
- static breakEntityGlass(entity: Entity, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: any, p10: boolean): void {
56
- inv<void>('0x2E648D16F6E308F3', entity.handle, f(p1), f(p2), f(p3), f(p4), f(p5), f(p6), f(p7), f(p8), p9, p10);
45
+ static setDisableFragDamage(object: Prop, toggle: boolean): void {
46
+ inv<void>('0x01BA3AED21C16CFB', object.handle, toggle);
57
47
  }
58
48
 
59
49
  /**
60
- * @param ropeId
61
- * @param p1
62
- * @param p2
63
- * @param p3
64
- * @param p4
65
- * @param p5
66
- * @param p6
67
- * @param p7
68
- * @param p8
69
- * @param p9
70
- * @param p10
50
+ * @returns ropeId
71
51
  */
72
- static N_0x21D0890D88DFB0B0(ropeId: number, p1: boolean, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number, p10: number): void {
73
- inv<void>('0x21D0890D88DFB0B0', ropeId, p1, f(p2), f(p3), f(p4), f(p5), f(p6), f(p7), f(p8), f(p9), p10);
52
+ static deleteRope(): number {
53
+ const result = inv<number>('0x52B4829281364649', pvi());
54
+ return result;
74
55
  }
75
56
 
76
57
  /**
77
58
  * @param ropeId
78
59
  * @param p1
79
60
  */
80
- static N_0xB40EA9E0D2E2F7F3(ropeId: number, p1: number): void {
81
- inv<void>('0xB40EA9E0D2E2F7F3', ropeId, f(p1));
82
- }
83
-
84
- /**
85
- * @param pos
86
- * @param rot
87
- * @param length
88
- * @param ropeType
89
- * @param isNetworked
90
- * @param p9
91
- * @param p10
92
- * @returns
93
- */
94
- static addRope2(pos: Vector3, rot: Vector3, length: number, ropeType: number, isNetworked: boolean, p9: number, p10: number): number {
95
- return inv<number>('0xE9C59F6809373A99', f(pos.x), f(pos.y), f(pos.z), f(rot.x), f(rot.y), f(rot.z), f(length), ropeType, isNetworked, p9, f(p10), rai());
96
- }
97
-
98
- /**
99
- * @param p0
100
- * @param p1
101
- */
102
- static N_0xF8CA39D5C0D1D9A1(p0: any, p1: any): void {
103
- inv<void>('0xF8CA39D5C0D1D9A1', p0, p1);
104
- }
105
-
106
- /**
107
- * @param entity
108
- * @param vertex
109
- * @param value
110
- */
111
- static setDamping(entity: Entity, vertex: number, value: number): void {
112
- inv<void>('0xEEA3B200A6FEB65B', entity.handle, vertex, f(value));
61
+ static N_0x1D97DA8ACB5D2582(ropeId: number, p1: number): void {
62
+ inv<void>('0x1D97DA8ACB5D2582', ropeId, p1);
113
63
  }
114
64
 
115
65
  /**
116
66
  * @param ropeId
117
67
  * @param p1
118
- * @param p2
119
- * @param p3
120
- * @param p4
121
- */
122
- static N_0xBB3E9B073E66C3C9(ropeId: number, p1: boolean, p2: boolean, p3: boolean, p4: boolean): void {
123
- inv<void>('0xBB3E9B073E66C3C9', ropeId, p1, p2, p3, p4);
124
- }
125
-
126
- /**
127
- * There are 19 types of rope, from type = 0 to type = 18
128
- * Rope definitions are stored in ropedata.xml
129
- * Rope types 0, 15 and 18 have proper physics for hanging objects (taut, do not sag, small to medium diameter, good aspect for a rope)
130
- *
131
- * @param pos
132
- * @param rot
133
- * @param length
134
- * @param ropeType
135
- * @param maxLength
136
- * @param minLength
137
- * @param p10
138
- * @param p11
139
- * @param p12
140
- * @param rigid
141
- * @param p14
142
- * @param breakWhenShot
143
- * @param p17
144
- * @returns unkPtr
145
68
  */
146
- static addRope(pos: Vector3, rot: Vector3, length: number, ropeType: number, maxLength: number, minLength: number, p10: number, p11: boolean, p12: boolean, rigid: boolean, p14: number, breakWhenShot: boolean, p17: boolean): [number, number] {
147
- const result = inv<[number, number]>('0xE832D760399EB220', f(pos.x), f(pos.y), f(pos.z), f(rot.x), f(rot.y), f(rot.z), f(length), ropeType, f(maxLength), f(minLength), f(p10), p11, p12, rigid, f(p14), breakWhenShot, pvi(), p17, rai());
148
- return [result[0], result[1]];
69
+ static N_0x461FCBDEB4D06717(ropeId: number, p1: boolean): void {
70
+ inv<void>('0x461FCBDEB4D06717', ropeId, p1);
149
71
  }
150
72
 
151
73
  /**
152
- * @param ropeId
74
+ * @param p0
75
+ * @param p1
153
76
  */
154
- static stopRopeUnwindingFront(ropeId: number): void {
155
- inv<void>('0xFFF3A50779EFBBB3', ropeId);
77
+ static N_0x5E981C764DF33117(p0: any, p1: any): void {
78
+ inv<void>('0x5E981C764DF33117', p0, p1);
156
79
  }
157
80
 
158
81
  /**
159
82
  * @param ropeId
160
- * @param p1
161
83
  */
162
- static N_0xC89E7410A93AC19A(ropeId: number, p1: number): void {
163
- inv<void>('0xC89E7410A93AC19A', ropeId, f(p1));
84
+ static releaseRope(ropeId: number): void {
85
+ inv<void>('0x6076213101A47B3B', ropeId);
164
86
  }
165
87
 
166
88
  /**
167
- * Combining this with ADD_ROPE enables winding
168
- * p1: mostly empty (0)
169
- * ropeModelType: RB_L_Wrist02, RB_R_Wrist02, ropeAttach, noose01x_Rope_03, SKEL_Neck0, SKEL_L_FOOT, SKEL_Neck1, Root_s_meatbit_Chunck_Xlarge01x
170
- * *CREATE**
89
+ * Forces a rope to a certain length.
171
90
  *
172
91
  * @param ropeId
173
- * @param p1
174
- * @param ropeModelType
175
92
  * @param length
176
- * @param p4
177
93
  */
178
- static createRopeWindingAbility(ropeId: number, p1: string | null, ropeModelType: string | null, length: number, p4: boolean): void {
179
- inv<void>('0x3C6490D940FF5D0B', ropeId, p1, ropeModelType, f(length), p4);
94
+ static ropeForceLength(ropeId: number, length: number): void {
95
+ inv<void>('0xD009F759A723DB1B', ropeId, f(length));
180
96
  }
181
97
 
182
98
  /**
183
- * @param ropeId
99
+ * @param p0
184
100
  * @param p1
185
101
  */
186
- static N_0xFB9153A54AC713E8(ropeId: number, p1: boolean): void {
187
- inv<void>('0xFB9153A54AC713E8', ropeId, p1);
102
+ static N_0x3900491C0D61ED4B(p0: any, p1: any): void {
103
+ inv<void>('0x3900491C0D61ED4B', p0, p1);
188
104
  }
189
105
 
190
106
  /**
@@ -195,89 +111,74 @@ export class Physics {
195
111
  * @param p4
196
112
  * @param p5
197
113
  * @param p6
198
- * @param p7
199
- * @param p8
200
- * @param p9
201
114
  */
202
- static N_0x8EEDFD8921389928(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any, p7: any, p8: any, p9: any): void {
203
- inv<void>('0x8EEDFD8921389928', p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
115
+ static N_0xF27F1A8DE4F50A1B(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any): void {
116
+ inv<void>('0xF27F1A8DE4F50A1B', p0, p1, p2, p3, p4, p5, p6);
204
117
  }
205
118
 
206
119
  /**
207
- * @param ropeId
120
+ * @param p0
208
121
  * @param p1
209
- * @param p2
210
122
  */
211
- static N_0x522FA3F490E2F7AC(ropeId: number, p1: any, p2: any): void {
212
- inv<void>('0x522FA3F490E2F7AC', ropeId, p1, p2);
123
+ static N_0x31160EC47E7C9549(p0: any, p1: any): void {
124
+ inv<void>('0x31160EC47E7C9549', p0, p1);
213
125
  }
214
126
 
215
127
  /**
216
128
  * @param ropeId
217
- * @returns
129
+ * @param p1
130
+ * @param p2
131
+ * @param p3
132
+ * @param p4
218
133
  */
219
- static doesRopeExist(ropeId: number): boolean {
220
- return inv<boolean>('0xFD5448BE3111ED96', ropeId, rai());
134
+ static N_0xD699E688B49C0FD2(ropeId: number, p1: number, p2: number, p3: number, p4: boolean): void {
135
+ inv<void>('0xD699E688B49C0FD2', ropeId, f(p1), f(p2), f(p3), p4);
221
136
  }
222
137
 
223
138
  /**
224
139
  * @param p0
225
- * @param p1
226
- * @param p2
227
- * @param p3
228
- * @param p4
229
- * @param p5
230
- * @param p6
231
- * @param p7
232
140
  */
233
- static N_0xB7469CB9AC3C0FD4(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any, p7: any): void {
234
- inv<void>('0xB7469CB9AC3C0FD4', p0, p1, p2, p3, p4, p5, p6, p7);
141
+ static N_0x9C24846D0A4A2776(p0: any): void {
142
+ inv<void>('0x9C24846D0A4A2776', p0);
235
143
  }
236
144
 
237
145
  /**
238
146
  * @param ropeId
239
147
  * @param p1
240
- * @param p2
241
- * @param p3
242
- * @param p4
243
- * @param p5
244
- * @param p6
245
- * @param p7
246
148
  */
247
- static N_0xC64E7A62632AD2FE(ropeId: number, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any, p7: any): void {
248
- inv<void>('0xC64E7A62632AD2FE', ropeId, p1, p2, p3, p4, p5, p6, p7);
149
+ static N_0x1FC92BDBA1106BD2(ropeId: number, p1: number): void {
150
+ inv<void>('0x1FC92BDBA1106BD2', ropeId, f(p1));
249
151
  }
250
152
 
251
153
  /**
252
- * @param p0
154
+ * @param ropeId
155
+ * @param entity
253
156
  */
254
- static N_0xBDDA142759307528(p0: any): void {
255
- inv<void>('0xBDDA142759307528', p0);
157
+ static detachRopeFromEntity(ropeId: number, entity: Entity): void {
158
+ inv<void>('0xBCF3026912A8647D', ropeId, entity.handle);
256
159
  }
257
160
 
258
161
  /**
259
162
  * @param ropeId
260
- * @returns
163
+ * @param p1
261
164
  */
262
- static ropeGetForcedLength(ropeId: number): number {
263
- return inv<number>('0x3D69537039F8D824', ropeId, raf());
165
+ static N_0xDEDE679ED29DD4E7(ropeId: number, p1: boolean): void {
166
+ inv<void>('0xDEDE679ED29DD4E7', ropeId, p1);
264
167
  }
265
168
 
266
169
  /**
267
170
  * @param ropeId
268
- * @param vertex
269
- * @returns
270
171
  */
271
- static getRopeVertexCoord(ropeId: number, vertex: number): Vector3 {
272
- return Vector3.fromArray(inv<number[]>('0xEA61CA8E80F09E4D', ropeId, vertex, rav()));
172
+ static stopRopeUnwindingBack(ropeId: number): void {
173
+ inv<void>('0x10DAA76CB8A201A1', ropeId);
273
174
  }
274
175
 
275
176
  /**
276
177
  * @param p0
277
178
  * @param p1
278
179
  */
279
- static N_0x5A989B7EE3672A56(p0: any, p1: any): void {
280
- inv<void>('0x5A989B7EE3672A56', p0, p1);
180
+ static N_0x483D4E917B0D35A9(p0: any, p1: any): void {
181
+ inv<void>('0x483D4E917B0D35A9', p0, p1);
281
182
  }
282
183
 
283
184
  /**
@@ -285,128 +186,34 @@ export class Physics {
285
186
  * @param p1
286
187
  * @param p2
287
188
  */
288
- static N_0x814D453FCFDF119F(p0: any, p1: any, p2: any): void {
289
- inv<void>('0x814D453FCFDF119F', p0, p1, p2);
189
+ static N_0x32F4DBFDFCCCC735(p0: any, p1: any, p2: any): void {
190
+ inv<void>('0x32F4DBFDFCCCC735', p0, p1, p2);
290
191
  }
291
192
 
292
193
  /**
194
+ * Attaches a rope to two entities: binds two bones from two entities; one entity can be an object, i.e. a suspension point, the other an NPC bone
195
+ *
293
196
  * @param ropeId
197
+ * @param entity1
198
+ * @param entity2
199
+ * @param ent1X
200
+ * @param ent1Y
201
+ * @param ent1Z
202
+ * @param ent2X
203
+ * @param ent2Y
204
+ * @param ent2Z
205
+ * @param boneName1
206
+ * @param boneName2
294
207
  */
295
- static startRopeWinding(ropeId: number): void {
296
- inv<void>('0x1461C72C889E343E', ropeId);
208
+ static attachEntitiesToRope2(ropeId: number, entity1: Entity, entity2: Entity, ent1X: number, ent1Y: number, ent1Z: number, ent2X: number, ent2Y: number, ent2Z: number, boneName1: string | null, boneName2: string | null): void {
209
+ inv<void>('0x462FF2A432733A44', ropeId, entity1.handle, entity2.handle, f(ent1X), f(ent1Y), f(ent1Z), f(ent2X), f(ent2Y), f(ent2Z), boneName1, boneName2);
297
210
  }
298
211
 
299
212
  /**
300
- * @param ropeId
213
+ * @param horse
301
214
  */
302
- static startRopeUnwindingFront(ropeId: number): void {
303
- inv<void>('0x538D1179EC1AA9A9', ropeId);
304
- }
305
-
306
- /**
307
- * @param ropeId
308
- */
309
- static stopRopeWinding(ropeId: number): void {
310
- inv<void>('0xCB2D4AB84A19AA7C', ropeId);
311
- }
312
-
313
- /**
314
- * @param p0
315
- * @param p1
316
- */
317
- static N_0x5BD7457221CC5FF4(p0: any, p1: any): void {
318
- inv<void>('0x5BD7457221CC5FF4', p0, p1);
319
- }
320
-
321
- /**
322
- * @param ropeId
323
- * @param entity
324
- * @returns
325
- */
326
- static isRopeAttachedToEntity(ropeId: number, entity: Entity): any {
327
- return inv<number>('0x9B4F7E3E4F9C77B3', ropeId, entity.handle);
328
- }
329
-
330
- /**
331
- * @param ropeId
332
- * @param p1
333
- */
334
- static N_0x76BAD9D538BCA1AA(ropeId: number, p1: number): void {
335
- inv<void>('0x76BAD9D538BCA1AA', ropeId, f(p1));
336
- }
337
-
338
- /**
339
- * @param p0
340
- * @param p1
341
- */
342
- static N_0x423C6B1F3786D28B(p0: any, p1: any): void {
343
- inv<void>('0x423C6B1F3786D28B', p0, p1);
344
- }
345
-
346
- /**
347
- * @param ropeId
348
- * @param entity
349
- */
350
- static detachRopeFromEntity(ropeId: number, entity: Entity): void {
351
- inv<void>('0xBCF3026912A8647D', ropeId, entity.handle);
352
- }
353
-
354
- /**
355
- * @param ropeId
356
- * @param p1
357
- */
358
- static N_0xDEDE679ED29DD4E7(ropeId: number, p1: boolean): void {
359
- inv<void>('0xDEDE679ED29DD4E7', ropeId, p1);
360
- }
361
-
362
- /**
363
- * @param ropeId
364
- */
365
- static stopRopeUnwindingBack(ropeId: number): void {
366
- inv<void>('0x10DAA76CB8A201A1', ropeId);
367
- }
368
-
369
- /**
370
- * @param p0
371
- * @param p1
372
- */
373
- static N_0x483D4E917B0D35A9(p0: any, p1: any): void {
374
- inv<void>('0x483D4E917B0D35A9', p0, p1);
375
- }
376
-
377
- /**
378
- * @param p0
379
- * @param p1
380
- * @param p2
381
- */
382
- static N_0x32F4DBFDFCCCC735(p0: any, p1: any, p2: any): void {
383
- inv<void>('0x32F4DBFDFCCCC735', p0, p1, p2);
384
- }
385
-
386
- /**
387
- * Attaches a rope to two entities: binds two bones from two entities; one entity can be an object, i.e. a suspension point, the other an NPC bone
388
- *
389
- * @param ropeId
390
- * @param entity1
391
- * @param entity2
392
- * @param ent1X
393
- * @param ent1Y
394
- * @param ent1Z
395
- * @param ent2X
396
- * @param ent2Y
397
- * @param ent2Z
398
- * @param boneName1
399
- * @param boneName2
400
- */
401
- static attachEntitiesToRope2(ropeId: number, entity1: Entity, entity2: Entity, ent1X: number, ent1Y: number, ent1Z: number, ent2X: number, ent2Y: number, ent2Z: number, boneName1: string | null, boneName2: string | null): void {
402
- inv<void>('0x462FF2A432733A44', ropeId, entity1.handle, entity2.handle, f(ent1X), f(ent1Y), f(ent1Z), f(ent2X), f(ent2Y), f(ent2Z), boneName1, boneName2);
403
- }
404
-
405
- /**
406
- * @param horse
407
- */
408
- static unhitchHorse(horse: Ped): void {
409
- inv<void>('0x0348469DAA17576C', horse.handle);
215
+ static unhitchHorse(horse: Ped): void {
216
+ inv<void>('0x0348469DAA17576C', horse.handle);
410
217
  }
411
218
 
412
219
  /**
@@ -514,96 +321,180 @@ export class Physics {
514
321
  }
515
322
 
516
323
  /**
517
- * ropeTop returns top half of rope, ropeBottom returns bottom half of rope
518
- *
519
- * @param offset
520
- * @param p6
521
- * @returns ropeId; ropeTop; ropeBottom
324
+ * @param ropeId
325
+ * @param p1
522
326
  */
523
- static breakRope(offset: Vector3, p6: number): [number, number, number] {
524
- const result = inv<[number, number, number]>('0x4CFA2B7FAE115ECB', pvi(), pvi(), pvi(), f(offset.x), f(offset.y), f(offset.z), p6);
525
- return [result[0], result[1], result[2]];
327
+ static ropeSetUpdateOrder(ropeId: number, p1: any): void {
328
+ inv<void>('0xDC57A637A20006ED', ropeId, p1);
526
329
  }
527
330
 
528
331
  /**
529
- * @param toggle
530
- * @returns ropeId
332
+ * @param ropeId
333
+ * @returns
531
334
  */
532
- static ropeDrawShadowEnabled(toggle: boolean): number {
533
- const result = inv<number>('0xF159A63806BB5BA8', pvi(), toggle);
534
- return result;
335
+ static isRopeBroken(ropeId: number): any {
336
+ return inv<number>('0x79C2BEC82CFD7F7F', ropeId);
535
337
  }
536
338
 
537
339
  /**
538
340
  * @param p0
341
+ * @param p1
342
+ * @param p2
343
+ * @param p3
344
+ * @param p4
345
+ * @param p5
346
+ * @param p6
539
347
  */
540
- static N_0x0CB16D05E03FB525(p0: any): void {
541
- inv<void>('0x0CB16D05E03FB525', p0);
348
+ static N_0x69C810B72291D831(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any): void {
349
+ inv<void>('0x69C810B72291D831', p0, p1, p2, p3, p4, p5, p6);
542
350
  }
543
351
 
544
352
  /**
545
- * @param object
546
- * @param toggle
353
+ * @param entity
354
+ * @param p1
355
+ * @param p2
356
+ * @param p3
357
+ * @param p4
358
+ * @param p5
359
+ * @param p6
360
+ * @param p7
361
+ * @param p8
362
+ * @param p9
363
+ * @param p10
547
364
  */
548
- static setDisableFragDamage(object: Prop, toggle: boolean): void {
549
- inv<void>('0x01BA3AED21C16CFB', object.handle, toggle);
365
+ static breakEntityGlass(entity: Entity, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: any, p10: boolean): void {
366
+ inv<void>('0x2E648D16F6E308F3', entity.handle, f(p1), f(p2), f(p3), f(p4), f(p5), f(p6), f(p7), f(p8), p9, p10);
550
367
  }
551
368
 
552
369
  /**
553
- * @returns ropeId
370
+ * @param ropeId
371
+ * @param p1
372
+ * @param p2
373
+ * @param p3
374
+ * @param p4
375
+ * @param p5
376
+ * @param p6
377
+ * @param p7
378
+ * @param p8
379
+ * @param p9
380
+ * @param p10
554
381
  */
555
- static deleteRope(): number {
556
- const result = inv<number>('0x52B4829281364649', pvi());
557
- return result;
382
+ static N_0x21D0890D88DFB0B0(ropeId: number, p1: boolean, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number, p10: number): void {
383
+ inv<void>('0x21D0890D88DFB0B0', ropeId, p1, f(p2), f(p3), f(p4), f(p5), f(p6), f(p7), f(p8), f(p9), p10);
558
384
  }
559
385
 
560
386
  /**
561
387
  * @param ropeId
562
388
  * @param p1
563
389
  */
564
- static N_0x1D97DA8ACB5D2582(ropeId: number, p1: number): void {
565
- inv<void>('0x1D97DA8ACB5D2582', ropeId, p1);
390
+ static N_0xB40EA9E0D2E2F7F3(ropeId: number, p1: number): void {
391
+ inv<void>('0xB40EA9E0D2E2F7F3', ropeId, f(p1));
566
392
  }
567
393
 
568
394
  /**
569
- * @param ropeId
570
- * @param p1
395
+ * @param pos
396
+ * @param rot
397
+ * @param length
398
+ * @param ropeType
399
+ * @param isNetworked
400
+ * @param p9
401
+ * @param p10
402
+ * @returns
571
403
  */
572
- static N_0x461FCBDEB4D06717(ropeId: number, p1: boolean): void {
573
- inv<void>('0x461FCBDEB4D06717', ropeId, p1);
404
+ static addRope2(pos: Vector3, rot: Vector3, length: number, ropeType: number, isNetworked: boolean, p9: number, p10: number): number {
405
+ return inv<number>('0xE9C59F6809373A99', f(pos.x), f(pos.y), f(pos.z), f(rot.x), f(rot.y), f(rot.z), f(length), ropeType, isNetworked, p9, f(p10), rai());
574
406
  }
575
407
 
576
408
  /**
577
409
  * @param p0
578
410
  * @param p1
579
411
  */
580
- static N_0x5E981C764DF33117(p0: any, p1: any): void {
581
- inv<void>('0x5E981C764DF33117', p0, p1);
412
+ static N_0xF8CA39D5C0D1D9A1(p0: any, p1: any): void {
413
+ inv<void>('0xF8CA39D5C0D1D9A1', p0, p1);
414
+ }
415
+
416
+ /**
417
+ * @param entity
418
+ * @param vertex
419
+ * @param value
420
+ */
421
+ static setDamping(entity: Entity, vertex: number, value: number): void {
422
+ inv<void>('0xEEA3B200A6FEB65B', entity.handle, vertex, f(value));
582
423
  }
583
424
 
584
425
  /**
585
426
  * @param ropeId
427
+ * @param p1
428
+ * @param p2
429
+ * @param p3
430
+ * @param p4
586
431
  */
587
- static releaseRope(ropeId: number): void {
588
- inv<void>('0x6076213101A47B3B', ropeId);
432
+ static N_0xBB3E9B073E66C3C9(ropeId: number, p1: boolean, p2: boolean, p3: boolean, p4: boolean): void {
433
+ inv<void>('0xBB3E9B073E66C3C9', ropeId, p1, p2, p3, p4);
589
434
  }
590
435
 
591
436
  /**
592
- * Forces a rope to a certain length.
437
+ * There are 19 types of rope, from type = 0 to type = 18
438
+ * Rope definitions are stored in ropedata.xml
439
+ * Rope types 0, 15 and 18 have proper physics for hanging objects (taut, do not sag, small to medium diameter, good aspect for a rope)
593
440
  *
441
+ * @param pos
442
+ * @param rot
443
+ * @param length
444
+ * @param ropeType
445
+ * @param maxLength
446
+ * @param minLength
447
+ * @param p10
448
+ * @param p11
449
+ * @param p12
450
+ * @param rigid
451
+ * @param p14
452
+ * @param breakWhenShot
453
+ * @param p17
454
+ * @returns unkPtr
455
+ */
456
+ static addRope(pos: Vector3, rot: Vector3, length: number, ropeType: number, maxLength: number, minLength: number, p10: number, p11: boolean, p12: boolean, rigid: boolean, p14: number, breakWhenShot: boolean, p17: boolean): [number, number] {
457
+ const result = inv<[number, number]>('0xE832D760399EB220', f(pos.x), f(pos.y), f(pos.z), f(rot.x), f(rot.y), f(rot.z), f(length), ropeType, f(maxLength), f(minLength), f(p10), p11, p12, rigid, f(p14), breakWhenShot, pvi(), p17, rai());
458
+ return [result[0], result[1]];
459
+ }
460
+
461
+ /**
594
462
  * @param ropeId
463
+ */
464
+ static stopRopeUnwindingFront(ropeId: number): void {
465
+ inv<void>('0xFFF3A50779EFBBB3', ropeId);
466
+ }
467
+
468
+ /**
469
+ * @param ropeId
470
+ * @param p1
471
+ */
472
+ static N_0xC89E7410A93AC19A(ropeId: number, p1: number): void {
473
+ inv<void>('0xC89E7410A93AC19A', ropeId, f(p1));
474
+ }
475
+
476
+ /**
477
+ * Combining this with ADD_ROPE enables winding
478
+ * p1: mostly empty (0)
479
+ * ropeModelType: RB_L_Wrist02, RB_R_Wrist02, ropeAttach, noose01x_Rope_03, SKEL_Neck0, SKEL_L_FOOT, SKEL_Neck1, Root_s_meatbit_Chunck_Xlarge01x
480
+ * *CREATE**
481
+ *
482
+ * @param ropeId
483
+ * @param p1
484
+ * @param ropeModelType
595
485
  * @param length
486
+ * @param p4
596
487
  */
597
- static ropeForceLength(ropeId: number, length: number): void {
598
- inv<void>('0xD009F759A723DB1B', ropeId, f(length));
488
+ static createRopeWindingAbility(ropeId: number, p1: string | null, ropeModelType: string | null, length: number, p4: boolean): void {
489
+ inv<void>('0x3C6490D940FF5D0B', ropeId, p1, ropeModelType, f(length), p4);
599
490
  }
600
491
 
601
492
  /**
602
- * @param p0
493
+ * @param ropeId
603
494
  * @param p1
604
495
  */
605
- static N_0x3900491C0D61ED4B(p0: any, p1: any): void {
606
- inv<void>('0x3900491C0D61ED4B', p0, p1);
496
+ static N_0xFB9153A54AC713E8(ropeId: number, p1: boolean): void {
497
+ inv<void>('0xFB9153A54AC713E8', ropeId, p1);
607
498
  }
608
499
 
609
500
  /**
@@ -614,17 +505,43 @@ export class Physics {
614
505
  * @param p4
615
506
  * @param p5
616
507
  * @param p6
508
+ * @param p7
509
+ * @param p8
510
+ * @param p9
617
511
  */
618
- static N_0xF27F1A8DE4F50A1B(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any): void {
619
- inv<void>('0xF27F1A8DE4F50A1B', p0, p1, p2, p3, p4, p5, p6);
512
+ static N_0x8EEDFD8921389928(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any, p7: any, p8: any, p9: any): void {
513
+ inv<void>('0x8EEDFD8921389928', p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
514
+ }
515
+
516
+ /**
517
+ * @param ropeId
518
+ * @param p1
519
+ * @param p2
520
+ */
521
+ static N_0x522FA3F490E2F7AC(ropeId: number, p1: any, p2: any): void {
522
+ inv<void>('0x522FA3F490E2F7AC', ropeId, p1, p2);
523
+ }
524
+
525
+ /**
526
+ * @param ropeId
527
+ * @returns
528
+ */
529
+ static doesRopeExist(ropeId: number): boolean {
530
+ return inv<boolean>('0xFD5448BE3111ED96', ropeId, rai());
620
531
  }
621
532
 
622
533
  /**
623
534
  * @param p0
624
535
  * @param p1
536
+ * @param p2
537
+ * @param p3
538
+ * @param p4
539
+ * @param p5
540
+ * @param p6
541
+ * @param p7
625
542
  */
626
- static N_0x31160EC47E7C9549(p0: any, p1: any): void {
627
- inv<void>('0x31160EC47E7C9549', p0, p1);
543
+ static N_0xB7469CB9AC3C0FD4(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any, p7: any): void {
544
+ inv<void>('0xB7469CB9AC3C0FD4', p0, p1, p2, p3, p4, p5, p6, p7);
628
545
  }
629
546
 
630
547
  /**
@@ -633,24 +550,107 @@ export class Physics {
633
550
  * @param p2
634
551
  * @param p3
635
552
  * @param p4
553
+ * @param p5
554
+ * @param p6
555
+ * @param p7
636
556
  */
637
- static N_0xD699E688B49C0FD2(ropeId: number, p1: number, p2: number, p3: number, p4: boolean): void {
638
- inv<void>('0xD699E688B49C0FD2', ropeId, f(p1), f(p2), f(p3), p4);
557
+ static N_0xC64E7A62632AD2FE(ropeId: number, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any, p7: any): void {
558
+ inv<void>('0xC64E7A62632AD2FE', ropeId, p1, p2, p3, p4, p5, p6, p7);
639
559
  }
640
560
 
641
561
  /**
642
562
  * @param p0
643
563
  */
644
- static N_0x9C24846D0A4A2776(p0: any): void {
645
- inv<void>('0x9C24846D0A4A2776', p0);
564
+ static N_0xBDDA142759307528(p0: any): void {
565
+ inv<void>('0xBDDA142759307528', p0);
566
+ }
567
+
568
+ /**
569
+ * @param ropeId
570
+ * @returns
571
+ */
572
+ static ropeGetForcedLength(ropeId: number): number {
573
+ return inv<number>('0x3D69537039F8D824', ropeId, raf());
646
574
  }
647
575
 
648
576
  /**
649
577
  * @param ropeId
578
+ * @param vertex
579
+ * @returns
580
+ */
581
+ static getRopeVertexCoord(ropeId: number, vertex: number): Vector3 {
582
+ return Vector3.fromArray(inv<number[]>('0xEA61CA8E80F09E4D', ropeId, vertex, rav()));
583
+ }
584
+
585
+ /**
586
+ * @param p0
650
587
  * @param p1
651
588
  */
652
- static N_0x1FC92BDBA1106BD2(ropeId: number, p1: number): void {
653
- inv<void>('0x1FC92BDBA1106BD2', ropeId, f(p1));
589
+ static N_0x5A989B7EE3672A56(p0: any, p1: any): void {
590
+ inv<void>('0x5A989B7EE3672A56', p0, p1);
591
+ }
592
+
593
+ /**
594
+ * @param p0
595
+ * @param p1
596
+ * @param p2
597
+ */
598
+ static N_0x814D453FCFDF119F(p0: any, p1: any, p2: any): void {
599
+ inv<void>('0x814D453FCFDF119F', p0, p1, p2);
600
+ }
601
+
602
+ /**
603
+ * @param ropeId
604
+ */
605
+ static startRopeWinding(ropeId: number): void {
606
+ inv<void>('0x1461C72C889E343E', ropeId);
607
+ }
608
+
609
+ /**
610
+ * @param ropeId
611
+ */
612
+ static startRopeUnwindingFront(ropeId: number): void {
613
+ inv<void>('0x538D1179EC1AA9A9', ropeId);
614
+ }
615
+
616
+ /**
617
+ * @param ropeId
618
+ */
619
+ static stopRopeWinding(ropeId: number): void {
620
+ inv<void>('0xCB2D4AB84A19AA7C', ropeId);
621
+ }
622
+
623
+ /**
624
+ * @param p0
625
+ * @param p1
626
+ */
627
+ static N_0x5BD7457221CC5FF4(p0: any, p1: any): void {
628
+ inv<void>('0x5BD7457221CC5FF4', p0, p1);
629
+ }
630
+
631
+ /**
632
+ * @param ropeId
633
+ * @param entity
634
+ * @returns
635
+ */
636
+ static isRopeAttachedToEntity(ropeId: number, entity: Entity): any {
637
+ return inv<number>('0x9B4F7E3E4F9C77B3', ropeId, entity.handle);
638
+ }
639
+
640
+ /**
641
+ * @param ropeId
642
+ * @param p1
643
+ */
644
+ static N_0x76BAD9D538BCA1AA(ropeId: number, p1: number): void {
645
+ inv<void>('0x76BAD9D538BCA1AA', ropeId, f(p1));
646
+ }
647
+
648
+ /**
649
+ * @param p0
650
+ * @param p1
651
+ */
652
+ static N_0x423C6B1F3786D28B(p0: any, p1: any): void {
653
+ inv<void>('0x423C6B1F3786D28B', p0, p1);
654
654
  }
655
655
 
656
656
  /**