@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.
- package/README.md +28 -0
- package/__metadata.json +4 -0
- package/_globals.d.tlua +178 -0
- package/_gmod-std.d.tlua +35 -0
- package/achievementicon.d.tlua +12 -0
- package/achievements.d.tlua +162 -0
- package/ai.d.tlua +65 -0
- package/ai_schedule.d.tlua +17 -0
- package/ai_task.d.tlua +17 -0
- package/angle.d.tlua +197 -0
- package/avatarimage.d.tlua +10 -0
- package/awesomium.d.tlua +14 -0
- package/baseclass.d.tlua +42 -0
- package/bf_read.d.tlua +110 -0
- package/bit.d.tlua +121 -0
- package/button.d.tlua +13 -0
- package/cam.d.tlua +220 -0
- package/ceffectdata.d.tlua +337 -0
- package/chat.d.tlua +62 -0
- package/checkbutton.d.tlua +14 -0
- package/cleanup.d.tlua +88 -0
- package/cluaemitter.d.tlua +119 -0
- package/clualocomotion.d.tlua +383 -0
- package/cluaparticle.d.tlua +426 -0
- package/cmovedata.d.tlua +476 -0
- package/cnavarea.d.tlua +845 -0
- package/cnavladder.d.tlua +209 -0
- package/cnewparticleeffect.d.tlua +259 -0
- package/color.d.tlua +339 -0
- package/concommand.d.tlua +69 -0
- package/constraint.d.tlua +311 -0
- package/construct.d.tlua +26 -0
- package/contentheader.d.tlua +32 -0
- package/contenticon.d.tlua +86 -0
- package/contentsidebar.d.tlua +45 -0
- package/contentsidebartoolbox.d.tlua +13 -0
- package/contextbase.d.tlua +37 -0
- package/controlpanel.d.tlua +140 -0
- package/controlpresets.d.tlua +118 -0
- package/convar.d.tlua +162 -0
- package/cookie.d.tlua +60 -0
- package/coroutine.d.tlua +90 -0
- package/crecipientfilter.d.tlua +152 -0
- package/csent.d.tlua +10 -0
- package/csoundpatch.d.tlua +150 -0
- package/ctakedamageinfo.d.tlua +366 -0
- package/ctrllistbox.d.tlua +12 -0
- package/ctrlnumpad.d.tlua +73 -0
- package/cusercmd.d.tlua +320 -0
- package/custom_classes.d.tlua +65 -0
- package/custom_entity_fields.d.tlua +96 -0
- package/cvars.d.tlua +80 -0
- package/dadjustablemodelpanel.d.tlua +81 -0
- package/dalphabar.d.tlua +27 -0
- package/dbinder.d.tlua +37 -0
- package/dbubblecontainer.d.tlua +18 -0
- package/dbutton.d.tlua +88 -0
- package/dcategoryheader.d.tlua +13 -0
- package/dcategorylist.d.tlua +11 -0
- package/dcheckbox.d.tlua +46 -0
- package/dcheckboxlabel.d.tlua +90 -0
- package/dcollapsiblecategory.d.tlua +240 -0
- package/dcolorbutton.d.tlua +73 -0
- package/dcolorcombo.d.tlua +54 -0
- package/dcolorcube.d.tlua +137 -0
- package/dcolormixer.d.tlua +303 -0
- package/dcolorpalette.d.tlua +294 -0
- package/dcolumnsheet.d.tlua +49 -0
- package/dcombobox.d.tlua +161 -0
- package/ddragbase.d.tlua +151 -0
- package/ddrawer.d.tlua +72 -0
- package/debug.d.tlua +236 -0
- package/debugoverlay.d.tlua +193 -0
- package/dentityproperties.d.tlua +63 -0
- package/derma.d.tlua +119 -0
- package/dexpandbutton.d.tlua +30 -0
- package/dfilebrowser.d.tlua +228 -0
- package/dform.d.tlua +176 -0
- package/dframe.d.tlua +261 -0
- package/dgrid.d.tlua +113 -0
- package/dhorizontaldivider.d.tlua +196 -0
- package/dhorizontalscroller.d.tlua +104 -0
- package/dhscrollbar.d.tlua +109 -0
- package/dhtml.d.tlua +91 -0
- package/dhtmlcontrols.d.tlua +62 -0
- package/diconbrowser.d.tlua +113 -0
- package/diconlayout.d.tlua +190 -0
- package/dimage.d.tlua +221 -0
- package/dimagebutton.d.tlua +103 -0
- package/dkillicon.d.tlua +9 -0
- package/dlabel.d.tlua +385 -0
- package/dlabeleditable.d.tlua +51 -0
- package/dlabelurl.d.tlua +100 -0
- package/dlistbox.d.tlua +82 -0
- package/dlistboxitem.d.tlua +42 -0
- package/dlistlayout.d.tlua +14 -0
- package/dlistview.d.tlua +360 -0
- package/dlistview_column.d.tlua +135 -0
- package/dlistview_columnplain.d.tlua +11 -0
- package/dlistview_draggerbar.d.tlua +11 -0
- package/dlistview_line.d.tlua +140 -0
- package/dlistviewheaderlabel.d.tlua +11 -0
- package/dlistviewlabel.d.tlua +11 -0
- package/dlistviewline.d.tlua +11 -0
- package/dmenu.d.tlua +266 -0
- package/dmenubar.d.tlua +42 -0
- package/dmenuoption.d.tlua +135 -0
- package/dmenuoptioncvar.d.tlua +64 -0
- package/dmodelpanel.d.tlua +207 -0
- package/dmodelselect.d.tlua +20 -0
- package/dmodelselectmulti.d.tlua +19 -0
- package/dnotify.d.tlua +93 -0
- package/dnumberscratch.d.tlua +284 -0
- package/dnumberwang.d.tlua +147 -0
- package/dnumpad.d.tlua +11 -0
- package/dnumslider.d.tlua +182 -0
- package/dpanel.d.tlua +152 -0
- package/dpanellist.d.tlua +109 -0
- package/dpaneloverlay.d.tlua +65 -0
- package/dpanelselect.d.tlua +13 -0
- package/dpanpanel.d.tlua +64 -0
- package/dprogress.d.tlua +27 -0
- package/dproperties.d.tlua +52 -0
- package/dproperty_boolean.d.tlua +12 -0
- package/dproperty_combo.d.tlua +31 -0
- package/dproperty_entity.d.tlua +12 -0
- package/dproperty_float.d.tlua +12 -0
- package/dproperty_generic.d.tlua +50 -0
- package/dproperty_int.d.tlua +12 -0
- package/dproperty_vectorcolor.d.tlua +14 -0
- package/dpropertysheet.d.tlua +167 -0
- package/dragndrop.d.tlua +123 -0
- package/draw.d.tlua +162 -0
- package/drgbpicker.d.tlua +49 -0
- package/drive.d.tlua +159 -0
- package/dscrollbargrip.d.tlua +13 -0
- package/dscrollpanel.d.tlua +110 -0
- package/dshape.d.tlua +72 -0
- package/dsizetocontents.d.tlua +46 -0
- package/dslider.d.tlua +302 -0
- package/dsprite.d.tlua +84 -0
- package/dtab.d.tlua +81 -0
- package/dtextentry.d.tlua +442 -0
- package/dtilelayout.d.tlua +218 -0
- package/dtooltip.d.tlua +76 -0
- package/dtree.d.tlua +185 -0
- package/dtree_node.d.tlua +793 -0
- package/dtree_node_button.d.tlua +13 -0
- package/duplicator.d.tlua +338 -0
- package/dverticaldivider.d.tlua +223 -0
- package/dvscrollbar.d.tlua +109 -0
- package/editablepanel.d.tlua +10 -0
- package/effect.d.tlua +121 -0
- package/effects.d.tlua +77 -0
- package/engine.d.tlua +248 -0
- package/entity.d.tlua +8295 -0
- package/ents.d.tlua +267 -0
- package/enums.d.tlua +7082 -0
- package/file.d.tlua +419 -0
- package/file_class.d.tlua +7 -0
- package/fingerposer.d.tlua +12 -0
- package/fingervar.d.tlua +13 -0
- package/frame.d.tlua +11 -0
- package/frame_blend.d.tlua +105 -0
- package/game.d.tlua +482 -0
- package/gameevent.d.tlua +968 -0
- package/gamemode.d.tlua +48 -0
- package/global.d.tlua +3156 -0
- package/gm.d.tlua +3218 -0
- package/gmod.d.tlua +20 -0
- package/gmsave.d.tlua +53 -0
- package/gui.d.tlua +232 -0
- package/gwen.d.tlua +55 -0
- package/halo.d.tlua +42 -0
- package/hammer.d.tlua +17 -0
- package/hook.d.tlua +64 -0
- package/html.d.tlua +22 -0
- package/http.d.tlua +72 -0
- package/iconeditor.d.tlua +130 -0
- package/igmodaudiochannel.d.tlua +419 -0
- package/imagecheckbox.d.tlua +48 -0
- package/imaterial.d.tlua +288 -0
- package/imesh.d.tlua +70 -0
- package/index.d.tlua +277 -0
- package/input.d.tlua +252 -0
- package/invalidateinternalentitycache.d.tlua +13 -0
- package/irestore.d.tlua +94 -0
- package/isave.d.tlua +94 -0
- package/itexture.d.tlua +108 -0
- package/ivideowriter.d.tlua +53 -0
- package/jit.d.tlua +243 -0
- package/killicon.d.tlua +84 -0
- package/label.d.tlua +20 -0
- package/language.d.tlua +26 -0
- package/list.d.tlua +112 -0
- package/makeballoon.d.tlua +15 -0
- package/markup.d.tlua +38 -0
- package/markupobject.d.tlua +53 -0
- package/material.d.tlua +9 -0
- package/math.d.tlua +899 -0
- package/matproxy.d.tlua +60 -0
- package/matselect.d.tlua +106 -0
- package/menu.d.tlua +20 -0
- package/menubar.d.tlua +39 -0
- package/mesh.d.tlua +183 -0
- package/modelimage.d.tlua +12 -0
- package/motionsensor.d.tlua +115 -0
- package/navmesh.d.tlua +274 -0
- package/net.d.tlua +639 -0
- package/nextbot.d.tlua +380 -0
- package/notification.d.tlua +35 -0
- package/npc.d.tlua +1787 -0
- package/numpad.d.tlua +89 -0
- package/os.d.tlua +56 -0
- package/package.d.tlua +15 -0
- package/package.json +18 -0
- package/panel.d.tlua +3650 -0
- package/panellist.d.tlua +13 -0
- package/pathfollower.d.tlua +301 -0
- package/permissions.d.tlua +77 -0
- package/physcollide.d.tlua +40 -0
- package/physenv.d.tlua +136 -0
- package/physobj.d.tlua +799 -0
- package/pixelvis_handle_t.d.tlua +9 -0
- package/player.d.tlua +3320 -0
- package/player_manager.d.tlua +147 -0
- package/preseteditor.d.tlua +13 -0
- package/presets.d.tlua +79 -0
- package/projectedtexture.d.tlua +553 -0
- package/properties.d.tlua +65 -0
- package/propselect.d.tlua +50 -0
- package/radiobutton.d.tlua +13 -0
- package/render.d.tlua +1700 -0
- package/resource.d.tlua +73 -0
- package/richtext.d.tlua +17 -0
- package/sandbox.d.tlua +576 -0
- package/saverestore.d.tlua +148 -0
- package/schedule.d.tlua +69 -0
- package/scripted_ents.d.tlua +124 -0
- package/search.d.tlua +26 -0
- package/serverlist.d.tlua +85 -0
- package/slidebar.d.tlua +12 -0
- package/slider.d.tlua +11 -0
- package/sound.d.tlua +140 -0
- package/spawnicon.d.tlua +95 -0
- package/spawnmenu.d.tlua +286 -0
- package/spawnmenucontentpanel.d.tlua +52 -0
- package/sql.d.tlua +154 -0
- package/stack.d.tlua +57 -0
- package/steamworks.d.tlua +208 -0
- package/string.d.tlua +535 -0
- package/structures.d.tlua +4442 -0
- package/surface.d.tlua +463 -0
- package/surfaceinfo.d.tlua +70 -0
- package/system.d.tlua +134 -0
- package/table.d.tlua +533 -0
- package/task.d.tlua +92 -0
- package/team.d.tlua +195 -0
- package/textentry.d.tlua +12 -0
- package/tgaimage.d.tlua +11 -0
- package/timer.d.tlua +198 -0
- package/tool.d.tlua +466 -0
- package/ugcpublishwindow.d.tlua +83 -0
- package/umsg.d.tlua +147 -0
- package/undo.d.tlua +122 -0
- package/urllabel.d.tlua +13 -0
- package/usermessage.d.tlua +48 -0
- package/utf8.d.tlua +89 -0
- package/util.d.tlua +1087 -0
- package/vector.d.tlua +413 -0
- package/vehicle.d.tlua +472 -0
- package/vgui.d.tlua +201 -0
- package/video.d.tlua +17 -0
- package/vmatrix.d.tlua +392 -0
- package/weapon.d.tlua +913 -0
- package/weapons.d.tlua +90 -0
- package/widgets.d.tlua +29 -0
- package/workshopfilebase.d.tlua +68 -0
package/vector.d.tlua
ADDED
|
@@ -0,0 +1,413 @@
|
|
|
1
|
+
// AUTO-GENERATED tlua declarations. Do not edit by hand.
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* List of all possible functions to manipulate vectors. Created by Global.Vector.
|
|
5
|
+
*
|
|
6
|
+
* Arithmetic operators are typed as metamethod members, which tlua dispatches
|
|
7
|
+
* ambiently on the declared type. The `number * Vector` form (scalar on the
|
|
8
|
+
* left) is a reverse overload the LuaLS `@operator` form could not express.
|
|
9
|
+
*/
|
|
10
|
+
interface Vector {
|
|
11
|
+
x: number;
|
|
12
|
+
y: number;
|
|
13
|
+
z: number;
|
|
14
|
+
// A vector is also indexable as v[1], v[2], v[3].
|
|
15
|
+
[index: number]: number;
|
|
16
|
+
__add(l: Vector, r: Vector): Vector;
|
|
17
|
+
__sub(l: Vector, r: Vector): Vector;
|
|
18
|
+
__mul(l: Vector, r: Vector | number): Vector;
|
|
19
|
+
__mul(l: number, r: Vector): Vector;
|
|
20
|
+
__div(l: Vector, r: Vector | number): Vector;
|
|
21
|
+
__unm(v: Vector): Vector;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
interface Vector {
|
|
25
|
+
/**
|
|
26
|
+
* Adds the values of the argument vector to the original vector. This function is the same as vector1 + vector2 without creating a new vector object, skipping object construction and garbage collection.
|
|
27
|
+
* @realm shared and menu
|
|
28
|
+
* @source https://wiki.facepunch.com/gmod/Vector:Add
|
|
29
|
+
*/
|
|
30
|
+
Add(self: Vector, vector: Vector): void;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
interface Vector {
|
|
34
|
+
/**
|
|
35
|
+
* Returns an angle representing the normal of the vector.
|
|
36
|
+
* @realm shared and menu
|
|
37
|
+
* @source https://wiki.facepunch.com/gmod/Vector:Angle
|
|
38
|
+
*/
|
|
39
|
+
Angle(self: Vector): Angle;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
interface Vector {
|
|
43
|
+
/**
|
|
44
|
+
* Returns the angle of this vector (normalized), but instead of assuming that up is [Global.Vector](https://wiki.facepunch.com/gmod/Global.Vector)( 0, 0, 1 ) (Like [Vector:Angle](https://wiki.facepunch.com/gmod/Vector:Angle) does) you can specify which direction is 'up' for the angle.
|
|
45
|
+
* @realm shared and menu
|
|
46
|
+
* @source https://wiki.facepunch.com/gmod/Vector:AngleEx
|
|
47
|
+
*/
|
|
48
|
+
AngleEx(self: Vector, up: Vector): Angle;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
interface Vector {
|
|
52
|
+
/**
|
|
53
|
+
* Calculates the cross product of this vector and the passed one.
|
|
54
|
+
*
|
|
55
|
+
* The cross product of two vectors is a 3-dimensional vector with a direction perpendicular (at right angles) to both of them (according to the [right-hand rule](https://en.wikipedia.org/wiki/Right-hand_rule)), and magnitude equal to the area of parallelogram they span. This is defined as the product of the magnitudes, the sine of the angle between them, and unit (normal) vector `n` defined by the right-hand rule:
|
|
56
|
+
* :**a** × **b** = |**a**| |**b**| sin(θ) **n̂**
|
|
57
|
+
* where **a** and **b** are vectors, and **n̂** is a unit vector (magnitude of 1) perpendicular to both.
|
|
58
|
+
*
|
|
59
|
+
* @realm shared and menu
|
|
60
|
+
* @source https://wiki.facepunch.com/gmod/Vector:Cross
|
|
61
|
+
*/
|
|
62
|
+
Cross(self: Vector, otherVector: Vector): Vector;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
interface Vector {
|
|
66
|
+
/**
|
|
67
|
+
* Returns the squared distance of 2 vectors, this is quicker to call than [Vector:Distance](https://wiki.facepunch.com/gmod/Vector:Distance) as DistToSqr does not need to calculate the square root, which is an expensive process.
|
|
68
|
+
*
|
|
69
|
+
* **NOTE**: Squared distances should not be summed. If you need to sum distances, use [Vector:Distance](https://wiki.facepunch.com/gmod/Vector:Distance).
|
|
70
|
+
*
|
|
71
|
+
* When performing a distance check, ensure the distance being checked against is squared. See example code below.
|
|
72
|
+
*
|
|
73
|
+
*
|
|
74
|
+
* @realm shared and menu
|
|
75
|
+
* @source https://wiki.facepunch.com/gmod/Vector:DistToSqr
|
|
76
|
+
*/
|
|
77
|
+
DistToSqr(self: Vector, otherVec: Vector): number;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
interface Vector {
|
|
81
|
+
/**
|
|
82
|
+
* Returns the Euclidean distance between the vector and the other vector.
|
|
83
|
+
*
|
|
84
|
+
* **NOTE**: This function is more expensive than [Vector:DistToSqr](https://wiki.facepunch.com/gmod/Vector:DistToSqr). However, please see the notes for [Vector:DistToSqr](https://wiki.facepunch.com/gmod/Vector:DistToSqr) before using it as squared distances are not the same as euclidean distances.
|
|
85
|
+
*
|
|
86
|
+
*
|
|
87
|
+
* @realm shared and menu
|
|
88
|
+
* @source https://wiki.facepunch.com/gmod/Vector:Distance
|
|
89
|
+
*/
|
|
90
|
+
Distance(self: Vector, otherVector: Vector): number;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
interface Vector {
|
|
94
|
+
/**
|
|
95
|
+
* Returns the Euclidean distance between the vector and the other vector in 2D space. The Z axis is ignored.
|
|
96
|
+
*
|
|
97
|
+
* **NOTE**: This function is more expensive than [Vector:Distance2DSqr](https://wiki.facepunch.com/gmod/Vector:Distance2DSqr). However, please see the notes for [Vector:Distance2DSqr](https://wiki.facepunch.com/gmod/Vector:Distance2DSqr) before using it as squared distances are not the same as Euclidean distances.
|
|
98
|
+
*
|
|
99
|
+
*
|
|
100
|
+
* @realm shared and menu
|
|
101
|
+
* @source https://wiki.facepunch.com/gmod/Vector:Distance2D
|
|
102
|
+
*/
|
|
103
|
+
Distance2D(self: Vector, otherVector: Vector): number;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
interface Vector {
|
|
107
|
+
/**
|
|
108
|
+
* Returns the squared distance between 2 vectors in 2D space, ignoring the Z axis. This is faster than [Vector:Distance2D](https://wiki.facepunch.com/gmod/Vector:Distance2D) as calculating the square root is an expensive process.
|
|
109
|
+
*
|
|
110
|
+
* **NOTE**: Squared distances should not be summed. If you need to sum distances, use [Vector:Distance2D](https://wiki.facepunch.com/gmod/Vector:Distance2D).
|
|
111
|
+
*
|
|
112
|
+
* When performing a distance check, ensure the distance being checked against is squared.
|
|
113
|
+
*
|
|
114
|
+
*
|
|
115
|
+
* @realm shared and menu
|
|
116
|
+
* @source https://wiki.facepunch.com/gmod/Vector:Distance2DSqr
|
|
117
|
+
*/
|
|
118
|
+
Distance2DSqr(self: Vector, otherVec: Vector): number;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
interface Vector {
|
|
122
|
+
/**
|
|
123
|
+
* Divide the vector by the given number, that means x, y and z are divided by that value. This will change the value of the original vector, see example 2 for division without changing the value.
|
|
124
|
+
* @realm shared and menu
|
|
125
|
+
* @source https://wiki.facepunch.com/gmod/Vector:Div
|
|
126
|
+
*/
|
|
127
|
+
Div(self: Vector, divisor: number): void;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
interface Vector {
|
|
131
|
+
/**
|
|
132
|
+
* Returns the [dot product](https://en.wikipedia.org/wiki/Dot_product#Geometric_definition) of this vector and the passed one.
|
|
133
|
+
*
|
|
134
|
+
* The dot product of two vectors is the product of their magnitudes (lengths), and the cosine of the angle between them:
|
|
135
|
+
* **a · b** = |**a**| |**b**| cos(θ)
|
|
136
|
+
* where **a** and **b** are vectors.
|
|
137
|
+
* See [Vector:Length](https://wiki.facepunch.com/gmod/Vector:Length) for obtaining magnitudes.
|
|
138
|
+
*
|
|
139
|
+
* A dot product returns just the cosine of the angle if both vectors are normalized, and zero if the vectors are at right angles to each other.
|
|
140
|
+
*
|
|
141
|
+
* @realm shared and menu
|
|
142
|
+
* @source https://wiki.facepunch.com/gmod/Vector:Dot
|
|
143
|
+
*/
|
|
144
|
+
Dot(self: Vector, otherVector: Vector): number;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
interface Vector {
|
|
148
|
+
/**
|
|
149
|
+
* Returns the dot product of the two vectors.
|
|
150
|
+
* @realm shared and menu
|
|
151
|
+
* @source https://wiki.facepunch.com/gmod/Vector:DotProduct
|
|
152
|
+
* @deprecated This is an alias of Vector:Dot. Use that instead.
|
|
153
|
+
*/
|
|
154
|
+
DotProduct(self: Vector, Vector: Vector): number;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
interface Vector {
|
|
158
|
+
/**
|
|
159
|
+
* Returns the negative version of this vector, i.e. a vector with every component to the negative value of itself.
|
|
160
|
+
*
|
|
161
|
+
* See also [Vector:Negate](https://wiki.facepunch.com/gmod/Vector:Negate).
|
|
162
|
+
*
|
|
163
|
+
* @realm shared and menu
|
|
164
|
+
* @source https://wiki.facepunch.com/gmod/Vector:GetNegated
|
|
165
|
+
*/
|
|
166
|
+
GetNegated(self: Vector): Vector;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
interface Vector {
|
|
170
|
+
/**
|
|
171
|
+
* Returns a normalized version of the vector. This is a alias of [Vector:GetNormalized](https://wiki.facepunch.com/gmod/Vector:GetNormalized).
|
|
172
|
+
*
|
|
173
|
+
* @realm shared and menu
|
|
174
|
+
* @source https://wiki.facepunch.com/gmod/Vector:GetNormal
|
|
175
|
+
* @deprecated Use Vector:GetNormalized instead.
|
|
176
|
+
*/
|
|
177
|
+
GetNormal(self: Vector): Vector;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
interface Vector {
|
|
181
|
+
/**
|
|
182
|
+
* Returns a normalized version of the vector. Normalized means vector with same direction but with length of 1.
|
|
183
|
+
*
|
|
184
|
+
* This does not affect the vector you call it on; to do this, use [Vector:Normalize](https://wiki.facepunch.com/gmod/Vector:Normalize).
|
|
185
|
+
*
|
|
186
|
+
* @realm shared and menu
|
|
187
|
+
* @source https://wiki.facepunch.com/gmod/Vector:GetNormalized
|
|
188
|
+
*/
|
|
189
|
+
GetNormalized(self: Vector): Vector;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
interface Vector {
|
|
193
|
+
/**
|
|
194
|
+
* Returns if the vector is equal to another vector with the given tolerance.
|
|
195
|
+
* @realm shared and menu
|
|
196
|
+
* @source https://wiki.facepunch.com/gmod/Vector:IsEqualTol
|
|
197
|
+
*/
|
|
198
|
+
IsEqualTol(self: Vector, compare: Vector, tolerance: number): boolean;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
interface Vector {
|
|
202
|
+
/**
|
|
203
|
+
* Checks whenever all fields of the vector are 0.
|
|
204
|
+
* @realm shared and menu
|
|
205
|
+
* @source https://wiki.facepunch.com/gmod/Vector:IsZero
|
|
206
|
+
*/
|
|
207
|
+
IsZero(self: Vector): boolean;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
interface Vector {
|
|
211
|
+
/**
|
|
212
|
+
* Returns the [Euclidean length](https://en.wikipedia.org/wiki/Euclidean_vector#Length) of the vector: √(x² + y² + z²).
|
|
213
|
+
*
|
|
214
|
+
* **WARNING**: This is a relatively expensive process since it uses the square root. It is recommended that you use [Vector:LengthSqr](https://wiki.facepunch.com/gmod/Vector:LengthSqr) whenever possible.
|
|
215
|
+
*
|
|
216
|
+
*
|
|
217
|
+
* @realm shared and menu
|
|
218
|
+
* @source https://wiki.facepunch.com/gmod/Vector:Length
|
|
219
|
+
*/
|
|
220
|
+
Length(self: Vector): number;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
interface Vector {
|
|
224
|
+
/**
|
|
225
|
+
* Returns the length of the vector in two dimensions, without the Z axis.
|
|
226
|
+
*
|
|
227
|
+
* **WARNING**: This is a relatively expensive process since it uses the square root. It is recommended that you use [Vector:Length2DSqr](https://wiki.facepunch.com/gmod/Vector:Length2DSqr) whenever possible.
|
|
228
|
+
*
|
|
229
|
+
*
|
|
230
|
+
* @realm shared and menu
|
|
231
|
+
* @source https://wiki.facepunch.com/gmod/Vector:Length2D
|
|
232
|
+
*/
|
|
233
|
+
Length2D(self: Vector): number;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
interface Vector {
|
|
237
|
+
/**
|
|
238
|
+
* Returns the squared length of the vectors x and y value, x² + y².
|
|
239
|
+
*
|
|
240
|
+
* This is faster than [Vector:Length2D](https://wiki.facepunch.com/gmod/Vector:Length2D) as calculating the square root is an expensive process.
|
|
241
|
+
*
|
|
242
|
+
* @realm shared and menu
|
|
243
|
+
* @source https://wiki.facepunch.com/gmod/Vector:Length2DSqr
|
|
244
|
+
*/
|
|
245
|
+
Length2DSqr(self: Vector): number;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
interface Vector {
|
|
249
|
+
/**
|
|
250
|
+
* Returns the squared length of the vector, x² + y² + z².
|
|
251
|
+
*
|
|
252
|
+
* This is faster than [Vector:Length](https://wiki.facepunch.com/gmod/Vector:Length) as calculating the square root is an expensive process.
|
|
253
|
+
*
|
|
254
|
+
* @realm shared and menu
|
|
255
|
+
* @source https://wiki.facepunch.com/gmod/Vector:LengthSqr
|
|
256
|
+
*/
|
|
257
|
+
LengthSqr(self: Vector): number;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
interface Vector {
|
|
261
|
+
/**
|
|
262
|
+
* Scales the vector by the given [number](https://wiki.facepunch.com/gmod/number) (that means x, y and z are multiplied by that value), a [Vector](https://wiki.facepunch.com/gmod/Vector) (X, Y, and Z of each vector are multiplied) or a [VMatrix](https://wiki.facepunch.com/gmod/VMatrix) (Transforms the vector by the matrix's rotation/translation).
|
|
263
|
+
* @realm shared and menu
|
|
264
|
+
* @source https://wiki.facepunch.com/gmod/Vector:Mul
|
|
265
|
+
*/
|
|
266
|
+
Mul(self: Vector, multiplier: number): void;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
interface Vector {
|
|
270
|
+
Mul(self: Vector, multiplier: Vector): void;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
interface Vector {
|
|
274
|
+
Mul(self: Vector, matrix: VMatrix): void;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
interface Vector {
|
|
278
|
+
/**
|
|
279
|
+
* Negates this vector, i.e. sets every component to the negative value of itself. Same as `Vector( -vec.x, -vec.y, -vec.z )`
|
|
280
|
+
* @realm shared and menu
|
|
281
|
+
* @source https://wiki.facepunch.com/gmod/Vector:Negate
|
|
282
|
+
*/
|
|
283
|
+
Negate(self: Vector): void;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
interface Vector {
|
|
287
|
+
/**
|
|
288
|
+
* Normalizes the given vector. This changes the vector you call it on, if you want to return a normalized copy without affecting the original, use [Vector:GetNormalized](https://wiki.facepunch.com/gmod/Vector:GetNormalized).
|
|
289
|
+
* @realm shared and menu
|
|
290
|
+
* @source https://wiki.facepunch.com/gmod/Vector:Normalize
|
|
291
|
+
*/
|
|
292
|
+
Normalize(self: Vector): void;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
interface Vector {
|
|
296
|
+
/**
|
|
297
|
+
* Randomizes each element of this Vector object.
|
|
298
|
+
* @realm shared and menu
|
|
299
|
+
* @source https://wiki.facepunch.com/gmod/Vector:Random
|
|
300
|
+
*/
|
|
301
|
+
Random(self: Vector, min?: number, max?: number): void;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
interface Vector {
|
|
305
|
+
/**
|
|
306
|
+
* Rotates a vector by the given angle.
|
|
307
|
+
* Doesn't return anything, but rather changes the original vector.
|
|
308
|
+
*
|
|
309
|
+
* @realm shared and menu
|
|
310
|
+
* @source https://wiki.facepunch.com/gmod/Vector:Rotate
|
|
311
|
+
*/
|
|
312
|
+
Rotate(self: Vector, rotation: Angle): void;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
interface Vector {
|
|
316
|
+
/**
|
|
317
|
+
* Copies the values from the second vector to the first vector.
|
|
318
|
+
* @realm shared and menu
|
|
319
|
+
* @source https://wiki.facepunch.com/gmod/Vector:Set
|
|
320
|
+
*/
|
|
321
|
+
Set(self: Vector, vector: Vector): void;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
interface Vector {
|
|
325
|
+
/**
|
|
326
|
+
* Sets the x, y, and z of the vector.
|
|
327
|
+
* @realm shared and menu
|
|
328
|
+
* @source https://wiki.facepunch.com/gmod/Vector:SetUnpacked
|
|
329
|
+
*/
|
|
330
|
+
SetUnpacked(self: Vector, x: number, y: number, z: number): void;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
interface Vector {
|
|
334
|
+
/**
|
|
335
|
+
* Substracts the values of the second vector from the orignal vector, this function can be used to avoid garbage collection.
|
|
336
|
+
* @realm shared and menu
|
|
337
|
+
* @source https://wiki.facepunch.com/gmod/Vector:Sub
|
|
338
|
+
*/
|
|
339
|
+
Sub(self: Vector, vector: Vector): void;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
interface Vector {
|
|
343
|
+
/**
|
|
344
|
+
* Translates the [Vector](https://wiki.facepunch.com/gmod/Vector) (values ranging from 0 to 1) into a [Color](https://wiki.facepunch.com/gmod/Color). This will also range the values from 0 - 1 to 0 - 255.
|
|
345
|
+
*
|
|
346
|
+
* x * 255 -> r
|
|
347
|
+
* y * 255 -> g
|
|
348
|
+
* z * 255 -> b
|
|
349
|
+
*
|
|
350
|
+
* This is the opposite of [Color:ToVector](https://wiki.facepunch.com/gmod/Color:ToVector)
|
|
351
|
+
*
|
|
352
|
+
* @realm shared
|
|
353
|
+
* @source https://wiki.facepunch.com/gmod/Vector:ToColor
|
|
354
|
+
*/
|
|
355
|
+
ToColor(self: Vector): Color;
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
interface Vector {
|
|
359
|
+
/**
|
|
360
|
+
* Returns where on the screen the specified position vector would appear. A related function is [gui.ScreenToVector](https://wiki.facepunch.com/gmod/gui.ScreenToVector), which converts a 2D coordinate to a 3D direction.
|
|
361
|
+
*
|
|
362
|
+
* **NOTE**: Should be called from a 3D rendering environment or after [cam.Start3D](https://wiki.facepunch.com/gmod/cam.Start3D) or it may not work correctly.
|
|
363
|
+
*
|
|
364
|
+
*
|
|
365
|
+
* Errors in a render hook can make this value incorrect until the player restarts their game.
|
|
366
|
+
*
|
|
367
|
+
* [cam.Start3D](https://wiki.facepunch.com/gmod/cam.Start3D) or 3D context [cam.Start](https://wiki.facepunch.com/gmod/cam.Start) with non-default parameters incorrectly sets the reference FOV for this function, causing incorrect return values. This can be fixed by creating and ending a default 3D context ([cam.Start3D](https://wiki.facepunch.com/gmod/cam.Start3D) with no arguments).
|
|
368
|
+
*
|
|
369
|
+
* @realm client
|
|
370
|
+
* @source https://wiki.facepunch.com/gmod/Vector:ToScreen
|
|
371
|
+
*/
|
|
372
|
+
ToScreen(self: Vector): ToScreenData;
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
interface Vector {
|
|
376
|
+
/**
|
|
377
|
+
* Returns the vector as a table with three elements.
|
|
378
|
+
* @realm shared and menu
|
|
379
|
+
* @source https://wiki.facepunch.com/gmod/Vector:ToTable
|
|
380
|
+
*/
|
|
381
|
+
ToTable(self: Vector): table;
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
interface Vector {
|
|
385
|
+
/**
|
|
386
|
+
* Returns the x, y, and z of the vector.
|
|
387
|
+
* @realm shared and menu
|
|
388
|
+
* @source https://wiki.facepunch.com/gmod/Vector:Unpack
|
|
389
|
+
*/
|
|
390
|
+
Unpack(self: Vector): (number, number, number);
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
interface Vector {
|
|
394
|
+
/**
|
|
395
|
+
* Returns whenever the given vector is in a box created by the 2 other vectors.
|
|
396
|
+
*
|
|
397
|
+
*
|
|
398
|
+
*
|
|
399
|
+
* @realm shared and menu
|
|
400
|
+
* @source https://wiki.facepunch.com/gmod/Vector:WithinAABox
|
|
401
|
+
*/
|
|
402
|
+
WithinAABox(self: Vector, boxStart: Vector, boxEnd: Vector): boolean;
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
interface Vector {
|
|
406
|
+
/**
|
|
407
|
+
* Sets x, y and z to 0.
|
|
408
|
+
* @realm shared and menu
|
|
409
|
+
* @source https://wiki.facepunch.com/gmod/Vector:Zero
|
|
410
|
+
*/
|
|
411
|
+
Zero(self: Vector): void;
|
|
412
|
+
}
|
|
413
|
+
|