#ifndef __INC_METIN_II_GAME_TYPEDEF_H__ #define __INC_METIN_II_GAME_TYPEDEF_H__ class DESC; #ifdef USE_DEBUG_PTR typedef DebugPtr LPDESC; #else typedef DESC* LPDESC; #endif class CLIENT_DESC; #ifdef USE_DEBUG_PTR typedef DebugPtr LPCLIENT_DESC; #else typedef CLIENT_DESC* LPCLIENT_DESC; #endif class DESC_P2P; #ifdef USE_DEBUG_PTR typedef DebugPtr LPDESC_P2P; #else typedef DESC_P2P* LPDESC_P2P; #endif class CHARACTER; #ifdef USE_DEBUG_PTR typedef DebugPtr LPCHARACTER; #else typedef CHARACTER* LPCHARACTER; #endif typedef std::vector CHARACTER_VECTOR; typedef std::list CHARACTER_LIST; typedef std::unordered_set CHARACTER_SET; class CItem; #ifdef USE_DEBUG_PTR typedef DebugPtr LPITEM; #else typedef CItem* LPITEM; #endif namespace building { class CObject; #ifdef USE_DEBUG_PTR typedef DebugPtr LPOBJECT; #else typedef CObject* LPOBJECT; #endif } typedef struct regen* LPREGEN; typedef struct regen_exception* LPREGEN_EXCEPTION; class CEntity; #ifdef USE_DEBUG_PTR typedef DebugPtr LPENTITY; #else typedef CEntity* LPENTITY; #endif typedef std::vector ENTITY_VECTOR; typedef std::unordered_set ENTITY_SET; class SECTREE; #ifdef USE_DEBUG_PTR typedef DebugPtr LPSECTREE; #else typedef SECTREE* LPSECTREE; #endif typedef std::list LPSECTREE_LIST; class SECTREE_MAP; #ifdef USE_DEBUG_PTR typedef DebugPtr LPSECTREE_MAP; #else typedef SECTREE_MAP* LPSECTREE_MAP; #endif class CDungeon; #ifdef USE_DEBUG_PTR typedef DebugPtr LPDUNGEON; #else typedef CDungeon* LPDUNGEON; #endif class CParty; #ifdef USE_DEBUG_PTR typedef DebugPtr LPPARTY; #else typedef CParty* LPPARTY; #endif typedef struct pixel_position_s { INT x, y, z; } PIXEL_POSITION; enum EEntityTypes { ENTITY_CHARACTER, ENTITY_ITEM, ENTITY_OBJECT, }; #ifndef itertype #define itertype(v) typeof((v).begin()) #endif #endif /* __INC_METIN_II_GAME_TYPEDEF_H__ */