guild mark uploading fixed
This commit is contained in:
@@ -185,7 +185,7 @@ void CGraphicMarkInstance::Load()
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (pResource->IsType(CGraphicImage::Type()))
|
if (pResource->IsType(CGraphicImage::Type()))
|
||||||
SetImagePointer(static_cast<CGraphicImage*>(pResource));
|
SetImagePointer(static_cast<CGraphicImage*>(pResource));
|
||||||
}
|
}
|
||||||
|
|
||||||
void CGraphicMarkInstance::SetImagePointer(CGraphicImage * pImage)
|
void CGraphicMarkInstance::SetImagePointer(CGraphicImage * pImage)
|
||||||
|
|||||||
@@ -79,11 +79,13 @@ bool CGuildMarkUploader::__Load(const char* c_szFileName, UINT* peError)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Copy into our mark buffer (BGRA expected)
|
// Copy into our mark buffer (BGRA expected)
|
||||||
for (int i = 0; i < width * height; ++i) {
|
for (uint32_t i = 0; i < width * height; ++i) {
|
||||||
m_kMark.m_apxBuf[i * 4 + 0] = data[i * 4 + 2]; // B
|
const uint8_t R = data[i * 4 + 0];
|
||||||
m_kMark.m_apxBuf[i * 4 + 1] = data[i * 4 + 1]; // G
|
const uint8_t G = data[i * 4 + 1];
|
||||||
m_kMark.m_apxBuf[i * 4 + 2] = data[i * 4 + 0]; // R
|
const uint8_t B = data[i * 4 + 2];
|
||||||
m_kMark.m_apxBuf[i * 4 + 3] = data[i * 4 + 3]; // A
|
const uint8_t A = data[i * 4 + 3];
|
||||||
|
|
||||||
|
m_kMark.m_apxBuf[i] = (uint32_t(A) << 24) | (uint32_t(R) << 16) | (uint32_t(G) << 8) | uint32_t(B);
|
||||||
}
|
}
|
||||||
|
|
||||||
stbi_image_free(data);
|
stbi_image_free(data);
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#ifndef __INC_METIN_II_MARKIMAGE_H__
|
#ifndef __INC_METIN_II_MARKIMAGE_H__
|
||||||
#define __INC_METIN_II_MARKIMAGE_H__
|
#define __INC_METIN_II_MARKIMAGE_H__
|
||||||
|
|
||||||
typedef unsigned long Pixel;
|
typedef uint32_t Pixel;
|
||||||
|
|
||||||
struct SGuildMark
|
struct SGuildMark
|
||||||
{
|
{
|
||||||
@@ -100,7 +100,7 @@ class CGuildMarkImage
|
|||||||
void BuildAllBlocks();
|
void BuildAllBlocks();
|
||||||
|
|
||||||
SGuildMarkBlock m_aakBlock[BLOCK_ROW_COUNT][BLOCK_COL_COUNT];
|
SGuildMarkBlock m_aakBlock[BLOCK_ROW_COUNT][BLOCK_COL_COUNT];
|
||||||
Pixel m_apxImage[WIDTH * HEIGHT * sizeof(Pixel)];
|
Pixel m_apxImage[WIDTH * HEIGHT];
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -540,9 +540,11 @@ void CPythonTextTail::RegisterCharacterTextTail(DWORD dwGuildID, DWORD dwVirtual
|
|||||||
|
|
||||||
if (CGuildMarkManager::Instance().GetMarkImageFilename(dwMarkID / CGuildMarkImage::MARK_TOTAL_COUNT, markImagePath))
|
if (CGuildMarkManager::Instance().GetMarkImageFilename(dwMarkID / CGuildMarkImage::MARK_TOTAL_COUNT, markImagePath))
|
||||||
{
|
{
|
||||||
|
CPackManager::instance().SetFileLoadMode();
|
||||||
pTextTail->pMarkInstance->SetImageFileName(markImagePath.c_str());
|
pTextTail->pMarkInstance->SetImageFileName(markImagePath.c_str());
|
||||||
pTextTail->pMarkInstance->Load();
|
pTextTail->pMarkInstance->Load();
|
||||||
pTextTail->pMarkInstance->SetIndex(dwMarkID % CGuildMarkImage::MARK_TOTAL_COUNT);
|
pTextTail->pMarkInstance->SetIndex(dwMarkID % CGuildMarkImage::MARK_TOTAL_COUNT);
|
||||||
|
CPackManager::instance().SetPackLoadMode();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user