@tlua/gmod 1.0.1

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 (278) hide show
  1. package/README.md +28 -0
  2. package/__metadata.json +4 -0
  3. package/_globals.d.tlua +178 -0
  4. package/_gmod-std.d.tlua +35 -0
  5. package/achievementicon.d.tlua +12 -0
  6. package/achievements.d.tlua +162 -0
  7. package/ai.d.tlua +65 -0
  8. package/ai_schedule.d.tlua +17 -0
  9. package/ai_task.d.tlua +17 -0
  10. package/angle.d.tlua +197 -0
  11. package/avatarimage.d.tlua +10 -0
  12. package/awesomium.d.tlua +14 -0
  13. package/baseclass.d.tlua +42 -0
  14. package/bf_read.d.tlua +110 -0
  15. package/bit.d.tlua +121 -0
  16. package/button.d.tlua +13 -0
  17. package/cam.d.tlua +220 -0
  18. package/ceffectdata.d.tlua +337 -0
  19. package/chat.d.tlua +62 -0
  20. package/checkbutton.d.tlua +14 -0
  21. package/cleanup.d.tlua +88 -0
  22. package/cluaemitter.d.tlua +119 -0
  23. package/clualocomotion.d.tlua +383 -0
  24. package/cluaparticle.d.tlua +426 -0
  25. package/cmovedata.d.tlua +476 -0
  26. package/cnavarea.d.tlua +845 -0
  27. package/cnavladder.d.tlua +209 -0
  28. package/cnewparticleeffect.d.tlua +259 -0
  29. package/color.d.tlua +339 -0
  30. package/concommand.d.tlua +69 -0
  31. package/constraint.d.tlua +311 -0
  32. package/construct.d.tlua +26 -0
  33. package/contentheader.d.tlua +32 -0
  34. package/contenticon.d.tlua +86 -0
  35. package/contentsidebar.d.tlua +45 -0
  36. package/contentsidebartoolbox.d.tlua +13 -0
  37. package/contextbase.d.tlua +37 -0
  38. package/controlpanel.d.tlua +140 -0
  39. package/controlpresets.d.tlua +118 -0
  40. package/convar.d.tlua +162 -0
  41. package/cookie.d.tlua +60 -0
  42. package/coroutine.d.tlua +90 -0
  43. package/crecipientfilter.d.tlua +152 -0
  44. package/csent.d.tlua +10 -0
  45. package/csoundpatch.d.tlua +150 -0
  46. package/ctakedamageinfo.d.tlua +366 -0
  47. package/ctrllistbox.d.tlua +12 -0
  48. package/ctrlnumpad.d.tlua +73 -0
  49. package/cusercmd.d.tlua +320 -0
  50. package/custom_classes.d.tlua +65 -0
  51. package/custom_entity_fields.d.tlua +96 -0
  52. package/cvars.d.tlua +80 -0
  53. package/dadjustablemodelpanel.d.tlua +81 -0
  54. package/dalphabar.d.tlua +27 -0
  55. package/dbinder.d.tlua +37 -0
  56. package/dbubblecontainer.d.tlua +18 -0
  57. package/dbutton.d.tlua +88 -0
  58. package/dcategoryheader.d.tlua +13 -0
  59. package/dcategorylist.d.tlua +11 -0
  60. package/dcheckbox.d.tlua +46 -0
  61. package/dcheckboxlabel.d.tlua +90 -0
  62. package/dcollapsiblecategory.d.tlua +240 -0
  63. package/dcolorbutton.d.tlua +73 -0
  64. package/dcolorcombo.d.tlua +54 -0
  65. package/dcolorcube.d.tlua +137 -0
  66. package/dcolormixer.d.tlua +303 -0
  67. package/dcolorpalette.d.tlua +294 -0
  68. package/dcolumnsheet.d.tlua +49 -0
  69. package/dcombobox.d.tlua +161 -0
  70. package/ddragbase.d.tlua +151 -0
  71. package/ddrawer.d.tlua +72 -0
  72. package/debug.d.tlua +236 -0
  73. package/debugoverlay.d.tlua +193 -0
  74. package/dentityproperties.d.tlua +63 -0
  75. package/derma.d.tlua +119 -0
  76. package/dexpandbutton.d.tlua +30 -0
  77. package/dfilebrowser.d.tlua +228 -0
  78. package/dform.d.tlua +176 -0
  79. package/dframe.d.tlua +261 -0
  80. package/dgrid.d.tlua +113 -0
  81. package/dhorizontaldivider.d.tlua +196 -0
  82. package/dhorizontalscroller.d.tlua +104 -0
  83. package/dhscrollbar.d.tlua +109 -0
  84. package/dhtml.d.tlua +91 -0
  85. package/dhtmlcontrols.d.tlua +62 -0
  86. package/diconbrowser.d.tlua +113 -0
  87. package/diconlayout.d.tlua +190 -0
  88. package/dimage.d.tlua +221 -0
  89. package/dimagebutton.d.tlua +103 -0
  90. package/dkillicon.d.tlua +9 -0
  91. package/dlabel.d.tlua +385 -0
  92. package/dlabeleditable.d.tlua +51 -0
  93. package/dlabelurl.d.tlua +100 -0
  94. package/dlistbox.d.tlua +82 -0
  95. package/dlistboxitem.d.tlua +42 -0
  96. package/dlistlayout.d.tlua +14 -0
  97. package/dlistview.d.tlua +360 -0
  98. package/dlistview_column.d.tlua +135 -0
  99. package/dlistview_columnplain.d.tlua +11 -0
  100. package/dlistview_draggerbar.d.tlua +11 -0
  101. package/dlistview_line.d.tlua +140 -0
  102. package/dlistviewheaderlabel.d.tlua +11 -0
  103. package/dlistviewlabel.d.tlua +11 -0
  104. package/dlistviewline.d.tlua +11 -0
  105. package/dmenu.d.tlua +266 -0
  106. package/dmenubar.d.tlua +42 -0
  107. package/dmenuoption.d.tlua +135 -0
  108. package/dmenuoptioncvar.d.tlua +64 -0
  109. package/dmodelpanel.d.tlua +207 -0
  110. package/dmodelselect.d.tlua +20 -0
  111. package/dmodelselectmulti.d.tlua +19 -0
  112. package/dnotify.d.tlua +93 -0
  113. package/dnumberscratch.d.tlua +284 -0
  114. package/dnumberwang.d.tlua +147 -0
  115. package/dnumpad.d.tlua +11 -0
  116. package/dnumslider.d.tlua +182 -0
  117. package/dpanel.d.tlua +152 -0
  118. package/dpanellist.d.tlua +109 -0
  119. package/dpaneloverlay.d.tlua +65 -0
  120. package/dpanelselect.d.tlua +13 -0
  121. package/dpanpanel.d.tlua +64 -0
  122. package/dprogress.d.tlua +27 -0
  123. package/dproperties.d.tlua +52 -0
  124. package/dproperty_boolean.d.tlua +12 -0
  125. package/dproperty_combo.d.tlua +31 -0
  126. package/dproperty_entity.d.tlua +12 -0
  127. package/dproperty_float.d.tlua +12 -0
  128. package/dproperty_generic.d.tlua +50 -0
  129. package/dproperty_int.d.tlua +12 -0
  130. package/dproperty_vectorcolor.d.tlua +14 -0
  131. package/dpropertysheet.d.tlua +167 -0
  132. package/dragndrop.d.tlua +123 -0
  133. package/draw.d.tlua +162 -0
  134. package/drgbpicker.d.tlua +49 -0
  135. package/drive.d.tlua +159 -0
  136. package/dscrollbargrip.d.tlua +13 -0
  137. package/dscrollpanel.d.tlua +110 -0
  138. package/dshape.d.tlua +72 -0
  139. package/dsizetocontents.d.tlua +46 -0
  140. package/dslider.d.tlua +302 -0
  141. package/dsprite.d.tlua +84 -0
  142. package/dtab.d.tlua +81 -0
  143. package/dtextentry.d.tlua +442 -0
  144. package/dtilelayout.d.tlua +218 -0
  145. package/dtooltip.d.tlua +76 -0
  146. package/dtree.d.tlua +185 -0
  147. package/dtree_node.d.tlua +793 -0
  148. package/dtree_node_button.d.tlua +13 -0
  149. package/duplicator.d.tlua +338 -0
  150. package/dverticaldivider.d.tlua +223 -0
  151. package/dvscrollbar.d.tlua +109 -0
  152. package/editablepanel.d.tlua +10 -0
  153. package/effect.d.tlua +121 -0
  154. package/effects.d.tlua +77 -0
  155. package/engine.d.tlua +248 -0
  156. package/entity.d.tlua +8295 -0
  157. package/ents.d.tlua +267 -0
  158. package/enums.d.tlua +7082 -0
  159. package/file.d.tlua +419 -0
  160. package/file_class.d.tlua +7 -0
  161. package/fingerposer.d.tlua +12 -0
  162. package/fingervar.d.tlua +13 -0
  163. package/frame.d.tlua +11 -0
  164. package/frame_blend.d.tlua +105 -0
  165. package/game.d.tlua +482 -0
  166. package/gameevent.d.tlua +968 -0
  167. package/gamemode.d.tlua +48 -0
  168. package/global.d.tlua +3156 -0
  169. package/gm.d.tlua +3218 -0
  170. package/gmod.d.tlua +20 -0
  171. package/gmsave.d.tlua +53 -0
  172. package/gui.d.tlua +232 -0
  173. package/gwen.d.tlua +55 -0
  174. package/halo.d.tlua +42 -0
  175. package/hammer.d.tlua +17 -0
  176. package/hook.d.tlua +64 -0
  177. package/html.d.tlua +22 -0
  178. package/http.d.tlua +72 -0
  179. package/iconeditor.d.tlua +130 -0
  180. package/igmodaudiochannel.d.tlua +419 -0
  181. package/imagecheckbox.d.tlua +48 -0
  182. package/imaterial.d.tlua +288 -0
  183. package/imesh.d.tlua +70 -0
  184. package/index.d.tlua +277 -0
  185. package/input.d.tlua +252 -0
  186. package/invalidateinternalentitycache.d.tlua +13 -0
  187. package/irestore.d.tlua +94 -0
  188. package/isave.d.tlua +94 -0
  189. package/itexture.d.tlua +108 -0
  190. package/ivideowriter.d.tlua +53 -0
  191. package/jit.d.tlua +243 -0
  192. package/killicon.d.tlua +84 -0
  193. package/label.d.tlua +20 -0
  194. package/language.d.tlua +26 -0
  195. package/list.d.tlua +112 -0
  196. package/makeballoon.d.tlua +15 -0
  197. package/markup.d.tlua +38 -0
  198. package/markupobject.d.tlua +53 -0
  199. package/material.d.tlua +9 -0
  200. package/math.d.tlua +899 -0
  201. package/matproxy.d.tlua +60 -0
  202. package/matselect.d.tlua +106 -0
  203. package/menu.d.tlua +20 -0
  204. package/menubar.d.tlua +39 -0
  205. package/mesh.d.tlua +183 -0
  206. package/modelimage.d.tlua +12 -0
  207. package/motionsensor.d.tlua +115 -0
  208. package/navmesh.d.tlua +274 -0
  209. package/net.d.tlua +639 -0
  210. package/nextbot.d.tlua +380 -0
  211. package/notification.d.tlua +35 -0
  212. package/npc.d.tlua +1787 -0
  213. package/numpad.d.tlua +89 -0
  214. package/os.d.tlua +56 -0
  215. package/package.d.tlua +15 -0
  216. package/package.json +18 -0
  217. package/panel.d.tlua +3650 -0
  218. package/panellist.d.tlua +13 -0
  219. package/pathfollower.d.tlua +301 -0
  220. package/permissions.d.tlua +77 -0
  221. package/physcollide.d.tlua +40 -0
  222. package/physenv.d.tlua +136 -0
  223. package/physobj.d.tlua +799 -0
  224. package/pixelvis_handle_t.d.tlua +9 -0
  225. package/player.d.tlua +3320 -0
  226. package/player_manager.d.tlua +147 -0
  227. package/preseteditor.d.tlua +13 -0
  228. package/presets.d.tlua +79 -0
  229. package/projectedtexture.d.tlua +553 -0
  230. package/properties.d.tlua +65 -0
  231. package/propselect.d.tlua +50 -0
  232. package/radiobutton.d.tlua +13 -0
  233. package/render.d.tlua +1700 -0
  234. package/resource.d.tlua +73 -0
  235. package/richtext.d.tlua +17 -0
  236. package/sandbox.d.tlua +576 -0
  237. package/saverestore.d.tlua +148 -0
  238. package/schedule.d.tlua +69 -0
  239. package/scripted_ents.d.tlua +124 -0
  240. package/search.d.tlua +26 -0
  241. package/serverlist.d.tlua +85 -0
  242. package/slidebar.d.tlua +12 -0
  243. package/slider.d.tlua +11 -0
  244. package/sound.d.tlua +140 -0
  245. package/spawnicon.d.tlua +95 -0
  246. package/spawnmenu.d.tlua +286 -0
  247. package/spawnmenucontentpanel.d.tlua +52 -0
  248. package/sql.d.tlua +154 -0
  249. package/stack.d.tlua +57 -0
  250. package/steamworks.d.tlua +208 -0
  251. package/string.d.tlua +535 -0
  252. package/structures.d.tlua +4442 -0
  253. package/surface.d.tlua +463 -0
  254. package/surfaceinfo.d.tlua +70 -0
  255. package/system.d.tlua +134 -0
  256. package/table.d.tlua +533 -0
  257. package/task.d.tlua +92 -0
  258. package/team.d.tlua +195 -0
  259. package/textentry.d.tlua +12 -0
  260. package/tgaimage.d.tlua +11 -0
  261. package/timer.d.tlua +198 -0
  262. package/tool.d.tlua +466 -0
  263. package/ugcpublishwindow.d.tlua +83 -0
  264. package/umsg.d.tlua +147 -0
  265. package/undo.d.tlua +122 -0
  266. package/urllabel.d.tlua +13 -0
  267. package/usermessage.d.tlua +48 -0
  268. package/utf8.d.tlua +89 -0
  269. package/util.d.tlua +1087 -0
  270. package/vector.d.tlua +413 -0
  271. package/vehicle.d.tlua +472 -0
  272. package/vgui.d.tlua +201 -0
  273. package/video.d.tlua +17 -0
  274. package/vmatrix.d.tlua +392 -0
  275. package/weapon.d.tlua +913 -0
  276. package/weapons.d.tlua +90 -0
  277. package/widgets.d.tlua +29 -0
  278. package/workshopfilebase.d.tlua +68 -0
