DDraceNetwork Documentation
Loading...
Searching...
No Matches
map.h
Go to the documentation of this file.
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. */
3#ifndef ENGINE_MAP_H
4#define ENGINE_MAP_H
5
6#include "kernel.h"
7#include <base/hash.h>
8#include <base/types.h>
9
10enum
11{
12 MAX_MAP_LENGTH = 128
13};
14
15class IMap : public IInterface
16{
18public:
20 virtual void *GetData(int Index) = 0;
23 virtual void UnloadData(int Index) = 0;
25
27 virtual void *GetItem(int Index, int *pType = nullptr, int *pId = nullptr) = 0;
28 virtual void GetType(int Type, int *pStart, int *pNum) = 0;
29 virtual int FindItemIndex(int Type, int Id) = 0;
30 virtual void *FindItem(int Type, int Id) = 0;
32};
33
35{
36 MACRO_INTERFACE("enginemap")
37public:
38 [[nodiscard]] virtual bool Load(const char *pMapName) = 0;
39 virtual void Unload() = 0;
40 virtual bool IsLoaded() const = 0;
42
44 virtual unsigned Crc() const = 0;
45 virtual int MapSize() const = 0;
46};
47
49
50#endif
Definition map.h:35
Definition kernel.h:10
Definition map.h:16
virtual int NumData() const =0
virtual void * GetItem(int Index, int *pType=nullptr, int *pId=nullptr)=0
virtual int GetItemSize(int Index)=0
virtual const char * GetDataString(int Index)=0
virtual void * GetData(int Index)=0
virtual void * GetDataSwapped(int Index)=0
virtual int GetDataSize(int Index) const =0
virtual void GetType(int Type, int *pStart, int *pNum)=0
virtual int NumItems() const =0
virtual void * FindItem(int Type, int Id)=0
virtual void UnloadData(int Index)=0
virtual int FindItemIndex(int Type, int Id)=0
Definition vmath.h:15
@ MAX_MAP_LENGTH
Definition map.h:12
IEngineMap * CreateEngineMap()
Definition map.cpp:179
#define MACRO_INTERFACE(Name)
Definition kernel.h:25
Definition hash.h:15