@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
@@ -0,0 +1,10 @@
1
+ // AUTO-GENERATED tlua declarations. Do not edit by hand.
2
+
3
+ /**
4
+ * Base panel used by [DFrame](https://wiki.facepunch.com/gmod/DFrame), this panel is needed so that elements such as the [TextEntry](https://wiki.facepunch.com/gmod/TextEntry) can obtain focus.
5
+ *
6
+ * @realm client
7
+ * @source https://wiki.facepunch.com/gmod/EditablePanel
8
+ */
9
+ interface EditablePanel extends Panel {}
10
+
package/effect.d.tlua ADDED
@@ -0,0 +1,121 @@
1
+ // AUTO-GENERATED tlua declarations. Do not edit by hand.
2
+
3
+ /**
4
+ * These hooks are used inside of a Lua effect. Lua effects are stored in either the `/lua/effects` directory or in a gamemode in `/gamemodes//entities/effects`.
5
+ *
6
+ * Effects are entities with the classname `class CLuaEffect`, and as such, [Entity](https://wiki.facepunch.com/gmod/Entity) functions are usable on them (using the `self` argument).
7
+ *
8
+ * An `EFFECT` is made using either a combination of the [EFFECT:Init](https://wiki.facepunch.com/gmod/EFFECT:Init), [EFFECT:Render](https://wiki.facepunch.com/gmod/EFFECT:Render) and optionally the [EFFECT:Think](https://wiki.facepunch.com/gmod/EFFECT:Think) hook. Another way is to create all particles in one go in the `Init` hook and don't use the other hooks at all.
9
+ *
10
+ * Creates a particle effect using a combination of the Init and the Think hooks.
11
+ *
12
+ * function EFFECT:Init( data )
13
+ * -- Because CEffectData is a shared object, we can't just store it and use its' properties later
14
+ * -- Instead, we store the properties themselves
15
+ * self.offset = data:GetOrigin() + Vector( 0, 0, 0.2 )
16
+ * self.angles = data:GetAngles()
17
+ * self.particles = 4
18
+ * end
19
+ *
20
+ * function EFFECT:Think()
21
+ * return true
22
+ * end
23
+ *
24
+ * function EFFECT:Render()
25
+ * local emitter = ParticleEmitter( self.offset, false )
26
+ * for i=0, self.particles do
27
+ * local particle = emitter:Add( "effects/softglow", self.offset )
28
+ * if particle then
29
+ * particle:SetAngles( self.angles )
30
+ * particle:SetVelocity( Vector( 0, 0, 15 ) )
31
+ * particle:SetColor( 255, 102, 0 )
32
+ * particle:SetLifeTime( 0 )
33
+ * particle:SetDieTime( 0.2 )
34
+ * particle:SetStartAlpha( 255 )
35
+ * particle:SetEndAlpha( 0 )
36
+ * particle:SetStartSize( 1.6 )
37
+ * particle:SetStartLength( 1 )
38
+ * particle:SetEndSize( 1.2 )
39
+ * particle:SetEndLength( 4 )
40
+ * end
41
+ * end
42
+ * emitter:Finish()
43
+ * end
44
+ *
45
+ *
46
+ *
47
+ *
48
+ *
49
+ *
50
+ * Creates a particle effect using only the Init hook. To use this effect in a loop one needs to create a new instance of this effect every drawn frame.
51
+ *
52
+ * function EFFECT:Init( data )
53
+ * local vOffset = data:GetOrigin() + Vector( 0, 0, 0.2 )
54
+ * local vAngle = data:GetAngles()
55
+ * local emitter = ParticleEmitter( vOffset, false )
56
+ * for i=0,4 do
57
+ * local particle = emitter:Add( "effects/softglow", vOffset )
58
+ * if particle then
59
+ * particle:SetAngles( vAngle )
60
+ * particle:SetVelocity( Vector( 0, 0, 15 ) )
61
+ * particle:SetColor( 255, 102, 0 )
62
+ * particle:SetLifeTime( 0 )
63
+ * particle:SetDieTime( 0.2 )
64
+ * particle:SetStartAlpha( 255 )
65
+ * particle:SetEndAlpha( 0 )
66
+ * particle:SetStartSize( 1.6 )
67
+ * particle:SetStartLength( 1 )
68
+ * particle:SetEndSize( 1.2 )
69
+ * particle:SetEndLength( 4 )
70
+ * end
71
+ * end
72
+ * emitter:Finish()
73
+ * end
74
+ *
75
+ * function EFFECT:Think()
76
+ * return false
77
+ * end
78
+ *
79
+ * function EFFECT:Render()
80
+ * end
81
+ *
82
+ *
83
+ *
84
+ *
85
+ * @source https://wiki.facepunch.com/gmod/EFFECT_Hooks
86
+ */
87
+ interface EFFECT extends Entity {}
88
+
89
+ interface EFFECT {
90
+ /**
91
+ * Used to get the "real" start position of a trace, for weapon tracer effects.
92
+ *
93
+ * "real" meaning in 3rd person, the 3rd person position will be used, in first person the first person position will be used.
94
+ *
95
+ * @realm client
96
+ * @source https://wiki.facepunch.com/gmod/EFFECT:GetTracerShootPos
97
+ */
98
+ GetTracerShootPos(self: EFFECT, pos: Vector, ent: Weapon, attachment: number): Vector;
99
+ }
100
+
101
+ interface EFFECT {
102
+ /**
103
+ * Called when the effect is created.
104
+ * @realm client
105
+ * @source https://wiki.facepunch.com/gmod/EFFECT:Init
106
+ */
107
+ Init(self: EFFECT, effectData: CEffectData): void;
108
+ }
109
+
110
+ interface EFFECT {
111
+ /**
112
+ * Called when the effect should be rendered.
113
+ *
114
+ * When not overridden, it will perform default action, which is [Entity:DrawModel](https://wiki.facepunch.com/gmod/Entity:DrawModel).
115
+ *
116
+ * @realm client
117
+ * @source https://wiki.facepunch.com/gmod/EFFECT:Render
118
+ */
119
+ Render(self: EFFECT): void;
120
+ }
121
+
package/effects.d.tlua ADDED
@@ -0,0 +1,77 @@
1
+ // AUTO-GENERATED tlua declarations. Do not edit by hand.
2
+
3
+ /**
4
+ * The effects library allows you to manually add scripted effects.
5
+ * @source https://wiki.facepunch.com/gmod/Effects
6
+ */
7
+ declare effects: EffectsLib;
8
+
9
+ interface EffectsLib {
10
+ /**
11
+ * Creates a "beam ring point" effect.
12
+ * @realm shared
13
+ * @source https://wiki.facepunch.com/gmod/effects.BeamRingPoint
14
+ */
15
+ BeamRingPoint(pos: Vector, lifetime: number, startRad: number, endRad: number, width: number, amplitude: number, color: Color, extra: table): void;
16
+ }
17
+
18
+ interface EffectsLib {
19
+ /**
20
+ * Creates a bubble trail effect, the very same you get when shooting underwater.
21
+ * @realm shared
22
+ * @source https://wiki.facepunch.com/gmod/effects.BubbleTrail
23
+ */
24
+ BubbleTrail(startPos: Vector, endPos: Vector, count: number, height: number, speed?: number, delay?: number): void;
25
+ }
26
+
27
+ interface EffectsLib {
28
+ /**
29
+ * Creates a bunch of bubbles inside a defined box.
30
+ * @realm shared
31
+ * @source https://wiki.facepunch.com/gmod/effects.Bubbles
32
+ */
33
+ Bubbles(mins: Vector, maxs: Vector, count: number, height: number, speed?: number, delay?: number): void;
34
+ }
35
+
36
+ interface EffectsLib {
37
+ /**
38
+ * **INTERNAL**: You are looking for [util.Effect](https://wiki.facepunch.com/gmod/util.Effect).
39
+ * Returns the table of the effect specified.
40
+ * @realm client
41
+ * @source https://wiki.facepunch.com/gmod/effects.Create
42
+ */
43
+ Create(name: string): table;
44
+ }
45
+
46
+ interface EffectsLib {
47
+ /**
48
+ * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
49
+ * Returns a list of all Lua-defined effects.
50
+ * @realm client
51
+ * @source https://wiki.facepunch.com/gmod/effects.GetList
52
+ */
53
+ GetList(): table;
54
+ }
55
+
56
+ interface EffectsLib {
57
+ /**
58
+ * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
59
+ * Registers a new effect.
60
+ * @realm client
61
+ * @source https://wiki.facepunch.com/gmod/effects.Register
62
+ */
63
+ Register(effect_table: table, name: string): void;
64
+ }
65
+
66
+ interface EffectsLib {
67
+ /**
68
+ * Imitates the "near miss" tracer sound, with the ability to override the sound played.
69
+ *
70
+ * The frequency of the sound is limited internally, as to not overwhelm the player. (same as normal tracers)
71
+ *
72
+ * @realm client
73
+ * @source https://wiki.facepunch.com/gmod/effects.TracerSound
74
+ */
75
+ TracerSound(start: Vector, endpos: Vector, tracerType?: number, soundOverride?: string): void;
76
+ }
77
+
package/engine.d.tlua ADDED
@@ -0,0 +1,248 @@
1
+ // AUTO-GENERATED tlua declarations. Do not edit by hand.
2
+
3
+ /**
4
+ * The engine library provides functions to access various features in the game's engine, most are related to the demo and save systems.
5
+ * @source https://wiki.facepunch.com/gmod/engine
6
+ */
7
+ declare engine: EngineLib;
8
+
9
+ interface EngineLib {
10
+ /**
11
+ * Returns non paused [Global.FrameTime](https://wiki.facepunch.com/gmod/Global.FrameTime).
12
+ * @realm shared
13
+ * @source https://wiki.facepunch.com/gmod/engine.AbsoluteFrameTime
14
+ */
15
+ AbsoluteFrameTime(): number;
16
+ }
17
+
18
+ interface EngineLib {
19
+ /**
20
+ * Returns the name of the currently running gamemode.
21
+ * @realm shared and menu
22
+ * @source https://wiki.facepunch.com/gmod/engine.ActiveGamemode
23
+ */
24
+ ActiveGamemode(): string;
25
+ }
26
+
27
+ interface EngineLib {
28
+ /**
29
+ * Closes the server and completely exits.
30
+ *
31
+ * To enable this function for use on your server, add `-allowquit` to your commandline, which will make this function run `quit keep_players` when executed, this also does not forcibly disconnect players.
32
+ *
33
+ * This is also available when running in server test mode (launch option `-systemtest`). Server test mode is used internally at Facepunch as part of the build process to make sure that the dedicated servers aren't crashing on startup.
34
+ *
35
+ *
36
+ * @realm server
37
+ * @source https://wiki.facepunch.com/gmod/engine.CloseServer
38
+ */
39
+ CloseServer(): void;
40
+ }
41
+
42
+ interface EngineLib {
43
+ /**
44
+ * Returns a list of addons the player have subscribed to on the workshop.
45
+ *
46
+ * This list will also include "Floating" .gma addons that are mounted by the game, but not the folder addons.
47
+ *
48
+ * @realm shared and menu
49
+ * @source https://wiki.facepunch.com/gmod/engine.GetAddons
50
+ */
51
+ GetAddons(): table;
52
+ }
53
+
54
+ interface EngineLib {
55
+ /**
56
+ * When starting playing a demo, [engine.GetDemoPlaybackTick](https://wiki.facepunch.com/gmod/engine.GetDemoPlaybackTick) will be reset and its old value will be added to this functions return value.
57
+ * @realm client and menu
58
+ * @source https://wiki.facepunch.com/gmod/engine.GetDemoPlaybackStartTick
59
+ */
60
+ GetDemoPlaybackStartTick(): number;
61
+ }
62
+
63
+ interface EngineLib {
64
+ /**
65
+ * Current tick of currently loaded demo.
66
+ *
67
+ * If not playing a demo, it will return amount of ticks since last demo playback.
68
+ *
69
+ * @realm client and menu
70
+ * @source https://wiki.facepunch.com/gmod/engine.GetDemoPlaybackTick
71
+ */
72
+ GetDemoPlaybackTick(): number;
73
+ }
74
+
75
+ interface EngineLib {
76
+ /**
77
+ * Returns time scale of demo playback.
78
+ *
79
+ * If not during demo playback, returns 1.
80
+ *
81
+ * @realm client and menu
82
+ * @source https://wiki.facepunch.com/gmod/engine.GetDemoPlaybackTimeScale
83
+ */
84
+ GetDemoPlaybackTimeScale(): number;
85
+ }
86
+
87
+ interface EngineLib {
88
+ /**
89
+ * Returns total amount of ticks of currently loaded demo.
90
+ *
91
+ * If not playing a demo, returns 0 or the value of last played demo.
92
+ *
93
+ * @realm client and menu
94
+ * @source https://wiki.facepunch.com/gmod/engine.GetDemoPlaybackTotalTicks
95
+ */
96
+ GetDemoPlaybackTotalTicks(): number;
97
+ }
98
+
99
+ interface EngineLib {
100
+ /**
101
+ * Returns a table containing info for all installed gamemodes.
102
+ * @realm shared and menu
103
+ * @source https://wiki.facepunch.com/gmod/engine.GetGamemodes
104
+ */
105
+ GetGamemodes(): table;
106
+ }
107
+
108
+ interface EngineLib {
109
+ /**
110
+ * Returns an array of tables corresponding to all games from which Garry's Mod supports mounting content.
111
+ * @realm shared and menu
112
+ * @source https://wiki.facepunch.com/gmod/engine.GetGames
113
+ */
114
+ GetGames(): table;
115
+ }
116
+
117
+ interface EngineLib {
118
+ /**
119
+ * Returns the UGC (demos, saves and dupes) the player have subscribed to on the workshop.
120
+ *
121
+ * @realm client and menu
122
+ * @source https://wiki.facepunch.com/gmod/engine.GetUserContent
123
+ * @deprecated Used internally for in-game menus, may be merged in the future into engine.GetAddons.
124
+ */
125
+ GetUserContent(): table;
126
+ }
127
+
128
+ interface EngineLib {
129
+ /**
130
+ * Returns true if we're currently playing a demo.
131
+ *
132
+ * You will notice that there's no server-side version of this. That's because there is no server when playing a demo. Demos are both recorded and played back purely clientside.
133
+ *
134
+ * @realm client and menu
135
+ * @source https://wiki.facepunch.com/gmod/engine.IsPlayingDemo
136
+ */
137
+ IsPlayingDemo(): boolean;
138
+ }
139
+
140
+ interface EngineLib {
141
+ /**
142
+ * Returns true if the game is currently recording a demo file (.dem) using gm_demo.
143
+ * @realm client and menu
144
+ * @source https://wiki.facepunch.com/gmod/engine.IsRecordingDemo
145
+ */
146
+ IsRecordingDemo(): boolean;
147
+ }
148
+
149
+ interface EngineLib {
150
+ /**
151
+ * This is a direct binding to the function `engine->LightStyle`. This function allows you to change the default light style of the map - so you can make lighting lighter or darker. You’ll need to call [render.RedownloadAllLightmaps](https://wiki.facepunch.com/gmod/render.RedownloadAllLightmaps) clientside to refresh the lightmaps to this new color.
152
+ *
153
+ * Calling this function with arguments 0 and "a" will cause dynamic lights such as those produced by the Light tool to stop working.
154
+ *
155
+ * @realm server
156
+ * @source https://wiki.facepunch.com/gmod/engine.LightStyle
157
+ */
158
+ LightStyle(lightstyle: number, pattern: string): void;
159
+ }
160
+
161
+ interface EngineLib {
162
+ /**
163
+ * Loads a duplication from the local filesystem.
164
+ * @realm client
165
+ * @source https://wiki.facepunch.com/gmod/engine.OpenDupe
166
+ */
167
+ OpenDupe(dupeName: string): table;
168
+ }
169
+
170
+ interface EngineLib {
171
+ /**
172
+ * Returns an estimate of the server's performance. Equivalent to calling [Global.FrameTime](https://wiki.facepunch.com/gmod/Global.FrameTime) from the server, according to source code.
173
+ * @realm client
174
+ * @source https://wiki.facepunch.com/gmod/engine.ServerFrameTime
175
+ */
176
+ ServerFrameTime(): (number, number);
177
+ }
178
+
179
+ interface EngineLib {
180
+ /**
181
+ * Sets the mounting options for mountable content.
182
+ * @realm menu
183
+ * @source https://wiki.facepunch.com/gmod/engine.SetMounted
184
+ */
185
+ SetMounted(depotID: string, doMount: boolean): void;
186
+ }
187
+
188
+ interface EngineLib {
189
+ /**
190
+ * Returns the number of ticks since the game server started.
191
+ * @realm shared and menu
192
+ * @source https://wiki.facepunch.com/gmod/engine.TickCount
193
+ */
194
+ TickCount(): number;
195
+ }
196
+
197
+ interface EngineLib {
198
+ /**
199
+ * Returns the time interval between each game tick in seconds.
200
+ *
201
+ * This function is useful for making animations (usually serverside, such as doors rotating) and similar things to be independent of the tickrate in hooks that run at the tick rate, such as [GM:Tick](https://wiki.facepunch.com/gmod/GM:Tick).
202
+ *
203
+ * Clientside you'd want to use [Global.FrameTime](https://wiki.facepunch.com/gmod/Global.FrameTime) for this purpose in hooks that run every frame.
204
+ *
205
+ * The default tickrate is `66.6666`, aka `15` milliseconds interval between each game tick.
206
+ * The tickrate can be adjusted via the `-tickrate` [command line option](https://wiki.facepunch.com/gmod/Command_Line_Parameters).
207
+ *
208
+ * @realm shared and menu
209
+ * @source https://wiki.facepunch.com/gmod/engine.TickInterval
210
+ */
211
+ TickInterval(): number;
212
+ }
213
+
214
+ interface EngineLib {
215
+ /**
216
+ * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
217
+ *
218
+ *
219
+ * Returns video recording settings set by [video.Record](https://wiki.facepunch.com/gmod/video.Record). Used by Demo-To-Video feature.
220
+ * @realm client
221
+ * @source https://wiki.facepunch.com/gmod/engine.VideoSettings
222
+ */
223
+ VideoSettings(): table;
224
+ }
225
+
226
+ interface EngineLib {
227
+ /**
228
+ * **INTERNAL**: Do not use.
229
+ *
230
+ *
231
+ * Saves a duplication as a file.
232
+ * @realm client
233
+ * @source https://wiki.facepunch.com/gmod/engine.WriteDupe
234
+ */
235
+ WriteDupe(dupe: string, jpeg: string): void;
236
+ }
237
+
238
+ interface EngineLib {
239
+ /**
240
+ * **INTERNAL**: Do not use.
241
+ *
242
+ * Stores savedata into the game. (can be loaded using the LoadGame menu)
243
+ * @realm client
244
+ * @source https://wiki.facepunch.com/gmod/engine.WriteSave
245
+ */
246
+ WriteSave(saveData: string, name: string): void;
247
+ }
248
+