DDNet documentation
Loading...
Searching...
No Matches
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
11#include <game/mapitems.h>
12
25
26constexpr const char *const gs_apModEntitiesNames[] = {
27 "ddnet",
28 "ddrace",
29 "race",
30 "blockworlds",
31 "fng",
32 "vanilla",
33 "f-ddrace",
34};
35
36class CMapImages : public CComponent, public IMapImages
37{
38 friend class CBackground;
39 friend class CMenuBackground;
40
43
45
46public:
47 CMapImages();
48 int Sizeof() const override { return sizeof(*this); }
49
50 IGraphics::CTextureHandle Get(int Index) const override { return m_aTextures[Index]; }
51 int Num() const override { return m_Count; }
52
53 void OnMapLoadImpl(class CLayers *pLayers, class IMap *pMap);
54 void OnMapLoad() override;
55 void OnInit() override;
56 void Unload();
57 void LoadBackground(class CLayers *pLayers, class IMap *pMap);
58
59 // DDRace
63
67
68 void SetTextureScale(int Scale);
69 int GetTextureScale() const;
70
71 void ChangeEntitiesPath(const char *pPath);
72
73private:
84
85 static void ConchainClTextEntitiesSize(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData);
87 IGraphics::CTextureHandle UploadEntityLayerText(int TextureSize, int MaxWidth, int YOffset);
88 void UpdateEntityLayerText(CImageInfo &TextImage, int TextureSize, int MaxWidth, int YOffset, int NumbersPower, int MaxNumber = -1);
89};
90
91#endif
Definition component.h:165
Definition image.h:12
Definition layers.h:13
IGraphics::CTextureHandle GetOverlayTop() override
Definition mapimages.cpp:394
void Unload()
Definition mapimages.cpp:50
bool m_TuneColorsIsLoaded
Definition mapimages.h:76
IGraphics::CTextureHandle GetOverlayBottom() override
Definition mapimages.cpp:389
char m_aEntitiesPath[IO_MAX_PATH_LENGTH]
Definition mapimages.h:44
friend class CMenuBackground
Definition mapimages.h:39
IGraphics::CTextureHandle UploadEntityLayerText(int TextureSize, int MaxWidth, int YOffset)
Definition mapimages.cpp:459
void ChangeEntitiesPath(const char *pPath)
Definition mapimages.cpp:404
int Sizeof() const override
Definition mapimages.h:48
friend class CBackground
Definition mapimages.h:38
int m_Count
Definition mapimages.h:42
void OnInit() override
Definition mapimages.cpp:35
IGraphics::CTextureHandle GetEntities(EMapImageEntityLayerType EntityLayerType) override
Definition mapimages.cpp:255
IGraphics::CTextureHandle m_SpeedupArrowTexture
Definition mapimages.h:78
static void ConchainClTextEntitiesSize(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
Definition mapimages.cpp:426
IGraphics::CTextureHandle GetSpeedupArrow() override
Definition mapimages.cpp:360
IGraphics::CTextureHandle m_aTextures[MAX_MAPIMAGES]
Definition mapimages.h:41
int GetTextureScale() const
Definition mapimages.cpp:454
void InitOverlayTextures()
Definition mapimages.cpp:506
void OnMapLoadImpl(class CLayers *pLayers, class IMap *pMap)
Definition mapimages.cpp:59
IGraphics::CTextureHandle Get(int Index) const override
Definition mapimages.h:50
IGraphics::CTextureHandle m_aaEntitiesTextures[MAP_IMAGE_MOD_TYPE_COUNT *2][MAP_IMAGE_ENTITY_LAYER_TYPE_COUNT]
Definition mapimages.h:77
bool m_aEntitiesIsLoaded[MAP_IMAGE_MOD_TYPE_COUNT *2]
Definition mapimages.h:74
void OnMapLoad() override
Definition mapimages.cpp:183
IGraphics::CTextureHandle m_OverlayBottomTexture
Definition mapimages.h:80
IGraphics::CTextureHandle GetTuneColors() override
Definition mapimages.cpp:371
IGraphics::CTextureHandle m_OverlayTopTexture
Definition mapimages.h:81
IGraphics::CTextureHandle GetOverlayCenter() override
Definition mapimages.cpp:399
IGraphics::CTextureHandle m_TuneColorMapTexture
Definition mapimages.h:79
bool m_SpeedupArrowIsLoaded
Definition mapimages.h:75
void UpdateEntityLayerText(CImageInfo &TextImage, int TextureSize, int MaxWidth, int YOffset, int NumbersPower, int MaxNumber=-1)
Definition mapimages.cpp:475
int Num() const override
Definition mapimages.h:51
int m_TextureScale
Definition mapimages.h:83
IGraphics::CTextureHandle m_OverlayCenterTexture
Definition mapimages.h:82
CMapImages()
Definition mapimages.cpp:23
void LoadBackground(class CLayers *pLayers, class IMap *pMap)
Definition mapimages.cpp:188
void SetTextureScale(int Scale)
Definition mapimages.cpp:436
Definition console.h:64
void(* FCommandCallback)(IResult *pResult, void *pUserData)
Definition console.h:102
Definition graphics.h:203
Definition render_interfaces.h:30
Definition map.h:20
constexpr auto IO_MAX_PATH_LENGTH
Definition types.h:26
constexpr const char *const gs_apModEntitiesNames[]
Definition mapimages.h:26
EMapImageModType
Definition mapimages.h:14
@ MAP_IMAGE_MOD_TYPE_DDNET
Definition mapimages.h:15
@ MAP_IMAGE_MOD_TYPE_VANILLA
Definition mapimages.h:20
@ MAP_IMAGE_MOD_TYPE_DDRACE
Definition mapimages.h:16
@ MAP_IMAGE_MOD_TYPE_FDDRACE
Definition mapimages.h:21
@ MAP_IMAGE_MOD_TYPE_COUNT
Definition mapimages.h:23
@ MAP_IMAGE_MOD_TYPE_BLOCKWORLDS
Definition mapimages.h:18
@ MAP_IMAGE_MOD_TYPE_RACE
Definition mapimages.h:17
@ MAP_IMAGE_MOD_TYPE_FNG
Definition mapimages.h:19
static constexpr size_t MAX_MAPIMAGES
Definition mapitems.h:252
EMapImageEntityLayerType
Definition render_interfaces.h:7
@ MAP_IMAGE_ENTITY_LAYER_TYPE_COUNT
Definition render_interfaces.h:11