DDraceNetwork Docs
mapimages.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 GAME_CLIENT_COMPONENTS_MAPIMAGES_H
4#define GAME_CLIENT_COMPONENTS_MAPIMAGES_H
5
6#include <engine/console.h>
7#include <engine/graphics.h>
8
10#include <game/mapitems.h>
11
13{
16
18};
19
21{
29
31};
32
33constexpr const char *const gs_apModEntitiesNames[] = {
34 "ddnet",
35 "ddrace",
36 "race",
37 "blockworlds",
38 "fng",
39 "vanilla",
40 "f-ddrace",
41};
42
43class CMapImages : public CComponent
44{
45 friend class CBackground;
46 friend class CMenuBackground;
47
50
52
53public:
54 CMapImages();
55 virtual int Sizeof() const override { return sizeof(*this); }
56
57 IGraphics::CTextureHandle Get(int Index) const { return m_aTextures[Index]; }
58 int Num() const { return m_Count; }
59
60 void OnMapLoadImpl(class CLayers *pLayers, class IMap *pMap);
61 virtual void OnMapLoad() override;
62 virtual void OnInit() override;
63 void LoadBackground(class CLayers *pLayers, class IMap *pMap);
64
65 // DDRace
68
72
73 void SetTextureScale(int Scale);
74 int GetTextureScale() const;
75
76 void ChangeEntitiesPath(const char *pPath);
77
78private:
87
88 static void ConchainClTextEntitiesSize(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData);
90 IGraphics::CTextureHandle UploadEntityLayerText(int TextureSize, int MaxWidth, int YOffset);
91 void UpdateEntityLayerText(CImageInfo &TextImage, int TextureSize, int MaxWidth, int YOffset, int NumbersPower, int MaxNumber = -1);
92};
93
94#endif
Definition: background.h:22
Definition: component.h:20
Definition: image.h:12
Definition: layers.h:13
Definition: mapimages.h:44
char m_aEntitiesPath[IO_MAX_PATH_LENGTH]
Definition: mapimages.h:51
IGraphics::CTextureHandle UploadEntityLayerText(int TextureSize, int MaxWidth, int YOffset)
Definition: mapimages.cpp:404
void ChangeEntitiesPath(const char *pPath)
Definition: mapimages.cpp:349
virtual int Sizeof() const override
Definition: mapimages.h:55
int m_Count
Definition: mapimages.h:49
virtual void OnInit() override
Definition: mapimages.cpp:29
IGraphics::CTextureHandle Get(int Index) const
Definition: mapimages.h:57
IGraphics::CTextureHandle m_SpeedupArrowTexture
Definition: mapimages.h:82
static void ConchainClTextEntitiesSize(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
Definition: mapimages.cpp:371
IGraphics::CTextureHandle m_aTextures[MAX_MAPIMAGES]
Definition: mapimages.h:48
int GetTextureScale() const
Definition: mapimages.cpp:399
void InitOverlayTextures()
Definition: mapimages.cpp:451
void OnMapLoadImpl(class CLayers *pLayers, class IMap *pMap)
Definition: mapimages.cpp:44
int Num() const
Definition: mapimages.h:58
IGraphics::CTextureHandle m_aaEntitiesTextures[MAP_IMAGE_MOD_TYPE_COUNT *2][MAP_IMAGE_ENTITY_LAYER_TYPE_COUNT]
Definition: mapimages.h:81
bool m_aEntitiesIsLoaded[MAP_IMAGE_MOD_TYPE_COUNT *2]
Definition: mapimages.h:79
virtual void OnMapLoad() override
Definition: mapimages.cpp:172
IGraphics::CTextureHandle m_OverlayBottomTexture
Definition: mapimages.h:83
IGraphics::CTextureHandle m_OverlayTopTexture
Definition: mapimages.h:84
IGraphics::CTextureHandle GetOverlayBottom()
Definition: mapimages.cpp:334
IGraphics::CTextureHandle GetOverlayCenter()
Definition: mapimages.cpp:344
bool m_SpeedupArrowIsLoaded
Definition: mapimages.h:80
void UpdateEntityLayerText(CImageInfo &TextImage, int TextureSize, int MaxWidth, int YOffset, int NumbersPower, int MaxNumber=-1)
Definition: mapimages.cpp:420
int m_TextureScale
Definition: mapimages.h:86
IGraphics::CTextureHandle GetOverlayTop()
Definition: mapimages.cpp:339
IGraphics::CTextureHandle GetSpeedupArrow()
Definition: mapimages.cpp:323
IGraphics::CTextureHandle m_OverlayCenterTexture
Definition: mapimages.h:85
CMapImages()
Definition: mapimages.cpp:18
IGraphics::CTextureHandle GetEntities(EMapImageEntityLayerType EntityLayerType)
Definition: mapimages.cpp:246
void LoadBackground(class CLayers *pLayers, class IMap *pMap)
Definition: mapimages.cpp:179
void SetTextureScale(int Scale)
Definition: mapimages.cpp:381
Definition: menu_background.h:33
Definition: console.h:47
void(* FCommandCallback)(IResult *pResult, void *pUserData)
Definition: console.h:94
Definition: graphics.h:201
Definition: map.h:16
constexpr const char *const gs_apModEntitiesNames[]
Definition: mapimages.h:33
EMapImageModType
Definition: mapimages.h:21
@ MAP_IMAGE_MOD_TYPE_DDNET
Definition: mapimages.h:22
@ MAP_IMAGE_MOD_TYPE_VANILLA
Definition: mapimages.h:27
@ MAP_IMAGE_MOD_TYPE_DDRACE
Definition: mapimages.h:23
@ MAP_IMAGE_MOD_TYPE_FDDRACE
Definition: mapimages.h:28
@ MAP_IMAGE_MOD_TYPE_COUNT
Definition: mapimages.h:30
@ MAP_IMAGE_MOD_TYPE_BLOCKWORLDS
Definition: mapimages.h:25
@ MAP_IMAGE_MOD_TYPE_RACE
Definition: mapimages.h:24
@ MAP_IMAGE_MOD_TYPE_FNG
Definition: mapimages.h:26
EMapImageEntityLayerType
Definition: mapimages.h:13
@ MAP_IMAGE_ENTITY_LAYER_TYPE_SWITCH
Definition: mapimages.h:15
@ MAP_IMAGE_ENTITY_LAYER_TYPE_ALL_EXCEPT_SWITCH
Definition: mapimages.h:14
@ MAP_IMAGE_ENTITY_LAYER_TYPE_COUNT
Definition: mapimages.h:17
static constexpr size_t MAX_MAPIMAGES
Definition: mapitems.h:217
@ IO_MAX_PATH_LENGTH
Definition: types.h:43