const wchar_t* DataManager::FormatRace(int race) { wchar_t* p = racBuffer; int filter = 1, i = 1020; for(; filter != 0x1000000; filter <<= 1, ++i) { if(race & filter) { BufferIO::CopyWStrRef(GetSysString(i), p, 16); *p = L'|'; *++p = 0; } } if(p != racBuffer) *(p - 1) = 0; else return unknown_string; return racBuffer; }
const wchar_t* DataManager::FormatType(int type) { wchar_t* p = tpBuffer; int filter = 1, i = 1050; for(; filter != 0x2000000; filter <<= 1, ++i) { if(type & filter) { BufferIO::CopyWStrRef(GetSysString(i), p, 16); *p = L'|'; *++p = 0; } } if(p != tpBuffer) *(p - 1) = 0; else return unknown_string; return tpBuffer; }
const wchar_t* DataManager::FormatAttribute(int attribute) { wchar_t* p = attBuffer; int filter = 1, i = 1010; for(; filter != 0x80; filter <<= 1, ++i) { if(attribute & filter) { BufferIO::CopyWStrRef(GetSysString(i), p, 16); *p = L'|'; *++p = 0; } } if(p != attBuffer) *(p - 1) = 0; else return unknown_string; return attBuffer; }
int32 scriptlib::debug_show_system_hint(lua_State *L) { check_param_count(L, 1); uint32 id = lua_tointeger(L, 1); duel* pduel = interpreter::get_duel_info(L); pduel->write_buffer8(MSG_SHOW_HINT); char* pstr = ""; wcstombs(pstr, GetSysString(id),20); int len = strlen(pstr); if(len > 1024) len = 1024; pduel->write_buffer16(len); memcpy(pduel->bufferp, pstr, len); pduel->bufferp += len; pduel->bufferlen += len; pduel->write_buffer8(0); return 0; }