forked from metin-server/m2dev-client-src
guild mark uploading fixed
This commit is contained in:
@@ -185,7 +185,7 @@ void CGraphicMarkInstance::Load()
|
||||
}
|
||||
|
||||
if (pResource->IsType(CGraphicImage::Type()))
|
||||
SetImagePointer(static_cast<CGraphicImage*>(pResource));
|
||||
SetImagePointer(static_cast<CGraphicImage*>(pResource));
|
||||
}
|
||||
|
||||
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)
|
||||
for (int i = 0; i < width * height; ++i) {
|
||||
m_kMark.m_apxBuf[i * 4 + 0] = data[i * 4 + 2]; // B
|
||||
m_kMark.m_apxBuf[i * 4 + 1] = data[i * 4 + 1]; // G
|
||||
m_kMark.m_apxBuf[i * 4 + 2] = data[i * 4 + 0]; // R
|
||||
m_kMark.m_apxBuf[i * 4 + 3] = data[i * 4 + 3]; // A
|
||||
for (uint32_t i = 0; i < width * height; ++i) {
|
||||
const uint8_t R = data[i * 4 + 0];
|
||||
const uint8_t G = data[i * 4 + 1];
|
||||
const uint8_t B = data[i * 4 + 2];
|
||||
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);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef __INC_METIN_II_MARKIMAGE_H__
|
||||
#define __INC_METIN_II_MARKIMAGE_H__
|
||||
|
||||
typedef unsigned long Pixel;
|
||||
typedef uint32_t Pixel;
|
||||
|
||||
struct SGuildMark
|
||||
{
|
||||
@@ -100,7 +100,7 @@ class CGuildMarkImage
|
||||
void BuildAllBlocks();
|
||||
|
||||
SGuildMarkBlock m_aakBlock[BLOCK_ROW_COUNT][BLOCK_COL_COUNT];
|
||||
Pixel m_apxImage[WIDTH * HEIGHT * sizeof(Pixel)];
|
||||
Pixel m_apxImage[WIDTH * HEIGHT];
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -540,9 +540,11 @@ void CPythonTextTail::RegisterCharacterTextTail(DWORD dwGuildID, DWORD dwVirtual
|
||||
|
||||
if (CGuildMarkManager::Instance().GetMarkImageFilename(dwMarkID / CGuildMarkImage::MARK_TOTAL_COUNT, markImagePath))
|
||||
{
|
||||
CPackManager::instance().SetFileLoadMode();
|
||||
pTextTail->pMarkInstance->SetImageFileName(markImagePath.c_str());
|
||||
pTextTail->pMarkInstance->Load();
|
||||
pTextTail->pMarkInstance->SetIndex(dwMarkID % CGuildMarkImage::MARK_TOTAL_COUNT);
|
||||
CPackManager::instance().SetPackLoadMode();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user