Added a clientside QuakeC base by Dresk and myself. Included an example of a networke...
[divverent/nexuiz.git] / data / qcsrc / client / Defs.qc
1 #pragma flag off fastarrays // make dp behave with new fteqcc versions. remove when dp bug with fteqcc fastarrays is fixed\r
2 \r
3 \r
4 //NOTE: THIS IS AN INTERFACE FILE. DO NOT EDIT.\r
5 //MODIFYING THIS FILE CAN RESULT IN CRC ERRORS.\r
6 //YOU HAVE BEEN WARNED.\r
7 \r
8 //feel free to look though. :)\r
9 \r
10 \r
11 \r
12 \r
13 #define CSQC 1\r
14 \r
15 /*\r
16 ==============================================================================\r
17 \r
18                         SOURCE FOR GLOBALVARS_T C STRUCTURE\r
19 \r
20 ==============================================================================\r
21 */\r
22 \r
23 //\r
24 // system globals\r
25 //\r
26 entity          self;\r
27 entity          other;\r
28 entity          world;\r
29 float           time;\r
30 float           frametime;\r
31 \r
32 float           player_localentnum;     //the entnum\r
33 float           player_localnum;        //the playernum\r
34 float           maxclients;     //a constant filled in by the engine. gah, portability eh?\r
35 \r
36 float           clientcommandframe;     //player movement\r
37 float           servercommandframe;     //clientframe echoed off the server\r
38 \r
39 string          mapname;\r
40 \r
41 //\r
42 // global variables set by built in functions\r
43 //\r
44 vector          v_forward, v_up, v_right;       // set by makevectors()\r
45 \r
46 // set by traceline / tracebox\r
47 float           trace_allsolid;\r
48 float           trace_startsolid;\r
49 float           trace_fraction;\r
50 vector          trace_endpos;\r
51 vector          trace_plane_normal;\r
52 float           trace_plane_dist;\r
53 entity          trace_ent;\r
54 float           trace_inopen;\r
55 float           trace_inwater;\r
56 \r
57 //\r
58 // required prog functions\r
59 //\r
60 void()          CSQC_Init;\r
61 void()          CSQC_Shutdown;\r
62 float(float f, float t, float n)        CSQC_InputEvent;\r
63 void()          CSQC_UpdateView;\r
64 float(string s) CSQC_ConsoleCommand;\r
65 \r
66 //these fields are read and set by the default player physics\r
67 vector          pmove_org;\r
68 vector          pmove_vel;\r
69 vector          pmove_mins;\r
70 vector          pmove_maxs;\r
71 //retrieved from the current movement commands (read by player physics)\r
72 float           input_timelength;\r
73 vector          input_angles;\r
74 vector          input_movevalues;       //forwards, right, up.\r
75 float           input_buttons;          //attack, use, jump (default physics only uses jump)\r
76 \r
77 float           movevar_gravity;\r
78 float           movevar_stopspeed;\r
79 float           movevar_maxspeed;\r
80 float           movevar_spectatormaxspeed;      //used by NOCLIP movetypes.\r
81 float           movevar_accelerate;\r
82 float           movevar_airaccelerate;\r
83 float           movevar_wateraccelerate;\r
84 float           movevar_friction;\r
85 float           movevar_waterfriction;\r
86 float           movevar_entgravity;     //the local player's gravity field. Is a multiple (1 is the normal value)\r
87 \r
88 //================================================\r
89 void            end_sys_globals;                // flag for structure dumping\r
90 //================================================\r
91 \r
92 /*\r
93 ==============================================================================\r
94 \r
95                         SOURCE FOR ENTVARS_T C STRUCTURE\r
96 \r
97 ==============================================================================\r
98 */\r
99 \r
100 //\r
101 // system fields (*** = do not set in prog code, maintained by C code)\r
102 //\r
103 .float          modelindex;             // *** model index in the precached list\r
104 .vector         absmin, absmax; // *** origin + mins / maxs\r
105 \r
106 .float          entnum; // *** the ent number as on the server\r
107 .float          drawmask;\r
108 .void()         predraw;\r
109 \r
110 .float          movetype;\r
111 .float          solid;\r
112 \r
113 .vector         origin;                 // ***\r
114 .vector         oldorigin;              // ***\r
115 .vector         velocity;\r
116 .vector         angles;\r
117 .vector         avelocity;\r
118 \r
119 .string         classname;              // spawn function\r
120 .string         model;\r
121 .float          frame;\r
122 .float          skin;\r
123 .float          effects;\r
124 \r
125 .vector         mins, maxs;             // bounding box extents reletive to origin\r
126 .vector         size;                   // maxs - mins\r
127 \r
128 .void()         touch;\r
129 .void()         use;\r
130 .void()         think;\r
131 .void()         blocked;                // for doors or plats, called when can't push other\r
132 \r
133 .float          nextthink;\r
134 \r
135 .entity         chain;\r
136 \r
137 .string         netname;\r
138 \r
139 .entity         enemy;\r
140 \r
141 .float          flags;\r
142 \r
143 .float          colormap;\r
144 \r
145 .entity         owner;          // who launched a missile\r
146 \r
147 //================================================\r
148 void            end_sys_fields;                 // flag for structure dumping\r
149 //================================================\r
150 \r
151 // Additional OPTIONAL Fields and Globals\r
152 float           intermission;\r
153 float           sb_showscores;\r
154 .string         message;\r
155 float           coop;\r
156 float           deathmatch;\r
157 \r
158 float           dmg_take;\r
159 float           dmg_save;\r
160 vector          dmg_origin;\r
161 \r
162 // Darkplaces Render Modifications\r
163 .float alpha;\r
164 .float renderflags;\r
165 .vector colormod;\r
166 .float scale;\r
167 \r
168 // Basic variables\r
169 .float enttype; // entity type sent from server\r
170 .float sv_entnum; // entity number sent from server\r
171 float vid_conwidth, vid_conheight;