World of Might and Magic  0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
Класс AssetsManager

#include <AssetsManager.h>

Открытые члены

 AssetsManager ()
 
bool ReleaseAllImages ()
 
bool ReleaseImage (const String &name)
 
TextureGetImage_ColorKey (const String &name, uint16_t colorkey)
 
TextureGetImage_Solid (const String &name)
 
TextureGetImage_Alpha (const String &name)
 
TextureGetImage_PCXFromFile (const String &name)
 
TextureGetImage_PCXFromIconsLOD (const String &name)
 
TextureGetImage_PCXFromNewLOD (const String &name)
 
TextureGetBitmap (const String &name)
 
TextureGetSprite (const String &name, unsigned int palette_id, unsigned int lod_sprite_id)
 

Защищенные данные

std::map< String, Texture * > bitmaps
 
std::map< String, Texture * > sprites
 
std::map< String, Texture * > images
 

Подробное описание

См. определение в файле AssetsManager.h строка 10

Конструктор(ы)

◆ AssetsManager()

AssetsManager::AssetsManager ( )
inline

См. определение в файле AssetsManager.h строка 12

12 {}

Методы

◆ ReleaseAllImages()

bool AssetsManager::ReleaseAllImages ( )

См. определение в файле AssetsManager.cpp строка 14

14 { return true; }

Используется в OutdoorLocation::Initialize().

+ Граф вызова функции:

◆ ReleaseImage()

bool AssetsManager::ReleaseImage ( const String name)

См. определение в файле AssetsManager.cpp строка 16

16  {
17  auto filename = name;
18  std::transform(filename.begin(), filename.end(), filename.begin(),
19  ::tolower);
20 
21  auto i = images.find(filename);
22  if (i == images.end()) {
23  return false;
24  }
25 
26  images.erase(filename);
27 
28  return true;
29 }

Перекрестные ссылки images.

Используется в Image::Release().

+ Граф вызова функции:

◆ GetImage_ColorKey()

Texture * AssetsManager::GetImage_ColorKey ( const String name,
uint16_t  colorkey 
)

См. определение в файле AssetsManager.cpp строка 34

34  {
35  auto filename = name;
36  std::transform(filename.begin(), filename.end(), filename.begin(),
37  ::tolower);
38 
39  auto i = images.find(filename);
40  if (i == images.end()) {
41  auto image = render->CreateTexture_ColorKey(name, colorkey);
42  images[filename] = image;
43  return image;
44  }
45 
46  return i->second;
47 }

Перекрестные ссылки images и render.

Используется в Party::AddItemToParty(), Player::CanFitItem(), Chest::CanPlaceItemAt(), CharacterUI_DrawItem(), CharacterUI_DrawPaperdoll(), CharacterUI_InventoryTab_Draw(), CharacterUI_LoadPaperdollTextures(), GameUI_DrawHiredNPCs(), GameUI_DrawItemInfo(), GameUI_DrawNPCPopup(), GameUI_InitializeDialogue(), GameUI_LoadPlayerPortraintsAndVoices(), GameUI_ReloadPlayerPortraits(), Icon::GetTexture(), GUIWindow_AutonotesBook::GUIWindow_AutonotesBook(), GUIWindow_CalendarBook::GUIWindow_CalendarBook(), GUIWindow_DebugMenu::GUIWindow_DebugMenu(), GUIWindow_GameKeyBindings::GUIWindow_GameKeyBindings(), GUIWindow_GameMenu::GUIWindow_GameMenu(), GUIWindow_GameOptions::GUIWindow_GameOptions(), GUIWindow_GameVideoOptions::GUIWindow_GameVideoOptions(), GUIWindow_JournalBook::GUIWindow_JournalBook(), GUIWindow_LloydsBook::GUIWindow_LloydsBook(), GUIWindow_Load::GUIWindow_Load(), GUIWindow_MainMenu::GUIWindow_MainMenu(), GUIWindow_MapBook::GUIWindow_MapBook(), GUIWindow_PartyCreation::GUIWindow_PartyCreation(), GUIWindow_QuickReference::GUIWindow_QuickReference(), GUIWindow_Save::GUIWindow_Save(), GUIWindow_TownPortalBook::GUIWindow_TownPortalBook(), GUIProgressBar::Initialize(), InitializeSpellBookTextures(), OutdoorLocation::LoadActualSkyFrame(), LoadPartyBuffIcons(), PrepareHouse(), Player::PutItemArInventoryIndex(), Chest::PutItemInChest(), RemoveItemAtChestIndex(), Player::RemoveItemAtInventoryIndex(), Mouse::SetCursorImage(), SetUserInterface(), SpellBookGenerator(), Party::sub_421B2C_PlaceInInventory_or_DropPickedItem(), UI_Create(), GUIWindow_CharacterRecord::Update(), GUIWindow_Rest::Update(), GUIWindow_MainMenu::Update() и GUIWindow_Chest::Update().

