1 /* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */
2 /* If you are missing that file, acquire a complete release at teeworlds.com. */
8 class IMap
: public IInterface
10 MACRO_INTERFACE("map", 0)
12 virtual void *GetData(int Index
) = 0;
13 virtual void *GetDataSwapped(int Index
) = 0;
14 virtual void UnloadData(int Index
) = 0;
15 virtual void *GetItem(int Index
, int *Type
, int *pID
) = 0;
16 virtual void GetType(int Type
, int *pStart
, int *pNum
) = 0;
17 virtual void *FindItem(int Type
, int ID
) = 0;
18 virtual int NumItems() = 0;
22 class IEngineMap
: public IMap
24 MACRO_INTERFACE("enginemap", 0)
26 virtual bool Load(const char *pMapName
) = 0;
27 virtual bool IsLoaded() = 0;
28 virtual void Unload() = 0;
29 virtual unsigned Crc() = 0;
32 extern IEngineMap
*CreateEngineMap();