@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
@@ -3,86 +3,166 @@ import { createFromHandle } from '../types/HandleRegistry';
3
3
  import { inv, rai, raf, rav, pvi, f } from '../types/NativeAliases';
4
4
  export class Physics {
5
5
  /**
6
- * ropeTop returns top half of rope, ropeBottom returns bottom half of rope
7
- *
8
- * @param offset
9
- * @param p6
10
- * @returns ropeId; ropeTop; ropeBottom
6
+ * @param ropeId
7
+ * @param p1
11
8
  */
12
- static breakRope(offset, p6) {
13
- const result = inv('0x4CFA2B7FAE115ECB', pvi(), pvi(), pvi(), f(offset.x), f(offset.y), f(offset.z), p6);
14
- return [result[0], result[1], result[2]];
9
+ static ropeSetUpdateOrder(ropeId, p1) {
10
+ inv('0xDC57A637A20006ED', ropeId, p1);
15
11
  }
16
12
  /**
17
- * @param toggle
18
- * @returns ropeId
13
+ * @param ropeId
14
+ * @returns
19
15
  */
20
- static ropeDrawShadowEnabled(toggle) {
21
- const result = inv('0xF159A63806BB5BA8', pvi(), toggle);
22
- return result;
16
+ static isRopeBroken(ropeId) {
17
+ return inv('0x79C2BEC82CFD7F7F', ropeId);
23
18
  }
24
19
  /**
25
20
  * @param p0
21
+ * @param p1
22
+ * @param p2
23
+ * @param p3
24
+ * @param p4
25
+ * @param p5
26
+ * @param p6
26
27
  */
27
- static N_0x0CB16D05E03FB525(p0) {
28
- inv('0x0CB16D05E03FB525', p0);
28
+ static N_0x69C810B72291D831(p0, p1, p2, p3, p4, p5, p6) {
29
+ inv('0x69C810B72291D831', p0, p1, p2, p3, p4, p5, p6);
29
30
  }
30
31
  /**
31
- * @param object
32
- * @param toggle
32
+ * @param entity
33
+ * @param p1
34
+ * @param p2
35
+ * @param p3
36
+ * @param p4
37
+ * @param p5
38
+ * @param p6
39
+ * @param p7
40
+ * @param p8
41
+ * @param p9
42
+ * @param p10
33
43
  */
34
- static setDisableFragDamage(object, toggle) {
35
- inv('0x01BA3AED21C16CFB', object.handle, toggle);
44
+ static breakEntityGlass(entity, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) {
45
+ inv('0x2E648D16F6E308F3', entity.handle, f(p1), f(p2), f(p3), f(p4), f(p5), f(p6), f(p7), f(p8), p9, p10);
36
46
  }
37
47
  /**
38
- * @returns ropeId
48
+ * @param ropeId
49
+ * @param p1
50
+ * @param p2
51
+ * @param p3
52
+ * @param p4
53
+ * @param p5
54
+ * @param p6
55
+ * @param p7
56
+ * @param p8
57
+ * @param p9
58
+ * @param p10
39
59
  */
40
- static deleteRope() {
41
- const result = inv('0x52B4829281364649', pvi());
42
- return result;
60
+ static N_0x21D0890D88DFB0B0(ropeId, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) {
61
+ inv('0x21D0890D88DFB0B0', ropeId, p1, f(p2), f(p3), f(p4), f(p5), f(p6), f(p7), f(p8), f(p9), p10);
43
62
  }
44
63
  /**
45
64
  * @param ropeId
46
65
  * @param p1
47
66
  */
48
- static N_0x1D97DA8ACB5D2582(ropeId, p1) {
49
- inv('0x1D97DA8ACB5D2582', ropeId, p1);
67
+ static N_0xB40EA9E0D2E2F7F3(ropeId, p1) {
68
+ inv('0xB40EA9E0D2E2F7F3', ropeId, f(p1));
50
69
  }
51
70
  /**
52
- * @param ropeId
53
- * @param p1
71
+ * @param pos
72
+ * @param rot
73
+ * @param length
74
+ * @param ropeType
75
+ * @param isNetworked
76
+ * @param p9
77
+ * @param p10
78
+ * @returns
54
79
  */
55
- static N_0x461FCBDEB4D06717(ropeId, p1) {
56
- inv('0x461FCBDEB4D06717', ropeId, p1);
80
+ static addRope2(pos, rot, length, ropeType, isNetworked, p9, p10) {
81
+ return inv('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());
57
82
  }
58
83
  /**
59
84
  * @param p0
60
85
  * @param p1
61
86
  */
62
- static N_0x5E981C764DF33117(p0, p1) {
63
- inv('0x5E981C764DF33117', p0, p1);
87
+ static N_0xF8CA39D5C0D1D9A1(p0, p1) {
88
+ inv('0xF8CA39D5C0D1D9A1', p0, p1);
89
+ }
90
+ /**
91
+ * @param entity
92
+ * @param vertex
93
+ * @param value
94
+ */
95
+ static setDamping(entity, vertex, value) {
96
+ inv('0xEEA3B200A6FEB65B', entity.handle, vertex, f(value));
64
97
  }
65
98
  /**
66
99
  * @param ropeId
100
+ * @param p1
101
+ * @param p2
102
+ * @param p3
103
+ * @param p4
67
104
  */
68
- static releaseRope(ropeId) {
69
- inv('0x6076213101A47B3B', ropeId);
105
+ static N_0xBB3E9B073E66C3C9(ropeId, p1, p2, p3, p4) {
106
+ inv('0xBB3E9B073E66C3C9', ropeId, p1, p2, p3, p4);
70
107
  }
71
108
  /**
72
- * Forces a rope to a certain length.
109
+ * There are 19 types of rope, from type = 0 to type = 18
110
+ * Rope definitions are stored in ropedata.xml
111
+ * 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)
112
+ *
113
+ * @param pos
114
+ * @param rot
115
+ * @param length
116
+ * @param ropeType
117
+ * @param maxLength
118
+ * @param minLength
119
+ * @param p10
120
+ * @param p11
121
+ * @param p12
122
+ * @param rigid
123
+ * @param p14
124
+ * @param breakWhenShot
125
+ * @param p17
126
+ * @returns unkPtr
127
+ */
128
+ static addRope(pos, rot, length, ropeType, maxLength, minLength, p10, p11, p12, rigid, p14, breakWhenShot, p17) {
129
+ const result = inv('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());
130
+ return [result[0], result[1]];
131
+ }
132
+ /**
133
+ * @param ropeId
134
+ */
135
+ static stopRopeUnwindingFront(ropeId) {
136
+ inv('0xFFF3A50779EFBBB3', ropeId);
137
+ }
138
+ /**
139
+ * @param ropeId
140
+ * @param p1
141
+ */
142
+ static N_0xC89E7410A93AC19A(ropeId, p1) {
143
+ inv('0xC89E7410A93AC19A', ropeId, f(p1));
144
+ }
145
+ /**
146
+ * Combining this with ADD_ROPE enables winding
147
+ * p1: mostly empty (0)
148
+ * ropeModelType: RB_L_Wrist02, RB_R_Wrist02, ropeAttach, noose01x_Rope_03, SKEL_Neck0, SKEL_L_FOOT, SKEL_Neck1, Root_s_meatbit_Chunck_Xlarge01x
149
+ * *CREATE**
73
150
  *
74
151
  * @param ropeId
152
+ * @param p1
153
+ * @param ropeModelType
75
154
  * @param length
155
+ * @param p4
76
156
  */
77
- static ropeForceLength(ropeId, length) {
78
- inv('0xD009F759A723DB1B', ropeId, f(length));
157
+ static createRopeWindingAbility(ropeId, p1, ropeModelType, length, p4) {
158
+ inv('0x3C6490D940FF5D0B', ropeId, p1, ropeModelType, f(length), p4);
79
159
  }
80
160
  /**
81
- * @param p0
161
+ * @param ropeId
82
162
  * @param p1
83
163
  */
84
- static N_0x3900491C0D61ED4B(p0, p1) {
85
- inv('0x3900491C0D61ED4B', p0, p1);
164
+ static N_0xFB9153A54AC713E8(ropeId, p1) {
165
+ inv('0xFB9153A54AC713E8', ropeId, p1);
86
166
  }
87
167
  /**
88
168
  * @param p0
@@ -92,106 +172,203 @@ export class Physics {
92
172
  * @param p4
93
173
  * @param p5
94
174
  * @param p6
175
+ * @param p7
176
+ * @param p8
177
+ * @param p9
95
178
  */
96
- static N_0xF27F1A8DE4F50A1B(p0, p1, p2, p3, p4, p5, p6) {
97
- inv('0xF27F1A8DE4F50A1B', p0, p1, p2, p3, p4, p5, p6);
179
+ static N_0x8EEDFD8921389928(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9) {
180
+ inv('0x8EEDFD8921389928', p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
98
181
  }
99
182
  /**
100
- * @param p0
183
+ * @param ropeId
101
184
  * @param p1
185
+ * @param p2
102
186
  */
103
- static N_0x31160EC47E7C9549(p0, p1) {
104
- inv('0x31160EC47E7C9549', p0, p1);
187
+ static N_0x522FA3F490E2F7AC(ropeId, p1, p2) {
188
+ inv('0x522FA3F490E2F7AC', ropeId, p1, p2);
105
189
  }
106
190
  /**
107
191
  * @param ropeId
108
- * @param p1
109
- * @param p2
110
- * @param p3
111
- * @param p4
192
+ * @returns
112
193
  */
113
- static N_0xD699E688B49C0FD2(ropeId, p1, p2, p3, p4) {
114
- inv('0xD699E688B49C0FD2', ropeId, f(p1), f(p2), f(p3), p4);
194
+ static doesRopeExist(ropeId) {
195
+ return inv('0xFD5448BE3111ED96', ropeId, rai());
115
196
  }
116
197
  /**
117
198
  * @param p0
199
+ * @param p1
200
+ * @param p2
201
+ * @param p3
202
+ * @param p4
203
+ * @param p5
204
+ * @param p6
205
+ * @param p7
118
206
  */
119
- static N_0x9C24846D0A4A2776(p0) {
120
- inv('0x9C24846D0A4A2776', p0);
207
+ static N_0xB7469CB9AC3C0FD4(p0, p1, p2, p3, p4, p5, p6, p7) {
208
+ inv('0xB7469CB9AC3C0FD4', p0, p1, p2, p3, p4, p5, p6, p7);
121
209
  }
122
210
  /**
123
211
  * @param ropeId
124
212
  * @param p1
213
+ * @param p2
214
+ * @param p3
215
+ * @param p4
216
+ * @param p5
217
+ * @param p6
218
+ * @param p7
125
219
  */
126
- static N_0x1FC92BDBA1106BD2(ropeId, p1) {
127
- inv('0x1FC92BDBA1106BD2', ropeId, f(p1));
220
+ static N_0xC64E7A62632AD2FE(ropeId, p1, p2, p3, p4, p5, p6, p7) {
221
+ inv('0xC64E7A62632AD2FE', ropeId, p1, p2, p3, p4, p5, p6, p7);
128
222
  }
129
223
  /**
130
- * @param ropeId
131
- * @param entity
224
+ * @param p0
132
225
  */
133
- static detachRopeFromEntity(ropeId, entity) {
134
- inv('0xBCF3026912A8647D', ropeId, entity.handle);
226
+ static N_0xBDDA142759307528(p0) {
227
+ inv('0xBDDA142759307528', p0);
135
228
  }
136
229
  /**
137
230
  * @param ropeId
138
- * @param p1
231
+ * @returns
139
232
  */
140
- static N_0xDEDE679ED29DD4E7(ropeId, p1) {
141
- inv('0xDEDE679ED29DD4E7', ropeId, p1);
233
+ static ropeGetForcedLength(ropeId) {
234
+ return inv('0x3D69537039F8D824', ropeId, raf());
142
235
  }
143
236
  /**
144
237
  * @param ropeId
238
+ * @param vertex
239
+ * @returns
145
240
  */
146
- static stopRopeUnwindingBack(ropeId) {
147
- inv('0x10DAA76CB8A201A1', ropeId);
241
+ static getRopeVertexCoord(ropeId, vertex) {
242
+ return Vector3.fromArray(inv('0xEA61CA8E80F09E4D', ropeId, vertex, rav()));
148
243
  }
149
244
  /**
150
245
  * @param p0
151
246
  * @param p1
152
247
  */
153
- static N_0x483D4E917B0D35A9(p0, p1) {
154
- inv('0x483D4E917B0D35A9', p0, p1);
248
+ static N_0x5A989B7EE3672A56(p0, p1) {
249
+ inv('0x5A989B7EE3672A56', p0, p1);
155
250
  }
156
251
  /**
157
252
  * @param p0
158
253
  * @param p1
159
254
  * @param p2
160
255
  */
161
- static N_0x32F4DBFDFCCCC735(p0, p1, p2) {
162
- inv('0x32F4DBFDFCCCC735', p0, p1, p2);
256
+ static N_0x814D453FCFDF119F(p0, p1, p2) {
257
+ inv('0x814D453FCFDF119F', p0, p1, p2);
163
258
  }
164
259
  /**
165
- * 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
166
- *
167
260
  * @param ropeId
168
- * @param entity1
169
- * @param entity2
170
- * @param ent1X
171
- * @param ent1Y
172
- * @param ent1Z
173
- * @param ent2X
174
- * @param ent2Y
175
- * @param ent2Z
176
- * @param boneName1
177
- * @param boneName2
178
261
  */
179
- static attachEntitiesToRope2(ropeId, entity1, entity2, ent1X, ent1Y, ent1Z, ent2X, ent2Y, ent2Z, boneName1, boneName2) {
180
- inv('0x462FF2A432733A44', ropeId, entity1.handle, entity2.handle, f(ent1X), f(ent1Y), f(ent1Z), f(ent2X), f(ent2Y), f(ent2Z), boneName1, boneName2);
262
+ static startRopeWinding(ropeId) {
263
+ inv('0x1461C72C889E343E', ropeId);
181
264
  }
182
265
  /**
183
- * @param horse
266
+ * @param ropeId
184
267
  */
185
- static unhitchHorse(horse) {
186
- inv('0x0348469DAA17576C', horse.handle);
268
+ static startRopeUnwindingFront(ropeId) {
269
+ inv('0x538D1179EC1AA9A9', ropeId);
187
270
  }
188
271
  /**
189
272
  * @param ropeId
190
- * @param entity1
191
- * @param entity2
192
- * @param p3
193
- * @param p4
194
- * @param p5
273
+ */
274
+ static stopRopeWinding(ropeId) {
275
+ inv('0xCB2D4AB84A19AA7C', ropeId);
276
+ }
277
+ /**
278
+ * @param p0
279
+ * @param p1
280
+ */
281
+ static N_0x5BD7457221CC5FF4(p0, p1) {
282
+ inv('0x5BD7457221CC5FF4', p0, p1);
283
+ }
284
+ /**
285
+ * @param ropeId
286
+ * @param entity
287
+ * @returns
288
+ */
289
+ static isRopeAttachedToEntity(ropeId, entity) {
290
+ return inv('0x9B4F7E3E4F9C77B3', ropeId, entity.handle);
291
+ }
292
+ /**
293
+ * @param ropeId
294
+ * @param p1
295
+ */
296
+ static N_0x76BAD9D538BCA1AA(ropeId, p1) {
297
+ inv('0x76BAD9D538BCA1AA', ropeId, f(p1));
298
+ }
299
+ /**
300
+ * @param p0
301
+ * @param p1
302
+ */
303
+ static N_0x423C6B1F3786D28B(p0, p1) {
304
+ inv('0x423C6B1F3786D28B', p0, p1);
305
+ }
306
+ /**
307
+ * @param ropeId
308
+ * @param entity
309
+ */
310
+ static detachRopeFromEntity(ropeId, entity) {
311
+ inv('0xBCF3026912A8647D', ropeId, entity.handle);
312
+ }
313
+ /**
314
+ * @param ropeId
315
+ * @param p1
316
+ */
317
+ static N_0xDEDE679ED29DD4E7(ropeId, p1) {
318
+ inv('0xDEDE679ED29DD4E7', ropeId, p1);
319
+ }
320
+ /**
321
+ * @param ropeId
322
+ */
323
+ static stopRopeUnwindingBack(ropeId) {
324
+ inv('0x10DAA76CB8A201A1', ropeId);
325
+ }
326
+ /**
327
+ * @param p0
328
+ * @param p1
329
+ */
330
+ static N_0x483D4E917B0D35A9(p0, p1) {
331
+ inv('0x483D4E917B0D35A9', p0, p1);
332
+ }
333
+ /**
334
+ * @param p0
335
+ * @param p1
336
+ * @param p2
337
+ */
338
+ static N_0x32F4DBFDFCCCC735(p0, p1, p2) {
339
+ inv('0x32F4DBFDFCCCC735', p0, p1, p2);
340
+ }
341
+ /**
342
+ * 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
343
+ *
344
+ * @param ropeId
345
+ * @param entity1
346
+ * @param entity2
347
+ * @param ent1X
348
+ * @param ent1Y
349
+ * @param ent1Z
350
+ * @param ent2X
351
+ * @param ent2Y
352
+ * @param ent2Z
353
+ * @param boneName1
354
+ * @param boneName2
355
+ */
356
+ static attachEntitiesToRope2(ropeId, entity1, entity2, ent1X, ent1Y, ent1Z, ent2X, ent2Y, ent2Z, boneName1, boneName2) {
357
+ inv('0x462FF2A432733A44', ropeId, entity1.handle, entity2.handle, f(ent1X), f(ent1Y), f(ent1Z), f(ent2X), f(ent2Y), f(ent2Z), boneName1, boneName2);
358
+ }
359
+ /**
360
+ * @param horse
361
+ */
362
+ static unhitchHorse(horse) {
363
+ inv('0x0348469DAA17576C', horse.handle);
364
+ }
365
+ /**
366
+ * @param ropeId
367
+ * @param entity1
368
+ * @param entity2
369
+ * @param p3
370
+ * @param p4
371
+ * @param p5
195
372
  * @param p6
196
373
  * @param p7
197
374
  * @param p8
@@ -281,166 +458,86 @@ export class Physics {
281
458
  inv('0xAA5D6B1888E4DB20', ropeId);
282
459
  }
283
460
  /**
284
- * @param ropeId
285
- * @param p1
461
+ * ropeTop returns top half of rope, ropeBottom returns bottom half of rope
462
+ *
463
+ * @param offset
464
+ * @param p6
465
+ * @returns ropeId; ropeTop; ropeBottom
286
466
  */
287
- static ropeSetUpdateOrder(ropeId, p1) {
288
- inv('0xDC57A637A20006ED', ropeId, p1);
467
+ static breakRope(offset, p6) {
468
+ const result = inv('0x4CFA2B7FAE115ECB', pvi(), pvi(), pvi(), f(offset.x), f(offset.y), f(offset.z), p6);
469
+ return [result[0], result[1], result[2]];
289
470
  }
290
471
  /**
291
- * @param ropeId
292
- * @returns
472
+ * @param toggle
473
+ * @returns ropeId
293
474
  */
294
- static isRopeBroken(ropeId) {
295
- return inv('0x79C2BEC82CFD7F7F', ropeId);
475
+ static ropeDrawShadowEnabled(toggle) {
476
+ const result = inv('0xF159A63806BB5BA8', pvi(), toggle);
477
+ return result;
296
478
  }
297
479
  /**
298
480
  * @param p0
299
- * @param p1
300
- * @param p2
301
- * @param p3
302
- * @param p4
303
- * @param p5
304
- * @param p6
305
481
  */
306
- static N_0x69C810B72291D831(p0, p1, p2, p3, p4, p5, p6) {
307
- inv('0x69C810B72291D831', p0, p1, p2, p3, p4, p5, p6);
482
+ static N_0x0CB16D05E03FB525(p0) {
483
+ inv('0x0CB16D05E03FB525', p0);
308
484
  }
309
485
  /**
310
- * @param entity
311
- * @param p1
312
- * @param p2
313
- * @param p3
314
- * @param p4
315
- * @param p5
316
- * @param p6
317
- * @param p7
318
- * @param p8
319
- * @param p9
320
- * @param p10
486
+ * @param object
487
+ * @param toggle
321
488
  */
322
- static breakEntityGlass(entity, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) {
323
- inv('0x2E648D16F6E308F3', entity.handle, f(p1), f(p2), f(p3), f(p4), f(p5), f(p6), f(p7), f(p8), p9, p10);
489
+ static setDisableFragDamage(object, toggle) {
490
+ inv('0x01BA3AED21C16CFB', object.handle, toggle);
324
491
  }
325
492
  /**
326
- * @param ropeId
327
- * @param p1
328
- * @param p2
329
- * @param p3
330
- * @param p4
331
- * @param p5
332
- * @param p6
333
- * @param p7
334
- * @param p8
335
- * @param p9
336
- * @param p10
493
+ * @returns ropeId
337
494
  */
338
- static N_0x21D0890D88DFB0B0(ropeId, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) {
339
- inv('0x21D0890D88DFB0B0', ropeId, p1, f(p2), f(p3), f(p4), f(p5), f(p6), f(p7), f(p8), f(p9), p10);
495
+ static deleteRope() {
496
+ const result = inv('0x52B4829281364649', pvi());
497
+ return result;
340
498
  }
341
499
  /**
342
500
  * @param ropeId
343
501
  * @param p1
344
502
  */
345
- static N_0xB40EA9E0D2E2F7F3(ropeId, p1) {
346
- inv('0xB40EA9E0D2E2F7F3', ropeId, f(p1));
347
- }
348
- /**
349
- * @param pos
350
- * @param rot
351
- * @param length
352
- * @param ropeType
353
- * @param isNetworked
354
- * @param p9
355
- * @param p10
356
- * @returns
357
- */
358
- static addRope2(pos, rot, length, ropeType, isNetworked, p9, p10) {
359
- return inv('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());
360
- }
361
- /**
362
- * @param p0
363
- * @param p1
364
- */
365
- static N_0xF8CA39D5C0D1D9A1(p0, p1) {
366
- inv('0xF8CA39D5C0D1D9A1', p0, p1);
367
- }
368
- /**
369
- * @param entity
370
- * @param vertex
371
- * @param value
372
- */
373
- static setDamping(entity, vertex, value) {
374
- inv('0xEEA3B200A6FEB65B', entity.handle, vertex, f(value));
503
+ static N_0x1D97DA8ACB5D2582(ropeId, p1) {
504
+ inv('0x1D97DA8ACB5D2582', ropeId, p1);
375
505
  }
376
506
  /**
377
507
  * @param ropeId
378
508
  * @param p1
379
- * @param p2
380
- * @param p3
381
- * @param p4
382
509
  */
383
- static N_0xBB3E9B073E66C3C9(ropeId, p1, p2, p3, p4) {
384
- inv('0xBB3E9B073E66C3C9', ropeId, p1, p2, p3, p4);
385
- }
386
- /**
387
- * There are 19 types of rope, from type = 0 to type = 18
388
- * Rope definitions are stored in ropedata.xml
389
- * 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)
390
- *
391
- * @param pos
392
- * @param rot
393
- * @param length
394
- * @param ropeType
395
- * @param maxLength
396
- * @param minLength
397
- * @param p10
398
- * @param p11
399
- * @param p12
400
- * @param rigid
401
- * @param p14
402
- * @param breakWhenShot
403
- * @param p17
404
- * @returns unkPtr
405
- */
406
- static addRope(pos, rot, length, ropeType, maxLength, minLength, p10, p11, p12, rigid, p14, breakWhenShot, p17) {
407
- const result = inv('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());
408
- return [result[0], result[1]];
510
+ static N_0x461FCBDEB4D06717(ropeId, p1) {
511
+ inv('0x461FCBDEB4D06717', ropeId, p1);
409
512
  }
410
513
  /**
411
- * @param ropeId
514
+ * @param p0
515
+ * @param p1
412
516
  */
413
- static stopRopeUnwindingFront(ropeId) {
414
- inv('0xFFF3A50779EFBBB3', ropeId);
517
+ static N_0x5E981C764DF33117(p0, p1) {
518
+ inv('0x5E981C764DF33117', p0, p1);
415
519
  }
416
520
  /**
417
521
  * @param ropeId
418
- * @param p1
419
522
  */
420
- static N_0xC89E7410A93AC19A(ropeId, p1) {
421
- inv('0xC89E7410A93AC19A', ropeId, f(p1));
523
+ static releaseRope(ropeId) {
524
+ inv('0x6076213101A47B3B', ropeId);
422
525
  }
423
526
  /**
424
- * Combining this with ADD_ROPE enables winding
425
- * p1: mostly empty (0)
426
- * ropeModelType: RB_L_Wrist02, RB_R_Wrist02, ropeAttach, noose01x_Rope_03, SKEL_Neck0, SKEL_L_FOOT, SKEL_Neck1, Root_s_meatbit_Chunck_Xlarge01x
427
- * *CREATE**
527
+ * Forces a rope to a certain length.
428
528
  *
429
529
  * @param ropeId
430
- * @param p1
431
- * @param ropeModelType
432
530
  * @param length
433
- * @param p4
434
531
  */
435
- static createRopeWindingAbility(ropeId, p1, ropeModelType, length, p4) {
436
- inv('0x3C6490D940FF5D0B', ropeId, p1, ropeModelType, f(length), p4);
532
+ static ropeForceLength(ropeId, length) {
533
+ inv('0xD009F759A723DB1B', ropeId, f(length));
437
534
  }
438
535
  /**
439
- * @param ropeId
536
+ * @param p0
440
537
  * @param p1
441
538
  */
442
- static N_0xFB9153A54AC713E8(ropeId, p1) {
443
- inv('0xFB9153A54AC713E8', ropeId, p1);
539
+ static N_0x3900491C0D61ED4B(p0, p1) {
540
+ inv('0x3900491C0D61ED4B', p0, p1);
444
541
  }
445
542
  /**
446
543
  * @param p0
@@ -450,40 +547,16 @@ export class Physics {
450
547
  * @param p4
451
548
  * @param p5
452
549
  * @param p6
453
- * @param p7
454
- * @param p8
455
- * @param p9
456
- */
457
- static N_0x8EEDFD8921389928(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9) {
458
- inv('0x8EEDFD8921389928', p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
459
- }
460
- /**
461
- * @param ropeId
462
- * @param p1
463
- * @param p2
464
550
  */
465
- static N_0x522FA3F490E2F7AC(ropeId, p1, p2) {
466
- inv('0x522FA3F490E2F7AC', ropeId, p1, p2);
467
- }
468
- /**
469
- * @param ropeId
470
- * @returns
471
- */
472
- static doesRopeExist(ropeId) {
473
- return inv('0xFD5448BE3111ED96', ropeId, rai());
551
+ static N_0xF27F1A8DE4F50A1B(p0, p1, p2, p3, p4, p5, p6) {
552
+ inv('0xF27F1A8DE4F50A1B', p0, p1, p2, p3, p4, p5, p6);
474
553
  }
475
554
  /**
476
555
  * @param p0
477
556
  * @param p1
478
- * @param p2
479
- * @param p3
480
- * @param p4
481
- * @param p5
482
- * @param p6
483
- * @param p7
484
557
  */
485
- static N_0xB7469CB9AC3C0FD4(p0, p1, p2, p3, p4, p5, p6, p7) {
486
- inv('0xB7469CB9AC3C0FD4', p0, p1, p2, p3, p4, p5, p6, p7);
558
+ static N_0x31160EC47E7C9549(p0, p1) {
559
+ inv('0x31160EC47E7C9549', p0, p1);
487
560
  }
488
561
  /**
489
562
  * @param ropeId
@@ -491,95 +564,22 @@ export class Physics {
491
564
  * @param p2
492
565
  * @param p3
493
566
  * @param p4
494
- * @param p5
495
- * @param p6
496
- * @param p7
497
- */
498
- static N_0xC64E7A62632AD2FE(ropeId, p1, p2, p3, p4, p5, p6, p7) {
499
- inv('0xC64E7A62632AD2FE', ropeId, p1, p2, p3, p4, p5, p6, p7);
500
- }
501
- /**
502
- * @param p0
503
- */
504
- static N_0xBDDA142759307528(p0) {
505
- inv('0xBDDA142759307528', p0);
506
- }
507
- /**
508
- * @param ropeId
509
- * @returns
510
- */
511
- static ropeGetForcedLength(ropeId) {
512
- return inv('0x3D69537039F8D824', ropeId, raf());
513
- }
514
- /**
515
- * @param ropeId
516
- * @param vertex
517
- * @returns
518
- */
519
- static getRopeVertexCoord(ropeId, vertex) {
520
- return Vector3.fromArray(inv('0xEA61CA8E80F09E4D', ropeId, vertex, rav()));
521
- }
522
- /**
523
- * @param p0
524
- * @param p1
525
- */
526
- static N_0x5A989B7EE3672A56(p0, p1) {
527
- inv('0x5A989B7EE3672A56', p0, p1);
528
- }
529
- /**
530
- * @param p0
531
- * @param p1
532
- * @param p2
533
567
  */
534
- static N_0x814D453FCFDF119F(p0, p1, p2) {
535
- inv('0x814D453FCFDF119F', p0, p1, p2);
536
- }
537
- /**
538
- * @param ropeId
539
- */
540
- static startRopeWinding(ropeId) {
541
- inv('0x1461C72C889E343E', ropeId);
542
- }
543
- /**
544
- * @param ropeId
545
- */
546
- static startRopeUnwindingFront(ropeId) {
547
- inv('0x538D1179EC1AA9A9', ropeId);
548
- }
549
- /**
550
- * @param ropeId
551
- */
552
- static stopRopeWinding(ropeId) {
553
- inv('0xCB2D4AB84A19AA7C', ropeId);
568
+ static N_0xD699E688B49C0FD2(ropeId, p1, p2, p3, p4) {
569
+ inv('0xD699E688B49C0FD2', ropeId, f(p1), f(p2), f(p3), p4);
554
570
  }
555
571
  /**
556
572
  * @param p0
557
- * @param p1
558
573
  */
559
- static N_0x5BD7457221CC5FF4(p0, p1) {
560
- inv('0x5BD7457221CC5FF4', p0, p1);
561
- }
562
- /**
563
- * @param ropeId
564
- * @param entity
565
- * @returns
566
- */
567
- static isRopeAttachedToEntity(ropeId, entity) {
568
- return inv('0x9B4F7E3E4F9C77B3', ropeId, entity.handle);
574
+ static N_0x9C24846D0A4A2776(p0) {
575
+ inv('0x9C24846D0A4A2776', p0);
569
576
  }
570
577
  /**
571
578
  * @param ropeId
572
579
  * @param p1
573
580
  */
574
- static N_0x76BAD9D538BCA1AA(ropeId, p1) {
575
- inv('0x76BAD9D538BCA1AA', ropeId, f(p1));
576
- }
577
- /**
578
- * @param p0
579
- * @param p1
580
- */
581
- static N_0x423C6B1F3786D28B(p0, p1) {
582
- inv('0x423C6B1F3786D28B', p0, p1);
581
+ static N_0x1FC92BDBA1106BD2(ropeId, p1) {
582
+ inv('0x1FC92BDBA1106BD2', ropeId, f(p1));
583
583
  }
584
584
  /**
585
585
  * @param object