+ Граф вызова функции:

◆ GetImage_Solid()

Texture * AssetsManager::GetImage_Solid ( const String name)

См. определение в файле AssetsManager.cpp строка 51

51  {
52  auto filename = name;
53  std::transform(filename.begin(), filename.end(), filename.begin(),
54  ::tolower);
55 
56  auto i = images.find(filename);
57  if (i == images.end()) {
58  auto image = render->CreateTexture_Solid(name);
59  images[filename] = image;
60  return image;
61  }
62 
63  return i->second;
64 }

Перекрестные ссылки images и render.

Используется в CharacterUI_LoadPaperdollTextures(), EnterHouse(), GameUI_InitializeDialogue(), GUIWindow_PartyCreation::GUIWindow_PartyCreation(), GUIWindow_QuestBook::GUIWindow_QuestBook(), GUIWindow_TownPortalBook::GUIWindow_TownPortalBook(), GUIWindow_Transition::GUIWindow_Transition(), GUIWindow_Travel::GUIWindow_Travel(), InitializeSpellBookTextures(), OutdoorLocation::Load(), LoadSpellbook() и UI_Create().

+ Граф вызова функции:

◆ GetImage_Alpha()

Texture * AssetsManager::GetImage_Alpha ( const String name)

См. определение в файле AssetsManager.cpp строка 66

66  {
67  auto filename = name;
68  std::transform(filename.begin(), filename.end(), filename.begin(),
69  ::tolower);
70 
71  auto i = images.find(filename);
72  if (i == images.end()) {
73  auto image = render->CreateTexture_Alpha(name);
74  images[filename] = image;
75  return image;
76  }
77 
78  return i->second;
79 }

Перекрестные ссылки images и render.

Используется в CharacterUI_DrawItem(), CharacterUI_DrawPaperdoll(), CharacterUI_InventoryTab_Draw(), CharacterUI_LoadPaperdollTextures(), GUIWindow_AutonotesBook::GUIWindow_AutonotesBook(), GUIWindow_GameOptions::GUIWindow_GameOptions(), GUIWindow_JournalBook::GUIWindow_JournalBook(), GUIWindow_LloydsBook::GUIWindow_LloydsBook(), GUIWindow_Load::GUIWindow_Load(), GUIWindow_MapBook::GUIWindow_MapBook(), GUIWindow_PartyCreation::GUIWindow_PartyCreation(), GUIWindow_QuestBook::GUIWindow_QuestBook(), GUIWindow_Rest::GUIWindow_Rest(), GUIWindow_Save::GUIWindow_Save(), GUIProgressBar::Initialize(), GUIWindow_Book::InitializeFonts(), InitializeSpellBookTextures(), Chest::PlaceItemAt(), Mouse::ReadCursorWithItem(), SetUserInterface(), UI_Create(), WetsuitOff() и WetsuitOn().

+ Граф вызова функции:

◆ GetImage_PCXFromFile()

Texture * AssetsManager::GetImage_PCXFromFile ( const String name)

См. определение в файле AssetsManager.cpp строка 111

111  {
112  auto filename = name;
113  std::transform(filename.begin(), filename.end(), filename.begin(),
114  ::tolower);
115 
116  auto i = images.find(filename);
117  if (i == images.end()) {
118  auto image = render->CreateTexture_PCXFromFile(name);
119  images[filename] = image;
120  return image;
121  }
122 
123  return i->second;
124 }

Перекрестные ссылки images и render.

Используется в Application::Game::EventLoop() и Application::Menu::MenuLoop().

+ Граф вызова функции:

◆ GetImage_PCXFromIconsLOD()

Texture * AssetsManager::GetImage_PCXFromIconsLOD ( const String name)

См. определение в файле AssetsManager.cpp строка 81

81  {
82  auto filename = name;
83  std::transform(filename.begin(), filename.end(), filename.begin(),
84  ::tolower);
85 
86  auto i = images.find(filename);
87  if (i == images.end()) {
88  auto image = render->CreateTexture_PCXFromIconsLOD(name);
89  images[filename] = image;
90  return image;
91  }
92 
93  return i->second;
94 }

