guild mark uploading fixed

This commit is contained in:
d1str4ught
2025-09-22 02:44:22 +02:00
parent 81c61692f1
commit bdcb68619a
4 changed files with 12 additions and 8 deletions

View File

@@ -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);

View File

@@ -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

View File

@@ -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();
}
}