@amxts/core 0.1.0

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 (247) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +162 -0
  3. package/README.ru.md +162 -0
  4. package/amxmodx/base/include/amxconst.inc +594 -0
  5. package/amxmodx/base/include/amxmisc.inc +902 -0
  6. package/amxmodx/base/include/amxmodx.inc +3447 -0
  7. package/amxmodx/base/include/amxmodx_version.inc +20 -0
  8. package/amxmodx/base/include/cellarray.inc +525 -0
  9. package/amxmodx/base/include/cellstack.inc +166 -0
  10. package/amxmodx/base/include/celltrie.inc +412 -0
  11. package/amxmodx/base/include/core.inc +202 -0
  12. package/amxmodx/base/include/csstats.inc +298 -0
  13. package/amxmodx/base/include/csstats_const.inc +29 -0
  14. package/amxmodx/base/include/cstrike.inc +1287 -0
  15. package/amxmodx/base/include/cstrike_const.inc +521 -0
  16. package/amxmodx/base/include/csx.inc +259 -0
  17. package/amxmodx/base/include/cvars.inc +547 -0
  18. package/amxmodx/base/include/datapack.inc +161 -0
  19. package/amxmodx/base/include/dbi.inc +154 -0
  20. package/amxmodx/base/include/dodconst.inc +152 -0
  21. package/amxmodx/base/include/dodfun.inc +152 -0
  22. package/amxmodx/base/include/dodstats.inc +69 -0
  23. package/amxmodx/base/include/dodx.inc +161 -0
  24. package/amxmodx/base/include/engine.inc +1343 -0
  25. package/amxmodx/base/include/engine_const.inc +310 -0
  26. package/amxmodx/base/include/engine_stocks.inc +248 -0
  27. package/amxmodx/base/include/esf.inc +70 -0
  28. package/amxmodx/base/include/esf_const.inc +74 -0
  29. package/amxmodx/base/include/fakemeta.inc +1127 -0
  30. package/amxmodx/base/include/fakemeta_const.inc +793 -0
  31. package/amxmodx/base/include/fakemeta_stocks.inc +395 -0
  32. package/amxmodx/base/include/fakemeta_util.inc +882 -0
  33. package/amxmodx/base/include/file.inc +666 -0
  34. package/amxmodx/base/include/float.inc +422 -0
  35. package/amxmodx/base/include/fun.inc +333 -0
  36. package/amxmodx/base/include/gameconfig.inc +93 -0
  37. package/amxmodx/base/include/geoip.inc +264 -0
  38. package/amxmodx/base/include/ham_const.inc +4352 -0
  39. package/amxmodx/base/include/hamsandwich.inc +439 -0
  40. package/amxmodx/base/include/hlsdk_const.inc +808 -0
  41. package/amxmodx/base/include/json.inc +777 -0
  42. package/amxmodx/base/include/lang.inc +119 -0
  43. package/amxmodx/base/include/message_const.inc +1130 -0
  44. package/amxmodx/base/include/message_stocks.inc +161 -0
  45. package/amxmodx/base/include/messages.inc +604 -0
  46. package/amxmodx/base/include/newmenus.inc +387 -0
  47. package/amxmodx/base/include/ns.inc +754 -0
  48. package/amxmodx/base/include/ns_const.inc +196 -0
  49. package/amxmodx/base/include/nvault.inc +154 -0
  50. package/amxmodx/base/include/regex.inc +348 -0
  51. package/amxmodx/base/include/sockets.inc +183 -0
  52. package/amxmodx/base/include/sorting.inc +107 -0
  53. package/amxmodx/base/include/sqlx.inc +582 -0
  54. package/amxmodx/base/include/string.inc +786 -0
  55. package/amxmodx/base/include/string_const.inc +156 -0
  56. package/amxmodx/base/include/string_stocks.inc +325 -0
  57. package/amxmodx/base/include/textparse_ini.inc +214 -0
  58. package/amxmodx/base/include/textparse_smc.inc +261 -0
  59. package/amxmodx/base/include/tfcconst.inc +84 -0
  60. package/amxmodx/base/include/tfcstats.inc +62 -0
  61. package/amxmodx/base/include/tfcx.inc +148 -0
  62. package/amxmodx/base/include/time.inc +118 -0
  63. package/amxmodx/base/include/tsconst.inc +154 -0
  64. package/amxmodx/base/include/tsfun.inc +198 -0
  65. package/amxmodx/base/include/tsstats.inc +65 -0
  66. package/amxmodx/base/include/tsx.inc +88 -0
  67. package/amxmodx/base/include/vault.inc +60 -0
  68. package/amxmodx/base/include/vector.inc +131 -0
  69. package/amxmodx/base/include/xs.inc +1570 -0
  70. package/as/amxts.d.ts +153 -0
  71. package/as/constants.ts +4730 -0
  72. package/as/effects.ts +1449 -0
  73. package/as/entities.ts +5482 -0
  74. package/as/events.ts +3054 -0
  75. package/as/facade.ts +4639 -0
  76. package/as/flags.ts +299 -0
  77. package/as/fs.ts +287 -0
  78. package/as/hooks.ts +18536 -0
  79. package/as/kit.ts +25 -0
  80. package/as/lib/check.ts +86 -0
  81. package/as/modules/http.ts +184 -0
  82. package/as/natives.ts +11845 -0
  83. package/as/os.ts +30 -0
  84. package/as/promise.ts +1392 -0
  85. package/as/promise.types.d.ts +82 -0
  86. package/as/remote.ts +288 -0
  87. package/as/tsconfig.json +22 -0
  88. package/as/vector.ts +65 -0
  89. package/bin/amxts.mjs +10 -0
  90. package/includes/menu_core.inc +355 -0
  91. package/includes/order.txt +54 -0
  92. package/includes/sources.json +27 -0
  93. package/includes/universal_config.inc +355 -0
  94. package/lint/oxlint-plugin.mjs +77 -0
  95. package/node_modules/assemblyscript/LICENSE +201 -0
  96. package/node_modules/assemblyscript/NOTICE +93 -0
  97. package/node_modules/assemblyscript/package.json +63 -0
  98. package/node_modules/assemblyscript/std/README.md +6 -0
  99. package/node_modules/assemblyscript/std/assembly/array.ts +526 -0
  100. package/node_modules/assemblyscript/std/assembly/arraybuffer.ts +77 -0
  101. package/node_modules/assemblyscript/std/assembly/atomics.ts +127 -0
  102. package/node_modules/assemblyscript/std/assembly/bindings/asyncify.ts +16 -0
  103. package/node_modules/assemblyscript/std/assembly/bindings/dom.ts +291 -0
  104. package/node_modules/assemblyscript/std/assembly/bindings/node.ts +6 -0
  105. package/node_modules/assemblyscript/std/assembly/builtins.ts +2631 -0
  106. package/node_modules/assemblyscript/std/assembly/compat.ts +2 -0
  107. package/node_modules/assemblyscript/std/assembly/console.ts +42 -0
  108. package/node_modules/assemblyscript/std/assembly/crypto.ts +9 -0
  109. package/node_modules/assemblyscript/std/assembly/dataview.ts +181 -0
  110. package/node_modules/assemblyscript/std/assembly/date.ts +373 -0
  111. package/node_modules/assemblyscript/std/assembly/diagnostics.ts +11 -0
  112. package/node_modules/assemblyscript/std/assembly/error.ts +44 -0
  113. package/node_modules/assemblyscript/std/assembly/function.ts +38 -0
  114. package/node_modules/assemblyscript/std/assembly/index.d.ts +2822 -0
  115. package/node_modules/assemblyscript/std/assembly/iterator.ts +35 -0
  116. package/node_modules/assemblyscript/std/assembly/map.ts +260 -0
  117. package/node_modules/assemblyscript/std/assembly/math.ts +3289 -0
  118. package/node_modules/assemblyscript/std/assembly/memory.ts +123 -0
  119. package/node_modules/assemblyscript/std/assembly/number.ts +388 -0
  120. package/node_modules/assemblyscript/std/assembly/object.ts +36 -0
  121. package/node_modules/assemblyscript/std/assembly/performance.ts +9 -0
  122. package/node_modules/assemblyscript/std/assembly/polyfills.ts +27 -0
  123. package/node_modules/assemblyscript/std/assembly/process.ts +50 -0
  124. package/node_modules/assemblyscript/std/assembly/reference.ts +48 -0
  125. package/node_modules/assemblyscript/std/assembly/regexp.ts +12 -0
  126. package/node_modules/assemblyscript/std/assembly/rt/README.md +83 -0
  127. package/node_modules/assemblyscript/std/assembly/rt/common.ts +81 -0
  128. package/node_modules/assemblyscript/std/assembly/rt/index-incremental.ts +2 -0
  129. package/node_modules/assemblyscript/std/assembly/rt/index-minimal.ts +2 -0
  130. package/node_modules/assemblyscript/std/assembly/rt/index-stub.ts +1 -0
  131. package/node_modules/assemblyscript/std/assembly/rt/index.d.ts +37 -0
  132. package/node_modules/assemblyscript/std/assembly/rt/itcms.ts +419 -0
  133. package/node_modules/assemblyscript/std/assembly/rt/rtrace.ts +15 -0
  134. package/node_modules/assemblyscript/std/assembly/rt/stub.ts +133 -0
  135. package/node_modules/assemblyscript/std/assembly/rt/tcms.ts +254 -0
  136. package/node_modules/assemblyscript/std/assembly/rt/tlsf.ts +592 -0
  137. package/node_modules/assemblyscript/std/assembly/rt.ts +87 -0
  138. package/node_modules/assemblyscript/std/assembly/set.ts +220 -0
  139. package/node_modules/assemblyscript/std/assembly/shared/feature.ts +65 -0
  140. package/node_modules/assemblyscript/std/assembly/shared/runtime.ts +11 -0
  141. package/node_modules/assemblyscript/std/assembly/shared/target.ts +11 -0
  142. package/node_modules/assemblyscript/std/assembly/shared/tsconfig.json +11 -0
  143. package/node_modules/assemblyscript/std/assembly/shared/typeinfo.ts +72 -0
  144. package/node_modules/assemblyscript/std/assembly/staticarray.ts +401 -0
  145. package/node_modules/assemblyscript/std/assembly/string.ts +847 -0
  146. package/node_modules/assemblyscript/std/assembly/symbol.ts +114 -0
  147. package/node_modules/assemblyscript/std/assembly/table.ts +16 -0
  148. package/node_modules/assemblyscript/std/assembly/tsconfig.json +6 -0
  149. package/node_modules/assemblyscript/std/assembly/typedarray.ts +1945 -0
  150. package/node_modules/assemblyscript/std/assembly/uri.ts +17 -0
  151. package/node_modules/assemblyscript/std/assembly/util/bytes.ts +107 -0
  152. package/node_modules/assemblyscript/std/assembly/util/casemap.ts +497 -0
  153. package/node_modules/assemblyscript/std/assembly/util/error.ts +54 -0
  154. package/node_modules/assemblyscript/std/assembly/util/hash.ts +117 -0
  155. package/node_modules/assemblyscript/std/assembly/util/math.ts +1922 -0
  156. package/node_modules/assemblyscript/std/assembly/util/memory.ts +290 -0
  157. package/node_modules/assemblyscript/std/assembly/util/number.ts +873 -0
  158. package/node_modules/assemblyscript/std/assembly/util/sort.ts +313 -0
  159. package/node_modules/assemblyscript/std/assembly/util/string.ts +1202 -0
  160. package/node_modules/assemblyscript/std/assembly/util/uri.ts +275 -0
  161. package/node_modules/assemblyscript/std/assembly/vector.ts +4 -0
  162. package/node_modules/assemblyscript/std/assembly.json +16 -0
  163. package/node_modules/assemblyscript/std/portable/index.d.ts +462 -0
  164. package/node_modules/assemblyscript/std/portable/index.js +416 -0
  165. package/node_modules/assemblyscript/std/portable.json +11 -0
  166. package/node_modules/assemblyscript/std/types/assembly/index.d.ts +1 -0
  167. package/node_modules/assemblyscript/std/types/assembly/package.json +3 -0
  168. package/node_modules/assemblyscript/std/types/portable/index.d.ts +1 -0
  169. package/node_modules/assemblyscript/std/types/portable/package.json +3 -0
  170. package/node_modules/assemblyscript/tsconfig-base.json +13 -0
  171. package/package.json +112 -0
  172. package/runtime/deps/assemblyscript/LICENSE +201 -0
  173. package/runtime/deps/assemblyscript/NOTICE +93 -0
  174. package/runtime/deps/assemblyscript/bin/asc.js +35 -0
  175. package/runtime/deps/assemblyscript/dist/asc.js +25035 -0
  176. package/runtime/deps/assemblyscript/dist/assemblyscript.js +337 -0
  177. package/runtime/deps/assemblyscript/node_modules/binaryen/LICENSE +201 -0
  178. package/runtime/deps/assemblyscript/node_modules/binaryen/index.js +28905 -0
  179. package/runtime/deps/assemblyscript/node_modules/binaryen/package.json +50 -0
  180. package/runtime/deps/assemblyscript/node_modules/long/LICENSE +202 -0
  181. package/runtime/deps/assemblyscript/node_modules/long/index.js +1581 -0
  182. package/runtime/deps/assemblyscript/node_modules/long/package.json +58 -0
  183. package/runtime/deps/assemblyscript/package.json +114 -0
  184. package/runtime/host/amxts.inc +85 -0
  185. package/runtime/licenses/AMXX-LICENSE.txt +34 -0
  186. package/runtime/licenses/AssemblyScript-LICENSE +201 -0
  187. package/runtime/licenses/AssemblyScript-NOTICE +93 -0
  188. package/runtime/licenses/Binaryen-LICENSE +201 -0
  189. package/runtime/licenses/Bun-LICENSE.md +84 -0
  190. package/runtime/licenses/GPL-3.0.txt +674 -0
  191. package/runtime/licenses/LLVM-LICENSE.TXT +279 -0
  192. package/runtime/licenses/README.md +25 -0
  193. package/runtime/licenses/WAMR-LICENSE +219 -0
  194. package/runtime/natives.txt +1095 -0
  195. package/runtime/patches/README.md +59 -0
  196. package/runtime/patches/assemblyscript-0.28.20-amxts.patch +14174 -0
  197. package/runtime/patches/wamr-2.4.5-amxts.patch +364 -0
  198. package/scripts/apply-docs.ts +508 -0
  199. package/scripts/asc.ts +27 -0
  200. package/scripts/auto-imports.ts +258 -0
  201. package/scripts/build-wasm.ts +595 -0
  202. package/scripts/check.ts +93 -0
  203. package/scripts/compile-cache.ts +179 -0
  204. package/scripts/compile.ts +401 -0
  205. package/scripts/docker-server.ts +73 -0
  206. package/scripts/docs/as/amxts.ts +210 -0
  207. package/scripts/docs/as/effects.ts +1684 -0
  208. package/scripts/docs/as/facade.ts +3302 -0
  209. package/scripts/docs/as/fs.ts +173 -0
  210. package/scripts/docs/as/lib/check.ts +68 -0
  211. package/scripts/docs/as/modules/http.ts +66 -0
  212. package/scripts/docs/as/os.ts +16 -0
  213. package/scripts/docs/as/promise.ts +132 -0
  214. package/scripts/docs/as/promise.types.ts +63 -0
  215. package/scripts/docs/as/vector.ts +48 -0
  216. package/scripts/docs/entities.ts +2338 -0
  217. package/scripts/docs/events.ts +245 -0
  218. package/scripts/docs/game.ts +497 -0
  219. package/scripts/docs/messages.ts +148 -0
  220. package/scripts/file-contents.ts +74 -0
  221. package/scripts/includes.ts +134 -0
  222. package/scripts/player-fields.ts +866 -0
  223. package/scripts/plugin-cache.ts +92 -0
  224. package/scripts/plugin-natives.ts +1157 -0
  225. package/scripts/prebuilt.ts +268 -0
  226. package/scripts/prepare.ts +134 -0
  227. package/scripts/project.ts +973 -0
  228. package/scripts/run.ts +28 -0
  229. package/scripts/shared-modules.ts +906 -0
  230. package/scripts/system.ts +33 -0
  231. package/scripts/tracked-fs.ts +115 -0
  232. package/scripts/typed-configs.ts +788 -0
  233. package/scripts/ui.ts +77 -0
  234. package/src/cli-api.mjs +175 -0
  235. package/src/parser/include-parser.ts +506 -0
  236. package/src/system.mjs +155 -0
  237. package/src/testing/compile-cache.ts +31 -0
  238. package/src/testing/compile.ts +222 -0
  239. package/src/testing/coroutines.ts +191 -0
  240. package/src/testing/index.ts +39 -0
  241. package/src/testing/kits.ts +55 -0
  242. package/src/testing/memory.ts +125 -0
  243. package/src/testing/natives.ts +925 -0
  244. package/src/testing/server.ts +1874 -0
  245. package/src/testing/setup.ts +63 -0
  246. package/src/testing/tables.ts +139 -0
  247. package/src/types.ts +51 -0
