DDNet documentation
Toggle main menu visibility
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 <
base/hash.h
>
7
#include <
base/types.h
>
8
9
#include <memory>
10
11
class
IStorage
;
12
struct
CUuid
;
13
14
enum
15
{
16
MAX_MAP_LENGTH
= 128
17
};
18
19
class
IMap
20
{
21
public
:
22
virtual
~IMap
() =
default
;
23
24
virtual
int
GetDataSize
(
int
Index)
const
= 0;
25
virtual
void
*
GetData
(
int
Index) = 0;
26
virtual
void
*
GetDataSwapped
(
int
Index) = 0;
27
virtual
const
char
*
GetDataString
(
int
Index) = 0;
28
virtual
void
UnloadData
(
int
Index) = 0;
29
virtual
int
NumData
()
const
= 0;
30
31
virtual
int
GetItemSize
(
int
Index) = 0;
32
virtual
void
*
GetItem
(
int
Index,
int
*pType =
nullptr
,
int
*pId =
nullptr
,
CUuid
*pUuid =
nullptr
) = 0;
33
virtual
void
GetType
(
int
Type,
int
*pStart,
int
*pNum) = 0;
34
virtual
int
FindItemIndex
(
int
Type,
int
Id) = 0;
35
virtual
void
*
FindItem
(
int
Type,
int
Id) = 0;
36
virtual
int
NumItems
()
const
= 0;
37
38
[[nodiscard]]
virtual
bool
Load
(
const
char
*pFullName,
IStorage
*pStorage,
const
char
*pPath,
int
StorageType) = 0;
39
[[nodiscard]]
virtual
bool
Load
(
IStorage
*pStorage,
const
char
*pPath,
int
StorageType) = 0;
40
virtual
void
Unload
() = 0;
41
virtual
bool
IsLoaded
()
const
= 0;
42
virtual
IOHANDLE
File
()
const
= 0;
43
49
virtual
const
char
*
FullName
()
const
= 0;
55
virtual
const
char
*
BaseName
()
const
= 0;
61
virtual
const
char
*
Path
()
const
= 0;
62
virtual
SHA256_DIGEST
Sha256
()
const
= 0;
63
virtual
unsigned
Crc
()
const
= 0;
64
virtual
int
Size
()
const
= 0;
65
};
66
67
extern
std::unique_ptr<IMap>
CreateMap
();
68
69
#endif
IMap
Definition
map.h:20
IMap::NumData
virtual int NumData() const =0
IMap::IsLoaded
virtual bool IsLoaded() const =0
IMap::GetItemSize
virtual int GetItemSize(int Index)=0
IMap::GetDataString
virtual const char * GetDataString(int Index)=0
IMap::GetData
virtual void * GetData(int Index)=0
IMap::GetDataSwapped
virtual void * GetDataSwapped(int Index)=0
IMap::File
virtual IOHANDLE File() const =0
IMap::FullName
virtual const char * FullName() const =0
IMap::GetDataSize
virtual int GetDataSize(int Index) const =0
IMap::GetType
virtual void GetType(int Type, int *pStart, int *pNum)=0
IMap::NumItems
virtual int NumItems() const =0
IMap::Unload
virtual void Unload()=0
IMap::FindItem
virtual void * FindItem(int Type, int Id)=0
IMap::GetItem
virtual void * GetItem(int Index, int *pType=nullptr, int *pId=nullptr, CUuid *pUuid=nullptr)=0
IMap::Load
virtual bool Load(IStorage *pStorage, const char *pPath, int StorageType)=0
IMap::Sha256
virtual SHA256_DIGEST Sha256() const =0
IMap::UnloadData
virtual void UnloadData(int Index)=0
IMap::Path
virtual const char * Path() const =0
IMap::FindItemIndex
virtual int FindItemIndex(int Type, int Id)=0
IMap::BaseName
virtual const char * BaseName() const =0
IMap::Load
virtual bool Load(const char *pFullName, IStorage *pStorage, const char *pPath, int StorageType)=0
IMap::Size
virtual int Size() const =0
IMap::~IMap
virtual ~IMap()=default
IMap::Crc
virtual unsigned Crc() const =0
IStorage
Definition
storage.h:21
CreateMap
std::unique_ptr< IMap > CreateMap()
Definition
map.cpp:731
MAX_MAP_LENGTH
@ MAX_MAP_LENGTH
Definition
map.h:16
hash.h
IOHANDLE
void * IOHANDLE
Definition
logger.h:12
CUuid
Definition
uuid_manager.h:17
SHA256_DIGEST
Definition
hash.h:12
types.h
src
engine
map.h
Generated by
1.18.0