Перекрестные ссылки images и render.

Используется в GUICredits::GUICredits(), GUIWindow_Load::GUIWindow_Load(), GUIWindow_MainMenu::GUIWindow_MainMenu(), GUIWindow_PartyCreation::GUIWindow_PartyCreation(), GUIProgressBar::Initialize(), ArcomageGame::LoadSprites(), GUIWindow_MainMenu::Loop(), ArcomageGame::PrepareArcomage() и SetUserInterface().

+ Граф вызова функции:

◆ GetImage_PCXFromNewLOD()

Texture * AssetsManager::GetImage_PCXFromNewLOD ( const String name)

См. определение в файле AssetsManager.cpp строка 96

96  {
97  auto filename = name;
98  std::transform(filename.begin(), filename.end(), filename.begin(),
99  ::tolower);
100 
101  auto i = images.find(filename);
102  if (i == images.end()) {
103  auto image = render->CreateTexture_PCXFromNewLOD(name);
104  images[filename] = image;
105  return image;
106  }
107 
108  return i->second;
109 }

Перекрестные ссылки images и render.

◆ GetBitmap()

Texture * AssetsManager::GetBitmap ( const String name)

См. определение в файле AssetsManager.cpp строка 126

126  {
127  auto filename = name;
128  std::transform(filename.begin(), filename.end(), filename.begin(),
129  ::tolower);
130 
131  auto i = bitmaps.find(filename);
132  if (i == bitmaps.end()) {
133  auto texture = render->CreateTexture(filename);
134  bitmaps[filename] = texture;
135  return texture;
136  }
137 
138  return i->second;
139 }

Перекрестные ссылки bitmaps и render.

Используется в Render::BeginDecals(), Render::BeginLightmaps(), Render::BeginLightmaps2(), OutdoorLocation::CreateDebugLocation(), TileDesc::GetTexture(), TextureFrame::GetTexture(), OutdoorLocation::Load(), SpellFxRenderer::LoadAnimations(), SpellFxRenderer::RenderAsSprite(), Engine::SecondaryInitialization(), ODMFace::SetTexture() и BLVFace::SetTexture().

+ Граф вызова функции:

◆ GetSprite()

Texture * AssetsManager::GetSprite ( const String name,
unsigned int  palette_id,
unsigned int  lod_sprite_id 
)

См. определение в файле AssetsManager.cpp строка 141

142  {
143  auto filename = name;
144  std::transform(filename.begin(), filename.end(), filename.begin(),
145  ::tolower);
146 
147  auto i = sprites.find(filename);
148  if (i == sprites.end()) {
149  auto texture =
150  render->CreateSprite(filename, palette_id, lod_sprite_id);
151  sprites[filename] = texture;
152  return texture;
153  }
154 
155  return i->second;
156 }

Перекрестные ссылки render и sprites.

Используется в LODFile_Sprites::LoadSprite().

+ Граф вызова функции:

Данные класса

◆ bitmaps

std::map<String, Texture *> AssetsManager::bitmaps
protected

См. определение в файле AssetsManager.h строка 31

Используется в GetBitmap().

◆ sprites

std::map<String, Texture *> AssetsManager::sprites
protected

См. определение в файле AssetsManager.h строка 32

Используется в GetSprite().

◆ images

std::map<String, Texture *> AssetsManager::images
protected

См. определение в файле AssetsManager.h строка 33

Используется в GetImage_Alpha(), GetImage_ColorKey(), GetImage_PCXFromFile(), GetImage_PCXFromIconsLOD(), GetImage_PCXFromNewLOD(), GetImage_Solid() и ReleaseImage().


Объявления и описания членов классов находятся в файлах:
AssetsManager::images
std::map< String, Texture * > images
Definition: AssetsManager.h:33
AssetsManager::sprites
std::map< String, Texture * > sprites
Definition: AssetsManager.h:32
texture
GLenum GLenum GLuint texture
Definition: SDL_opengl_glext.h:1181
AssetsManager::bitmaps
std::map< String, Texture * > bitmaps
Definition: AssetsManager.h:31
transform
GLuint GLenum GLenum transform
Definition: SDL_opengl_glext.h:9999
name
EGLImageKHR EGLint * name
Definition: SDL_egl.h:1497
image
EGLImageKHR image
Definition: SDL_egl.h:953
render
std::shared_ptr< IRender > render
Definition: RenderOpenGL.cpp:52