@@ -0,0 +1,793 @@
1
+ // vim: set ts=4 sw=4 tw=99 noet:
2
+ //
3
+ // AMX Mod X, based on AMX Mod by Aleksander Naszko ("OLO").
4
+ // Copyright (C) The AMX Mod X Development Team.
5
+ //
6
+ // This software is licensed under the GNU General Public License, version 3 or higher.
7
+ // Additional exceptions apply. For full license details, see LICENSE.txt or visit:
8
+ // https://alliedmods.net/amxmodx-license
9
+
10
+ //
11
+ // Fakemeta Constants
12
+ //
13
+
14
+ #if defined _fakemeta_const_included
15
+ #endinput
16
+ #endif
17
+ #define _fakemeta_const_included
18
+
19
+ // For forward_return
20
+ #define FMV_STRING 1
21
+ #define FMV_FLOAT 2
22
+ #define FMV_CELL 3
23
+
24
+ #include <hlsdk_const>
25
+
26
+ /* The actual return value of the function, use these instead of PLUGIN_HANDLED etc when
27
+ * returning from registered forwards.
28
+ */
29
+ #define FMRES_IGNORED 1 // Calls target function, returns normal value
30
+ #define FMRES_HANDLED 2 // Tells metamod you did something, still calls target function and returns normal value
31
+ #define FMRES_OVERRIDE 3 // Supposed to still call the target function but return your value instead
32
+ // however this does not work properly with metamod; use supercede instead.
33
+ #define FMRES_SUPERCEDE 4 // Block the target call, and use your return value (if applicable)
34
+
35
+ // Use this with GetInfoKeyBuffer if you want the server's localinfo buffer
36
+ #define FM_NULLENT -1
37
+
38
+
39
+ /* Used with engfunc()
40
+ */
41
+ enum {
42
+ EngFunc_PrecacheModel, // int ) (char *s);
43
+ EngFunc_PrecacheSound, // int ) (char *s);
44
+ EngFunc_SetModel, // void ) (edict_t *e, const char *m);
45
+ EngFunc_ModelIndex, // int ) (const char *m);
46
+ EngFunc_ModelFrames, // int ) (int modelIndex);
47
+ EngFunc_SetSize, // void ) (edict_t *e, const float *rgflMin, const float *rgflMax);
48
+ EngFunc_ChangeLevel, // void ) (char* s1, char* s2);
49
+ EngFunc_VecToYaw, // float) (const float *rgflVector);
50
+ EngFunc_VecToAngles, // void ) (const float *rgflVectorIn, float *rgflVectorOut);
51
+ EngFunc_MoveToOrigin, // void ) (edict_t *ent, const float *pflGoal, float dist, int iMoveType);
52
+ EngFunc_ChangeYaw, // void ) (edict_t* ent);
53
+ EngFunc_ChangePitch, // void ) (edict_t* ent);
54
+ EngFunc_FindEntityByString, // edict) (edict_t *pEdictStartSearchAfter, const char *pszField, const char *pszValue);
55
+ EngFunc_GetEntityIllum, // int ) (edict_t* pEnt);
56
+ EngFunc_FindEntityInSphere, // edict) (edict_t *pEdictStartSearchAfter, const float *org, float rad);
57
+ EngFunc_FindClientInPVS, // edict) (edict_t *pEdict);
58
+ EngFunc_EntitiesInPVS, // edict) (edict_t *pplayer);
59
+ EngFunc_MakeVectors, // void ) (const float *rgflVector);
60
+ EngFunc_AngleVectors, // void ) (const float *rgflVector, float *forward, float *right, float *up);
61
+ EngFunc_CreateEntity, // edict) (void);
62
+ EngFunc_RemoveEntity, // void ) (edict_t *e);
63
+ EngFunc_CreateNamedEntity, // edict) (int className);
64
+ EngFunc_MakeStatic, // void ) (edict_t *ent);
65
+ EngFunc_EntIsOnFloor, // int ) (edict_t *e);
66
+ EngFunc_DropToFloor, // int ) (edict_t *e);
67
+ EngFunc_WalkMove, // int ) (edict_t *ent, float yaw, float dist, int iMode);
68
+ EngFunc_SetOrigin, // void ) (edict_t *e, const float *rgflOrigin);
69
+ EngFunc_EmitSound, // void ) (edict_t *entity, int channel, const char *sample, float volume, float attenuation, int fFlags, int pitch);
70
+ EngFunc_EmitAmbientSound, // void ) (edict_t *entity, float *pos, const char *samp, float vol, float attenuation, int fFlags, int pitch);
71
+
72
+ //With 1.71 you can pass an optional TraceLine ptr for trace natives
73
+ // it can be 0, for meaning "global tr handle" (for get/set_tr2), or
74
+ // it can be any other TR handle (such as one from a TR hook)
75
+ EngFunc_TraceLine, // void ) (const float *v1, const float *v2, int fNoMonsters, edict_t *pentToSkip, TraceResult *ptr);
76
+ EngFunc_TraceToss, // void ) (edict_t *pent, edict_t *pentToIgnore, TraceResult *ptr);
77
+ EngFunc_TraceMonsterHull, // int ) (edict_t *pEdict, const float *v1, const float *v2, int fNoMonsters, edict_t *pentToSkip, TraceResult *ptr);
78
+ EngFunc_TraceHull, // void ) (const float *v1, const float *v2, int fNoMonsters, int hullNumber, edict_t *pentToSkip, TraceResult *ptr);
79
+ EngFunc_TraceModel, // void ) (const float *v1, const float *v2, int hullNumber, edict_t *pent, TraceResult *ptr);
80
+ EngFunc_TraceTexture, // const char *) (edict_t *pTextureEntity, const float *v1, const float *v2 );
81
+ EngFunc_TraceSphere, // void ) (const float *v1, const float *v2, int fNoMonsters, float radius, edict_t *pentToSkip, TraceResult *ptr);
82
+
83
+ EngFunc_GetAimVector, // void ) (edict_t *ent, float speed, float *rgflReturn);
84
+ EngFunc_ParticleEffect, // void ) (const float *org, const float *dir, float color, float count);
85
+ EngFunc_LightStyle, // void ) (int style, char *val);
86
+ EngFunc_DecalIndex, // int ) (const char *name);
87
+ EngFunc_PointContents, // int ) (const float *rgflVector);
88
+ EngFunc_FreeEntPrivateData, // void ) (edict_t *pEdict);
89
+ EngFunc_SzFromIndex, // const char *) (int iString);
90
+ EngFunc_AllocString, // int ) (const char *szValue);
91
+ EngFunc_RegUserMsg, // int ) (const char *pszName, int iSize);
92
+ EngFunc_AnimationAutomove, // void ) (const edict_t *pEdict, float flTime);
93
+ EngFunc_GetBonePosition, // void ) (const edict_t *pEdict, int iBone, float *rgflOrigin, float *rgflAngles);
94
+ EngFunc_GetAttachment, // void ) (const edict_t *pEdict, int iAttachment, float *rgflOrigin, float *rgflAngles);
95
+ EngFunc_SetView, // void ) (const edict_t *pClient, const edict_t *pViewent);
96
+ EngFunc_Time, // float) ( void );
97
+ EngFunc_CrosshairAngle, // void ) (const edict_t *pClient, float pitch, float yaw);
98
+ EngFunc_FadeClientVolume, // void ) (const edict_t *pEdict, int fadePercent, int fadeOutSeconds, int holdTime, int fadeInSeconds);
99
+ EngFunc_SetClientMaxspeed, // void ) (const edict_t *pEdict, float fNewMaxspeed);
100
+ EngFunc_CreateFakeClient, // edict) (const char *netname); // returns NULL if fake client can't be created
101
+ EngFunc_RunPlayerMove, // void ) (edict_t *fakeclient, const float *viewangles, float forwardmove, float sidemove, float upmove, unsigned short buttons, byte impulse, byte msec);
102
+ EngFunc_NumberOfEntities, // int ) ( void );
103
+ EngFunc_StaticDecal, // void ) (const float *origin, int decalIndex, int entityIndex, int modelIndex);
104
+ EngFunc_PrecacheGeneric, // int ) (char* s);
105
+ EngFunc_BuildSoundMsg, // void ) (edict_t *entity, int channel, const char *sample, /*int*/float volume, float attenuation, int fFlags, int pitch, int msg_dest, int msg_type, const float *pOrigin, edict_t *ed);
106
+ EngFunc_GetPhysicsKeyValue, // const char *) (const edict_t *pClient, const char *key);
107
+ EngFunc_SetPhysicsKeyValue, // void ) (const edict_t *pClient, const char *key, const char *value);
108
+ EngFunc_GetPhysicsInfoString, // const char *) (const edict_t *pClient);
109
+ EngFunc_PrecacheEvent, // unsigned short) (int type, const char*psz);
110
+ EngFunc_PlaybackEvent, // void ) (int flags, const edict_t *pInvoker, unsigned short eventindex, float delay, float *origin, float *angles, float fparam1, float fparam2, int iparam1, int iparam2, int bparam1, int bparam2);
111
+ EngFunc_CheckVisibility, // int ) (const edict_t *entity, unsigned char *pset);
112
+ EngFunc_GetCurrentPlayer, // int ) ( void );
113
+ EngFunc_CanSkipPlayer, // int ) (const edict_t *player);
114
+ EngFunc_SetGroupMask, // void ) (int mask, int op);
115
+ EngFunc_GetClientListening, // bool ) (int iReceiver, int iSender)
116
+ EngFunc_SetClientListening, // bool ) (int iReceiver, int iSender, bool Listen)
117
+ EngFunc_MessageBegin, // void ) (int msg_dest, int msg_type, const float *pOrigin, edict_t *ed)
118
+ EngFunc_WriteCoord, // void ) (float flValue)
119
+ EngFunc_WriteAngle, // void ) (float flValue)
120
+ EngFunc_InfoKeyValue, // char*) (char *infobuffer, char *key);
121
+ EngFunc_SetKeyValue, // void ) (char *infobuffer, char *key, char *value);
122
+ EngFunc_SetClientKeyValue, // void ) (int clientIndex, char *infobuffer, char *key, char *value);
123
+ EngFunc_CreateInstBaseline, // int ) (int classname, struct entity_state_s *baseline);
124
+
125
+ // Returns pointer to info buffer that can be used with the infobuffer param of InfoKeyValue, SetKeyValue, and SetClientKeyValue
126
+ EngFunc_GetInfoKeyBuffer, // char*) (edict_t *e);
127
+ EngFunc_AlertMessage, // void ) (ALERT_TYPE atype, char *szFmt, ...);
128
+ EngFunc_ClientPrintf, // void ) (edict_t* pEdict, PRINT_TYPE ptype, const char *szMsg);
129
+ EngFunc_ServerPrint // void ) (const char *szMsg);
130
+ };
131
+
132
+ /* Used with dllfunc()
133
+ */
134
+ enum
135
+ {
136
+ DLLFunc_GameInit, // void ) ( void );
137
+ DLLFunc_Spawn, // int ) (edict_t *pent);
138
+ DLLFunc_Think, // void ) (edict_t *pent);
139
+ DLLFunc_Use, // void ) (edict_t *pentUsed, edict_t *pentOther);
140
+ DLLFunc_Touch, // void ) (edict_t *pentTouched, edict_t *pentOther);
141
+ DLLFunc_Blocked, // void ) (edict_t *pentBlocked, edict_t *pentOther);
142
+
143
+ //You can pass in 0 for glb kvd handle or a kvd handle here
144
+ DLLFunc_KeyValue, // void ) (edict_t *pentKeyvalue, KeyValueData *pkvd);
145
+ DLLFunc_SetAbsBox, // void ) (edict_t *pent);
146
+ DLLFunc_ClientConnect, // bool ) (edict_t *pEntity, const char *pszName, const char *pszAddress, char szRejectReason[128]);
147
+
148
+ DLLFunc_ClientDisconnect, // void ) (edict_t *pEntity);
149
+ DLLFunc_ClientKill, // void ) (edict_t *pEntity);
150
+ DLLFunc_ClientPutInServer, // void ) (edict_t *pEntity);
151
+ DLLFunc_ClientCommand, // void ) (edict_t *pEntity);
152
+
153
+ DLLFunc_ServerDeactivate, // void ) ( void );
154
+
155
+ DLLFunc_PlayerPreThink, // void ) (edict_t *pEntity);
156
+ DLLFunc_PlayerPostThink, // void ) (edict_t *pEntity);
157
+
158
+ DLLFunc_StartFrame, // void ) ( void );
159
+ DLLFunc_ParmsNewLevel, // void ) ( void );
160
+ DLLFunc_ParmsChangeLevel, // void ) ( void );
161
+
162
+ // Returns string describing current .dll. E.g., TeamFotrress 2, Half-Life
163
+ // This also gets called when the server is queried for information (for example, by a server browser tool)
164
+ DLLFunc_GetGameDescription, // const char *) ( void );
165
+
166
+ // Spectator funcs
167
+ DLLFunc_SpectatorConnect, // void ) (edict_t *pEntity);
168
+ DLLFunc_SpectatorDisconnect, // void ) (edict_t *pEntity);
169
+ DLLFunc_SpectatorThink, // void ) (edict_t *pEntity);
170
+
171
+ // Notify game .dll that engine is going to shut down. Allows mod authors to set a breakpoint.
172
+ DLLFunc_Sys_Error, // void ) (const char *error_string);
173
+
174
+ DLLFunc_PM_FindTextureType, // char ) (char *name);
175
+ DLLFunc_RegisterEncoders, // void ) ( void );
176
+
177
+ // Enumerates player hulls. Returns 0 if the hull number doesn't exist, 1 otherwise
178
+ DLLFunc_GetHullBounds, // int ) (int hullnumber, float *mins, float *maxs);
179
+
180
+ // Create baselines for certain "unplaced" items.
181
+ DLLFunc_CreateInstBaselines, // void ) ( void );
182
+ DLLFunc_pfnAllowLagCompensation, // int ) ( void );
183
+ // I know this does not fit with DLLFUNC(), but I don't want another native just for it.
184
+ MetaFunc_CallGameEntity, // bool ) (plid_t plid, const char *entStr,entvars_t *pev);
185
+ DLLFunc_ClientUserInfoChanged, // void ) (edict *pEntity, char *infobuffer);
186
+ // You can pass in 0 for global cd handle or another cd handle here
187
+ DLLFunc_UpdateClientData, // void ) (const struct edict_s *ent, int sendweapons, struct clientdata_s *cd);
188
+ // You can pass in 0 for global entity state handle or another entity state handle here
189
+ DLLFunc_AddToFullPack, // int ) (struct entity_state_s *state, int e, edict_t *ent, edict_t *host, int hostflags, int player, unsigned char *pSet);
190
+ // You can pass in 0 for global usercmd handle or another usercmd handle here
191
+ DLLFunc_CmdStart, // void ) (const edict_t *player, const struct usercmd_s *cmd, unsigned int random_seed);
192
+ DLLFunc_CmdEnd, // void ) (const edict_t *player);
193
+ DLLFunc_CreateBaseline // void ) (int player, int eindex, struct entity_state_s *baseline, struct edict_s *entity, int playermodelindex, vec3_t player_mins, vec3_t player_maxs);
194
+ };
195
+
196
+ enum {
197
+ pev_string_start = 0,
198
+ pev_classname,
199
+ pev_globalname,
200
+ pev_model,
201
+ pev_target,
202
+ pev_targetname,
203
+ pev_netname,
204
+ pev_message,
205
+ pev_noise,
206
+ pev_noise1,
207
+ pev_noise2,
208
+ pev_noise3,
209
+ pev_string_end,
210
+ pev_edict_start,
211
+ pev_chain,
212
+ pev_dmg_inflictor,
213
+ pev_enemy,
214
+ pev_aiment,
215
+ pev_owner,
216
+ pev_groundentity,
217
+ pev_euser1,
218
+ pev_euser2,
219
+ pev_euser3,
220
+ pev_euser4,
221
+ pev_edict_end,
222
+ pev_float_start,
223
+ pev_impacttime,
224
+ pev_starttime,
225
+ pev_idealpitch,
226
+ pev_ideal_yaw,
227
+ pev_pitch_speed,
228
+ pev_yaw_speed,
229
+ pev_ltime,
230
+ pev_nextthink,
231
+ pev_gravity,
232
+ pev_friction,
233
+ pev_frame,
234
+ pev_animtime,
235
+ pev_framerate,
236
+ pev_scale,
237
+ pev_renderamt,
238
+ pev_health,
239
+ pev_frags,
240
+ pev_takedamage,
241
+ pev_max_health,
242
+ pev_teleport_time,
243
+ pev_armortype,
244
+ pev_armorvalue,
245
+ pev_dmg_take,
246
+ pev_dmg_save,
247
+ pev_dmg,
248
+ pev_dmgtime,
249
+ pev_speed,
250
+ pev_air_finished,
251
+ pev_pain_finished,
252
+ pev_radsuit_finished,
253
+ pev_maxspeed,
254
+ pev_fov,
255
+ pev_flFallVelocity,
256
+ pev_fuser1,
257
+ pev_fuser2,
258
+ pev_fuser3,
259
+ pev_fuser4,
260
+ pev_float_end,
261
+ pev_int_start,
262
+ pev_fixangle,
263
+ pev_modelindex,
264
+ pev_viewmodel,
265
+ pev_weaponmodel,
266
+ pev_movetype,
267
+ pev_solid,
268
+ pev_skin,
269
+ pev_body,
270
+ pev_effects,
271
+ pev_light_level,
272
+ pev_sequence,
273
+ pev_gaitsequence,
274
+ pev_rendermode,
275
+ pev_renderfx,
276
+ pev_weapons,
277
+ pev_deadflag,
278
+ pev_button,
279
+ pev_impulse,
280
+ pev_spawnflags,
281
+ pev_flags,
282
+ pev_colormap,
283
+ pev_team,
284
+ pev_waterlevel,
285
+ pev_watertype,
286
+ pev_playerclass,
287
+ pev_weaponanim,
288
+ pev_pushmsec,
289
+ pev_bInDuck,
290
+ pev_flTimeStepSound,
291
+ pev_flSwimTime,
292
+ pev_flDuckTime,
293
+ pev_iStepLeft,
294
+ pev_gamestate,
295
+ pev_oldbuttons,
296
+ pev_groupinfo,
297
+ pev_iuser1,
298
+ pev_iuser2,
299
+ pev_iuser3,
300
+ pev_iuser4,
301
+ pev_int_end,
302
+ pev_byte_start,
303
+ pev_controller_0,
304
+ pev_controller_1,
305
+ pev_controller_2,
306
+ pev_controller_3,
307
+ pev_blending_0,
308
+ pev_blending_1,
309
+ pev_byte_end,
310
+ pev_bytearray_start,
311
+ pev_controller,
312
+ pev_blending,
313
+ pev_bytearray_end,
314
+ pev_vecarray_start,
315
+ pev_origin,
316
+ pev_oldorigin,
317
+ pev_velocity,
318
+ pev_basevelocity,
319
+ pev_clbasevelocity,
320
+ pev_movedir,
321
+ pev_angles,
322
+ pev_avelocity,
323
+ pev_v_angle,
324
+ pev_endpos,
325
+ pev_startpos,
326
+ pev_absmin,
327
+ pev_absmax,
328
+ pev_mins,
329
+ pev_maxs,
330
+ pev_size,
331
+ pev_rendercolor,
332
+ pev_view_ofs,
333
+ pev_vuser1,
334
+ pev_vuser2,
335
+ pev_vuser3,
336
+ pev_vuser4,
337
+ pev_punchangle,
338
+ pev_vecarray_end,
339
+ pev_string2_begin, /* anything after here are string corrections */
340
+ pev_weaponmodel2,
341
+ pev_viewmodel2,
342
+ pev_string2_end,
343
+ pev_edict2_start, /* edict corrections */
344
+ pev_pContainingEntity,
345
+ pev_absolute_end
346
+ };
347
+
348
+ /* Used with global_get()
349
+ */
350
+ enum
351
+ {
352
+ glb_start_int = 0,
353
+ glb_trace_hitgroup,
354
+ glb_trace_flags,
355
+ glb_msg_entity,
356
+ glb_cdAudioTrack,
357
+ glb_maxClients,
358
+ glb_maxEntities,
359
+ glb_end_int,
360
+ glb_start_float,
361
+ glb_time,
362
+ glb_frametime,
363
+ glb_force_retouch,
364
+ glb_deathmatch,
365
+ glb_coop,
366
+ glb_teamplay,
367
+ glb_serverflags,
368
+ glb_found_secrets,
369
+ glb_trace_allsolid,
370
+ glb_trace_startsolid,
371
+ glb_trace_fraction,
372
+ glb_trace_plane_dist,
373
+ glb_trace_inopen,
374
+ glb_trace_inwater,
375
+ glb_end_float,
376
+ glb_start_edict,
377
+ glb_trace_ent,
378
+ glb_end_edict,
379
+ glb_start_vector,
380
+ glb_v_forward,
381
+ glb_v_up,
382
+ glb_v_right,
383
+ glb_trace_endpos,
384
+ glb_trace_plane_normal,
385
+ glb_vecLandmarkOffset,
386
+ glb_end_vector,
387
+ glb_start_string,
388
+ glb_mapname,
389
+ glb_startspot,
390
+ glb_end_string,
391
+ glb_start_pchar,
392
+ glb_pStringBase,
393
+ glb_end_pchar
394
+ };
395
+
396
+ /* Used with register_forward()
397
+ */
398
+ enum {
399
+ FM_PrecacheModel = 1,
400
+ FM_PrecacheSound,
401
+ FM_SetModel,
402
+ FM_ModelIndex,
403
+ FM_ModelFrames,
404
+ FM_SetSize,
405
+ FM_ChangeLevel,
406
+ FM_VecToYaw,
407
+ FM_VecToAngles,
408
+ FM_MoveToOrigin,
409
+ FM_ChangeYaw,
410
+ FM_ChangePitch,
411
+ FM_FindEntityByString,
412
+ FM_GetEntityIllum,
413
+ FM_FindEntityInSphere,
414
+ FM_FindClientInPVS,
415
+ FM_EntitiesInPVS,
416
+ FM_MakeVectors,
417
+ FM_AngleVectors,
418
+ FM_CreateEntity,
419
+ FM_RemoveEntity,
420
+ FM_CreateNamedEntity,
421
+ FM_MakeStatic,
422
+ FM_EntIsOnFloor,
423
+ FM_DropToFloor,
424
+ FM_WalkMove,
425
+ FM_SetOrigin,
426
+ FM_EmitSound,
427
+ FM_EmitAmbientSound,
428
+ FM_TraceLine,
429
+ FM_TraceToss,
430
+ FM_TraceMonsterHull,
431
+ FM_TraceHull,
432
+ FM_TraceModel,
433
+ FM_TraceTexture,
434
+ FM_TraceSphere,
435
+ FM_GetAimVector,
436
+ FM_ParticleEffect,
437
+ FM_LightStyle,
438
+ FM_DecalIndex,
439
+ FM_PointContents,
440
+ FM_MessageBegin,
441
+ FM_MessageEnd,
442
+ FM_WriteByte,
443
+ FM_WriteChar,
444
+ FM_WriteShort,
445
+ FM_WriteLong,
446
+ FM_WriteAngle,
447
+ FM_WriteCoord,
448
+ FM_WriteString,
449
+ FM_WriteEntity,
450
+ FM_CVarGetFloat,
451
+ FM_CVarGetString,
452
+ FM_CVarSetFloat,
453
+ FM_CVarSetString,
454
+ FM_FreeEntPrivateData,
455
+ FM_SzFromIndex,
456
+ FM_AllocString,
457
+ FM_RegUserMsg,
458
+ FM_AnimationAutomove,
459
+ FM_GetBonePosition,
460
+ FM_GetAttachment,
461
+ FM_SetView,
462
+ FM_Time,
463
+ FM_CrosshairAngle,
464
+ FM_FadeClientVolume,
465
+ FM_SetClientMaxspeed,
466
+ FM_CreateFakeClient,
467
+ FM_RunPlayerMove,
468
+ FM_NumberOfEntities,
469
+ FM_StaticDecal,
470
+ FM_PrecacheGeneric,
471
+ FM_BuildSoundMsg,
472
+ FM_GetPhysicsKeyValue,
473
+ FM_SetPhysicsKeyValue,
474
+ FM_GetPhysicsInfoString,
475
+ FM_PrecacheEvent,
476
+ FM_PlaybackEvent,
477
+ FM_CheckVisibility,
478
+ FM_GetCurrentPlayer,
479
+ FM_CanSkipPlayer,
480
+ FM_SetGroupMask,
481
+ FM_Voice_GetClientListening,
482
+ FM_Voice_SetClientListening,
483
+ FM_InfoKeyValue,
484
+ FM_SetKeyValue,
485
+ FM_SetClientKeyValue,
486
+ FM_GetPlayerAuthId,
487
+ FM_GetPlayerWONId,
488
+ FM_IsMapValid,
489
+
490
+ FM_Spawn,
491
+ FM_Think,
492
+ FM_Use,
493
+ FM_Touch,
494
+ FM_Blocked,
495
+ FM_KeyValue,
496
+ FM_SetAbsBox,
497
+ FM_ClientConnect,
498
+
499
+ FM_ClientDisconnect,
500
+ FM_ClientKill,
501
+ FM_ClientPutInServer,
502
+ FM_ClientCommand,
503
+
504
+ FM_ServerDeactivate,
505
+
506
+ FM_PlayerPreThink,
507
+ FM_PlayerPostThink,
508
+
509
+ FM_StartFrame,
510
+ FM_ParmsNewLevel,
511
+ FM_ParmsChangeLevel,
512
+
513
+ // Returns string describing current .dll. E.g., TeamFotrress 2, Half-Life
514
+ // This also gets called when the server is queried for information (for example, by a server browser tool)
515
+ FM_GetGameDescription,
516
+
517
+ // Spectator funcs
518
+ FM_SpectatorConnect,
519
+ FM_SpectatorDisconnect,
520
+ FM_SpectatorThink,
521
+
522
+ // Notify game .dll that engine is going to shut down. Allows mod authors to set a breakpoint.
523
+ FM_Sys_Error,
524
+
525
+ FM_PM_FindTextureType,
526
+ FM_RegisterEncoders,
527
+
528
+ // Create baselines for certain "unplaced" items.
529
+ FM_CreateInstBaselines,
530
+
531
+ FM_AllowLagCompensation,
532
+ FM_AlertMessage,
533
+
534
+ // NEW_DLL_FUNCTIONS:
535
+ FM_OnFreeEntPrivateData,
536
+ FM_GameShutdown,
537
+ FM_ShouldCollide,
538
+
539
+ // LATE ADDITIONS (v1.71)
540
+ FM_ClientUserInfoChanged,
541
+
542
+ // LATE ADDITIONS (v1.75)
543
+ FM_UpdateClientData,
544
+ FM_AddToFullPack,
545
+ FM_CmdStart,
546
+ FM_CmdEnd,
547
+ FM_CreateInstBaseline,
548
+ FM_CreateBaseline,
549
+ FM_GetInfoKeyBuffer,
550
+ FM_ClientPrintf,
551
+
552
+ // LATE ADDITIONS (v1.80)
553
+ FM_ServerPrint
554
+ };
555
+
556
+ enum TraceResult
557
+ {
558
+ TR_AllSolid, // int
559
+ TR_StartSolid, // int
560
+ TR_InOpen, // int
561
+ TR_InWater, // int
562
+ TR_flFraction, // float
563
+ TR_vecEndPos, // float array[3]
564
+ TR_flPlaneDist, // float
565
+ TR_vecPlaneNormal, // float array[3]
566
+ TR_pHit, // int (edict_t*)
567
+ TR_iHitgroup, // int
568
+ };
569
+
570
+ enum KeyValueData
571
+ {
572
+ KV_ClassName, // string
573
+ KV_KeyName, // string
574
+ KV_Value, // string
575
+ KV_fHandled // int
576
+ };
577
+
578
+ enum ClientData
579
+ {
580
+ CD_Origin, // float array[3]
581
+ CD_Velocity, // float array[3]
582
+ CD_ViewModel, // int
583
+ CD_PunchAngle, // float array[3]
584
+ CD_Flags, // int
585
+ CD_WaterLevel, // int
586
+ CD_WaterType, // int
587
+ CD_ViewOfs, // float array[3]
588
+ CD_Health, // float
589
+ CD_bInDuck, // int
590
+ CD_Weapons, // int
591
+ CD_flTimeStepSound, // int
592
+ CD_flDuckTime, // int
593
+ CD_flSwimTime, // int
594
+ CD_WaterJumpTime, // int
595
+ CD_MaxSpeed, // float
596
+ CD_FOV, // float
597
+ CD_WeaponAnim, // int
598
+ CD_ID, // int
599
+ CD_AmmoShells, // int
600
+ CD_AmmoNails, // int
601
+ CD_AmmoCells, // int
602
+ CD_AmmoRockets, // int
603
+ CD_flNextAttack, // float
604
+ CD_tfState, // int
605
+ CD_PushMsec, // int
606
+ CD_DeadFlag, // int
607
+ CD_PhysInfo, // string[256]
608
+ CD_iUser1, // int
609
+ CD_iUser2, // int
610
+ CD_iUser3, // int
611
+ CD_iUser4, // int
612
+ CD_fUser1, // float
613
+ CD_fUser2, // float
614
+ CD_fUser3, // float
615
+ CD_fUser4, // float
616
+ CD_vUser1, // float array[3]
617
+ CD_vUser2, // float array[3]
618
+ CD_vUser3, // float array[3]
619
+ CD_vUser4 // float array[3]
620
+ };
621
+
622
+ enum EntityState
623
+ {
624
+ // Fields which are filled in by routines outside of delta compression
625
+ ES_EntityType, // int
626
+ // Index into cl_entities array for this entity
627
+ ES_Number, // int
628
+ ES_MsgTime, // float
629
+
630
+ // Message number last time the player/entity state was updated
631
+ ES_MessageNum, // int
632
+
633
+ // Fields which can be transitted and reconstructed over the network stream
634
+ ES_Origin, // float array[3]
635
+ ES_Angles, // float array[3]
636
+
637
+ ES_ModelIndex, // int
638
+ ES_Sequence, // int
639
+ ES_Frame, // float
640
+ ES_ColorMap, // int
641
+ ES_Skin, // short
642
+ ES_Solid, // short
643
+ ES_Effects, // int
644
+ ES_Scale, // float
645
+ ES_eFlags, // byte
646
+
647
+ // Render information
648
+ ES_RenderMode, // int
649
+ ES_RenderAmt, // int
650
+ ES_RenderColor, // byte array[3], RGB value
651
+ ES_RenderFx, // int
652
+
653
+ ES_MoveType, // int
654
+ ES_AnimTime, // float
655
+ ES_FrameRate, // float
656
+ ES_Body, // int
657
+ ES_Controller, // byte array[4]
658
+ ES_Blending, // byte array[4]
659
+ ES_Velocity, // float array[3]
660
+
661
+ // Send bbox down to client for use during prediction
662
+ ES_Mins, // float array[3]
663
+ ES_Maxs, // float array[3]
664
+
665
+ ES_AimEnt, // int
666
+ // If owned by a player, the index of that player (for projectiles)
667
+ ES_Owner, // int
668
+
669
+ // Friction, for prediction
670
+ ES_Friction, // float
671
+ // Gravity multiplier
672
+ ES_Gravity, // float
673
+
674
+ // PLAYER SPECIFIC
675
+ ES_Team, // int
676
+ ES_PlayerClass, // int
677
+ ES_Health, // int
678
+ ES_Spectator, // bool
679
+ ES_WeaponModel, // int
680
+ ES_GaitSequence, // int
681
+ // If standing on conveyor, e.g.
682
+ ES_BaseVelocity, // float array[3]
683
+ // Use the crouched hull, or the regular player hull
684
+ ES_UseHull, // int
685
+ // Latched buttons last time state updated
686
+ ES_OldButtons, // int
687
+ // -1 = in air, else pmove entity number
688
+ ES_OnGround, // int
689
+ ES_iStepLeft, // int
690
+ // How fast we are falling
691
+ ES_flFallVelocity, // float
692
+
693
+ ES_FOV, // float
694
+ ES_WeaponAnim, // int
695
+
696
+ // Parametric movement overrides
697
+ ES_StartPos, // float array[3]
698
+ ES_EndPos, // float array[3]
699
+ ES_ImpactTime, // float
700
+ ES_StartTime, // float
701
+
702
+ // For mods
703
+ ES_iUser1, // int
704
+ ES_iUser2, // int
705
+ ES_iUser3, // int
706
+ ES_iUser4, // int
707
+ ES_fUser1, // float
708
+ ES_fUser2, // float
709
+ ES_fUser3, // float
710
+ ES_fUser4, // float
711
+ ES_vUser1, // float array[3]
712
+ ES_vUser2, // float array[3]
713
+ ES_vUser3, // float array[3]
714
+ ES_vUser4 // float array[3]
715
+ };
716
+
717
+ enum UserCmd
718
+ {
719
+ // Interpolation time on client
720
+ UC_LerpMsec, // short
721
+ // Duration in ms of command
722
+ UC_Msec, // byte
723
+ // Command view angles
724
+ UC_ViewAngles, // float array[3]
725
+
726
+ // Intended velocities
727
+ // Forward velocity
728
+ UC_ForwardMove, // float
729
+ // Sideways velocity
730
+ UC_SideMove, // float
731
+ // Upward velocity
732
+ UC_UpMove, // float
733
+ // Light level at spot where we are standing
734
+ UC_LightLevel, // byte
735
+ // Attack buttons
736
+ UC_Buttons, // unsigned short
737
+ // Impulse command issued
738
+ UC_Impulse, // byte
739
+ // Current weapon id
740
+ UC_WeaponSelect, // byte
741
+
742
+ // Experimental player impact stuff
743
+ UC_ImpactIndex, // int
744
+ UC_ImpactPosition // float array[3]
745
+ };
746
+
747
+ enum AlertType
748
+ {
749
+ at_notice = 0,
750
+ at_console, // same as at_notice, but forces a ConPrintf, not a message box
751
+ at_aiconsole, // same as at_console, but only shown if developer level is 2!
752
+ at_warning,
753
+ at_error,
754
+ at_logged // Server print to console (only in multiplayer games)
755
+ };
756
+
757
+ /**
758
+ * Data field types for use with find_ent_data_info().
759
+ */
760
+ enum FieldType
761
+ {
762
+ FIELD_NONE,
763
+ FIELD_FLOAT, // Floating point value
764
+ FIELD_STRINGINT, // String ID (return from ALLOC_STRING)
765
+ FIELD_STRINGPTR, // String, pointer-to-char
766
+ FIELD_STRING, // String, fixed size
767
+ FIELD_CLASSPTR, // Classes pointer derived of CBaseEntity
768
+ FIELD_CLASS, // Arbitrary classes, direct
769
+ FIELD_STRUCTURE, // Arbitrary structures, direct
770
+ FIELD_EHANDLE, // Entity handle
771
+ FIELD_ENTVARS, // entvars_t*
772
+ FIELD_EDICT, // edict_t*
773
+ FIELD_VECTOR, // Vector
774
+ FIELD_POINTER, // Arbitrary data pointer
775
+ FIELD_INTEGER, // Integer or enum
776
+ FIELD_FUNCTION, // Class function pointer (Think, Use, etc)
777
+ FIELD_BOOLEAN, // Boolean
778
+ FIELD_SHORT, // 2 bytes integer
779
+ FIELD_CHARACTER, // 1 byte
780
+ };
781
+
782
+ /**
783
+ * Base data field types for use with get_ent_data_basetype().
784
+ */
785
+ enum BaseFieldType
786
+ {
787
+ BASEFIELD_NONE,
788
+ BASEFIELD_INTEGER,
789
+ BASEFIELD_FLOAT,
790
+ BASEFIELD_VECTOR,
791
+ BASEFIELD_ENTITY,
792
+ BASEFIELD_STRING,
793
+ };