transfer from internal tree r5311 branches/1.4-gpl
[xonotic/netradiant.git] / plugins / entity / entity.h
1 /*\r
2 Copyright (C) 1999-2007 id Software, Inc. and contributors.\r
3 For a list of contributors, see the accompanying CONTRIBUTORS file.\r
4 \r
5 This file is part of GtkRadiant.\r
6 \r
7 GtkRadiant is free software; you can redistribute it and/or modify\r
8 it under the terms of the GNU General Public License as published by\r
9 the Free Software Foundation; either version 2 of the License, or\r
10 (at your option) any later version.\r
11 \r
12 GtkRadiant is distributed in the hope that it will be useful,\r
13 but WITHOUT ANY WARRANTY; without even the implied warranty of\r
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
15 GNU General Public License for more details.\r
16 \r
17 You should have received a copy of the GNU General Public License\r
18 along with GtkRadiant; if not, write to the Free Software\r
19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\r
20 */\r
21 \r
22 // entity.h\r
23 \r
24 // external API\r
25 \r
26 // construct\r
27 entity_t* Entity_Alloc();\r
28 // destruct\r
29 void Entity_Free (entity_t *e);\r
30 // construct from entity\r
31 entity_t* Entity_Clone (entity_t *e);\r
32 \r
33 // epair interface\r
34 void  SetKeyValue (entity_t *ent, const char *key, const char *value);\r
35 void  DeleteKey (entity_t *ent, const char *key);\r
36 const char* ValueForKey (entity_t *ent, const char *key);\r
37 float FloatForKey (entity_t *ent, const char *key);\r
38 int   IntForKey (entity_t *ent, const char *key);\r
39 void  GetVectorForKey (entity_t *ent, const char *key, vec3_t vec);\r
40 \r
41 void Entity_AddToList(entity_t *e, entity_t *lst);\r
42 void Entity_RemoveFromList(entity_t *e);\r
43 \r
44 void Entity_LinkBrush (entity_t *e, brush_t *b);\r
45 void Entity_UnlinkBrush (brush_t *b);\r
46 \r
47 // for undo\r
48 int Entity_MemorySize(entity_t *e);\r
49 \r
50 epair_t* Entity_AllocateEpair(const char *key, const char *value);\r
51 epair_t** Entity_GetKeyValList(entity_t *e);\r
52 void Entity_SetKeyValList(entity_t *e, epair_t* ep);\r