package/vmatrix.d.tlua ADDED
@@ -0,0 +1,392 @@
1
+ // AUTO-GENERATED tlua declarations. Do not edit by hand.
2
+
3
+ /**
4
+ * A 4x4 matrix. This page lists all possible functions to manipulate matrices.
5
+ * Created by Global.Matrix.
6
+ *
7
+ * Arithmetic operators are typed as metamethod members, which tlua dispatches
8
+ * ambiently on the declared type: `VMatrix * Vector` yields a Vector and
9
+ * `VMatrix * VMatrix` yields a VMatrix, selected by the right operand.
10
+ */
11
+ interface VMatrix {
12
+ __add(l: VMatrix, r: VMatrix): VMatrix;
13
+ __sub(l: VMatrix, r: VMatrix): VMatrix;
14
+ __mul(l: VMatrix, r: Vector): Vector;
15
+ __mul(l: VMatrix, r: VMatrix): VMatrix;
16
+ __unm(m: VMatrix): VMatrix;
17
+ }
18
+
19
+ interface VMatrix {
20
+ /**
21
+ * Adds given matrix to this matrix.
22
+ *
23
+ * @realm shared
24
+ * @source https://wiki.facepunch.com/gmod/VMatrix:Add
25
+ */
26
+ Add(self: VMatrix, input: VMatrix): void;
27
+ }
28
+
29
+ interface VMatrix {
30
+ /**
31
+ * Returns the absolute rotation of the matrix. Scaled matrix might produce unexpected results!
32
+ * @realm shared
33
+ * @source https://wiki.facepunch.com/gmod/VMatrix:GetAngles
34
+ */
35
+ GetAngles(self: VMatrix): Angle;
36
+ }
37
+
38
+ interface VMatrix {
39
+ /**
40
+ * Returns a specific field in the matrix.
41
+ * @realm shared
42
+ * @source https://wiki.facepunch.com/gmod/VMatrix:GetField
43
+ */
44
+ GetField(self: VMatrix, row: number, column: number): number;
45
+ }
46
+
47
+ interface VMatrix {
48
+ /**
49
+ * Gets the forward direction of the matrix.
50
+ *
51
+ * ie. The first column of the matrix, excluding the w coordinate.
52
+ *
53
+ * @realm shared
54
+ * @source https://wiki.facepunch.com/gmod/VMatrix:GetForward
55
+ */
56
+ GetForward(self: VMatrix): Vector;
57
+ }
58
+
59
+ interface VMatrix {
60
+ /**
61
+ * Returns an inverted matrix without modifying the original matrix.
62
+ *
63
+ * Inverting the matrix will fail if its [determinant](https://en.wikipedia.org/wiki/Determinant) is 0 or close to 0. (ie. its "scale" in any direction is 0.)
64
+ *
65
+ * See also [VMatrix:GetInverseTR](https://wiki.facepunch.com/gmod/VMatrix:GetInverseTR).
66
+ *
67
+ * @realm shared
68
+ * @source https://wiki.facepunch.com/gmod/VMatrix:GetInverse
69
+ */
70
+ GetInverse(self: VMatrix): VMatrix;
71
+ }
72
+
73
+ interface VMatrix {
74
+ /**
75
+ * Returns an inverted matrix without modifying the original matrix. This function will not fail, but only works correctly on matrices that contain only translation and/or rotation.
76
+ *
77
+ * Using this function on a matrix with modified scale may return an incorrect inverted matrix.
78
+ *
79
+ * To get the inverse of a matrix that contains other modifications, see [VMatrix:GetInverse](https://wiki.facepunch.com/gmod/VMatrix:GetInverse).
80
+ *
81
+ * @realm shared
82
+ * @source https://wiki.facepunch.com/gmod/VMatrix:GetInverseTR
83
+ */
84
+ GetInverseTR(self: VMatrix): VMatrix;
85
+ }
86
+
87
+ interface VMatrix {
88
+ /**
89
+ * Gets the right direction of the matrix.
90
+ *
91
+ * ie. The second column of the matrix, negated, excluding the w coordinate.
92
+ *
93
+ * @realm shared
94
+ * @source https://wiki.facepunch.com/gmod/VMatrix:GetRight
95
+ */
96
+ GetRight(self: VMatrix): Vector;
97
+ }
98
+
99
+ interface VMatrix {
100
+ /**
101
+ * Returns the absolute scale of the matrix.
102
+ * @realm shared
103
+ * @source https://wiki.facepunch.com/gmod/VMatrix:GetScale
104
+ */
105
+ GetScale(self: VMatrix): Vector;
106
+ }
107
+
108
+ interface VMatrix {
109
+ /**
110
+ * Returns the absolute translation of the matrix.
111
+ * @realm shared
112
+ * @source https://wiki.facepunch.com/gmod/VMatrix:GetTranslation
113
+ */
114
+ GetTranslation(self: VMatrix): Vector;
115
+ }
116
+
117
+ interface VMatrix {
118
+ /**
119
+ * Returns the transpose (each row becomes a column) of this matrix.
120
+ *
121
+ * @realm shared
122
+ * @source https://wiki.facepunch.com/gmod/VMatrix:GetTransposed
123
+ */
124
+ GetTransposed(self: VMatrix): VMatrix;
125
+ }
126
+
127
+ interface VMatrix {
128
+ /**
129
+ * Gets the up direction of the matrix.
130
+ *
131
+ * ie. The third column of the matrix, excluding the w coordinate.
132
+ *
133
+ * @realm shared
134
+ * @source https://wiki.facepunch.com/gmod/VMatrix:GetUp
135
+ */
136
+ GetUp(self: VMatrix): Vector;
137
+ }
138
+
139
+ interface VMatrix {
140
+ /**
141
+ * Initializes the matrix as Identity matrix.
142
+ * @realm shared
143
+ * @source https://wiki.facepunch.com/gmod/VMatrix:Identity
144
+ */
145
+ Identity(self: VMatrix): void;
146
+ }
147
+
148
+ interface VMatrix {
149
+ /**
150
+ * Inverts the matrix.
151
+ *
152
+ * Inverting the matrix will fail if its [determinant](https://en.wikipedia.org/wiki/Determinant) is 0 or close to 0. (ie. its "scale" in any direction is 0.)
153
+ *
154
+ * If the matrix cannot be inverted, it does not get modified.
155
+ *
156
+ * See also [VMatrix:InvertTR](https://wiki.facepunch.com/gmod/VMatrix:InvertTR).
157
+ *
158
+ * @realm shared
159
+ * @source https://wiki.facepunch.com/gmod/VMatrix:Invert
160
+ */
161
+ Invert(self: VMatrix): boolean;
162
+ }
163
+
164
+ interface VMatrix {
165
+ /**
166
+ * Quickly inverts the matrix. This function will not fail, but only works correctly on matrices that contain only translation and/or rotation.
167
+ *
168
+ * Using this function on a matrix with modified scale may return an incorrect inverted matrix.
169
+ *
170
+ * To invert a matrix that contains other modifications, see [VMatrix:Invert](https://wiki.facepunch.com/gmod/VMatrix:Invert). This function is faster.
171
+ *
172
+ * @realm shared
173
+ * @source https://wiki.facepunch.com/gmod/VMatrix:InvertTR
174
+ */
175
+ InvertTR(self: VMatrix): void;
176
+ }
177
+
178
+ interface VMatrix {
179
+ /**
180
+ * Returns whether the matrix is equal to Identity matrix or not.
181
+ * @realm shared
182
+ * @source https://wiki.facepunch.com/gmod/VMatrix:IsIdentity
183
+ */
184
+ IsIdentity(self: VMatrix): boolean;
185
+ }
186
+
187
+ interface VMatrix {
188
+ /**
189
+ * Returns whether the matrix is a rotation matrix or not.
190
+ *
191
+ * Technically it checks if the forward, right and up vectors are orthogonal and normalized.
192
+ *
193
+ * @realm shared
194
+ * @source https://wiki.facepunch.com/gmod/VMatrix:IsRotationMatrix
195
+ */
196
+ IsRotationMatrix(self: VMatrix): boolean;
197
+ }
198
+
199
+ interface VMatrix {
200
+ /**
201
+ * Checks whenever all fields of the matrix are 0, aka if this is a [null matrix](https://en.wikipedia.org/wiki/Zero_matrix).
202
+ * @realm shared
203
+ * @source https://wiki.facepunch.com/gmod/VMatrix:IsZero
204
+ */
205
+ IsZero(self: VMatrix): boolean;
206
+ }
207
+
208
+ interface VMatrix {
209
+ /**
210
+ * Multiplies this matrix by given matrix.
211
+ *
212
+ * @realm shared
213
+ * @source https://wiki.facepunch.com/gmod/VMatrix:Mul
214
+ */
215
+ Mul(self: VMatrix, input: VMatrix): void;
216
+ }
217
+
218
+ interface VMatrix {
219
+ /**
220
+ * Rotates the matrix by the given angle.
221
+ *
222
+ * Postmultiplies the matrix by a rotation matrix (A = AR).
223
+ *
224
+ * @realm shared
225
+ * @source https://wiki.facepunch.com/gmod/VMatrix:Rotate
226
+ */
227
+ Rotate(self: VMatrix, rotation: Angle): void;
228
+ }
229
+
230
+ interface VMatrix {
231
+ /**
232
+ * Scales the matrix by the given vector.
233
+ *
234
+ * Postmultiplies the matrix by a scaling matrix (A = AS).
235
+ *
236
+ * @realm shared
237
+ * @source https://wiki.facepunch.com/gmod/VMatrix:Scale
238
+ */
239
+ Scale(self: VMatrix, scale: Vector): void;
240
+ }
241
+
242
+ interface VMatrix {
243
+ /**
244
+ * Scales the absolute translation with the given value.
245
+ * @realm shared
246
+ * @source https://wiki.facepunch.com/gmod/VMatrix:ScaleTranslation
247
+ */
248
+ ScaleTranslation(self: VMatrix, scale: number): void;
249
+ }
250
+
251
+ interface VMatrix {
252
+ /**
253
+ * Copies values from the given matrix object.
254
+ * @realm shared
255
+ * @source https://wiki.facepunch.com/gmod/VMatrix:Set
256
+ */
257
+ Set(self: VMatrix, src: VMatrix): void;
258
+ }
259
+
260
+ interface VMatrix {
261
+ /**
262
+ * Sets the absolute rotation of the matrix.
263
+ * @realm shared
264
+ * @source https://wiki.facepunch.com/gmod/VMatrix:SetAngles
265
+ */
266
+ SetAngles(self: VMatrix, angle: Angle): void;
267
+ }
268
+
269
+ interface VMatrix {
270
+ /**
271
+ * Sets a specific field in the matrix.
272
+ * @realm shared
273
+ * @source https://wiki.facepunch.com/gmod/VMatrix:SetField
274
+ */
275
+ SetField(self: VMatrix, row: number, column: number, value: number): void;
276
+ }
277
+
278
+ interface VMatrix {
279
+ /**
280
+ * Sets the forward direction of the matrix.
281
+ *
282
+ * ie. The first column of the matrix, excluding the w coordinate.
283
+ *
284
+ * @realm shared
285
+ * @source https://wiki.facepunch.com/gmod/VMatrix:SetForward
286
+ */
287
+ SetForward(self: VMatrix, forward: Vector): void;
288
+ }
289
+
290
+ interface VMatrix {
291
+ /**
292
+ * Sets the right direction of the matrix.
293
+ *
294
+ * ie. The second column of the matrix, negated, excluding the w coordinate.
295
+ *
296
+ * @realm shared
297
+ * @source https://wiki.facepunch.com/gmod/VMatrix:SetRight
298
+ */
299
+ SetRight(self: VMatrix, right: Vector): void;
300
+ }
301
+
302
+ interface VMatrix {
303
+ /**
304
+ * Modifies the scale of the matrix while preserving the rotation and translation.
305
+ * @realm shared
306
+ * @source https://wiki.facepunch.com/gmod/VMatrix:SetScale
307
+ */
308
+ SetScale(self: VMatrix, scale: Vector): void;
309
+ }
310
+
311
+ interface VMatrix {
312
+ /**
313
+ * Sets the absolute translation of the matrix.
314
+ * @realm shared
315
+ * @source https://wiki.facepunch.com/gmod/VMatrix:SetTranslation
316
+ */
317
+ SetTranslation(self: VMatrix, translation: Vector): void;
318
+ }
319
+
320
+ interface VMatrix {
321
+ /**
322
+ * Sets each component of the matrix.
323
+ * @realm shared
324
+ * @source https://wiki.facepunch.com/gmod/VMatrix:SetUnpacked
325
+ */
326
+ SetUnpacked(self: VMatrix, e11: number, e12: number, e13: number, e14: number, e21: number, e22: number, e23: number, e24: number, e31: number, e32: number, e33: number, e34: number, e41: number, e42: number, e43: number, e44: number): void;
327
+ }
328
+
329
+ interface VMatrix {
330
+ /**
331
+ * Sets the up direction of the matrix.
332
+ *
333
+ * ie. The third column of the matrix, excluding the w coordinate.
334
+ *
335
+ * @realm shared
336
+ * @source https://wiki.facepunch.com/gmod/VMatrix:SetUp
337
+ */
338
+ SetUp(self: VMatrix, up: Vector): void;
339
+ }
340
+
341
+ interface VMatrix {
342
+ /**
343
+ * Subtracts given matrix from this matrix.
344
+ *
345
+ * @realm shared
346
+ * @source https://wiki.facepunch.com/gmod/VMatrix:Sub
347
+ */
348
+ Sub(self: VMatrix, input: VMatrix): void;
349
+ }
350
+
351
+ interface VMatrix {
352
+ /**
353
+ * Converts the matrix to a 4x4 table. See [Global.Matrix](https://wiki.facepunch.com/gmod/Global.Matrix) function.
354
+ * @realm shared
355
+ * @source https://wiki.facepunch.com/gmod/VMatrix:ToTable
356
+ */
357
+ ToTable(self: VMatrix): table;
358
+ }
359
+
360
+ interface VMatrix {
361
+ /**
362
+ * Translates the matrix by the given vector aka. adds the vector to the translation.
363
+ *
364
+ * Postmultiplies the matrix by a translation matrix (A = AT).
365
+ *
366
+ * @realm shared
367
+ * @source https://wiki.facepunch.com/gmod/VMatrix:Translate
368
+ */
369
+ Translate(self: VMatrix, translation: Vector): void;
370
+ }
371
+
372
+ interface VMatrix {
373
+ /**
374
+ * Returns each component of the matrix, expanding rows before columns.
375
+ * @realm shared
376
+ * @source https://wiki.facepunch.com/gmod/VMatrix:Unpack
377
+ */
378
+ Unpack(self: VMatrix): (number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number);
379
+ }
380
+
381
+ interface VMatrix {
382
+ /**
383
+ * Sets all components of the matrix to 0, also known as a [null matrix](https://en.wikipedia.org/wiki/Zero_matrix).
384
+ *
385
+ * This function is more efficient than setting each element manually.
386
+ *
387
+ * @realm shared
388
+ * @source https://wiki.facepunch.com/gmod/VMatrix:Zero
389
+ */
390
+ Zero(self: VMatrix): void;
391
+ }
392
+