Commit ba831be8 authored by Chen Bill's avatar Chen Bill

DataManager: fix FormatSetName

parent 382ed9e1
...@@ -344,23 +344,21 @@ std::wstring DataManager::FormatType(unsigned int type) const { ...@@ -344,23 +344,21 @@ std::wstring DataManager::FormatType(unsigned int type) const {
buffer.pop_back(); buffer.pop_back();
return buffer; return buffer;
} }
const wchar_t* DataManager::FormatSetName(const uint16_t setcode[]) { std::wstring DataManager::FormatSetName(const uint16_t setcode[]) const {
wchar_t* p = scBuffer; std::wstring buffer;
for(int i = 0; i < 10; ++i) { for(int i = 0; i < 10; ++i) {
if (!setcode[i]) if (!setcode[i])
break; break;
const wchar_t* setname = GetSetName(setcode[i]); const wchar_t* setname = GetSetName(setcode[i]);
if(setname) { if(setname) {
BufferIO::CopyWStrRef(setname, p, 32); buffer.append(setname);
*p = L'|'; buffer.push_back(L'|');
*++p = 0;
} }
} }
if(p != scBuffer) if (buffer.empty())
*(p - 1) = 0; return std::wstring(unknown_string);
else buffer.pop_back();
return unknown_string; return buffer;
return scBuffer;
} }
const wchar_t* DataManager::FormatLinkMarker(int link_marker) { const wchar_t* DataManager::FormatLinkMarker(int link_marker) {
wchar_t* p = lmBuffer; wchar_t* p = lmBuffer;
......
...@@ -36,7 +36,7 @@ public: ...@@ -36,7 +36,7 @@ public:
std::wstring FormatAttribute(unsigned int attribute) const; std::wstring FormatAttribute(unsigned int attribute) const;
std::wstring FormatRace(unsigned int race) const; std::wstring FormatRace(unsigned int race) const;
std::wstring FormatType(unsigned int type) const; std::wstring FormatType(unsigned int type) const;
const wchar_t* FormatSetName(const uint16_t setcode[]); std::wstring FormatSetName(const uint16_t setcode[]) const;
const wchar_t* FormatLinkMarker(int link_marker); const wchar_t* FormatLinkMarker(int link_marker);
std::unordered_map<unsigned int, std::wstring> _counterStrings; std::unordered_map<unsigned int, std::wstring> _counterStrings;
...@@ -50,7 +50,6 @@ public: ...@@ -50,7 +50,6 @@ public:
wchar_t numStrings[301][4]{}; wchar_t numStrings[301][4]{};
wchar_t numBuffer[6]{}; wchar_t numBuffer[6]{};
wchar_t scBuffer[128]{};
wchar_t lmBuffer[32]{}; wchar_t lmBuffer[32]{};
static byte scriptBuffer[0x20000]; static byte scriptBuffer[0x20000];
......
...@@ -1563,7 +1563,7 @@ void Game::ShowCardInfo(int code, bool resize) { ...@@ -1563,7 +1563,7 @@ void Game::ShowCardInfo(int code, bool resize) {
} }
if (target->second.setcode[0]) { if (target->second.setcode[0]) {
offset = 23;// *yScale; offset = 23;// *yScale;
myswprintf(formatBuffer, L"%ls%ls", dataManager.GetSysString(1329), dataManager.FormatSetName(target->second.setcode)); myswprintf(formatBuffer, L"%ls%ls", dataManager.GetSysString(1329), dataManager.FormatSetName(target->second.setcode).c_str());
stSetName->setText(formatBuffer); stSetName->setText(formatBuffer);
} }
else else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment