Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void CPythonSkill::__RegisterPetSkillIcon(TPetSkillData & rData, const char * c_szHeader, const char * c_szImageName)
- {
- std::string strFileName = "";
- strFileName += c_szHeader;
- strFileName += c_szImageName;
- strFileName += ".sub";
- rData.pImage = CResourceManager::Instance().LoadResource<CGraphicImage>(strFileName);
- }
- bool CPythonSkill::RegisterPetSkill(const char * c_szFileName)
- {
- CMappedFile kFile;
- if (!GetPak().OpenFile(c_szFileName, kFile))
- return false;
- CMemoryTextFileLoader textFileLoader;
- textFileLoader.Bind(kFile.Size(), kFile.Get());
- CTokenVector TokenVector;
- for (DWORD i = 0; i < textFileLoader.GetLineCount(); ++i) {
- if (!textFileLoader.SplitLineByTab(i, &TokenVector))
- continue;
- if (PET_SKILL_TOKEN_VNUM >= TokenVector.size()) {
- TraceError("PetSkill.line(%d).NO_VNUM_ERROR\n", i + 1);
- continue;
- }
- auto skillIndex = std::stoul(TokenVector[PET_SKILL_TOKEN_VNUM]);
- if (skillIndex == 0) {
- TraceError("PetSkill.line(%d).NO_INDEX_ERROR\n", i + 1);
- continue;
- }
- m_PetSkillDataMap.emplace(skillIndex, TPetSkillData());
- auto& rSkillData = m_PetSkillDataMap[skillIndex];
- rSkillData.skillId = skillIndex;
- rSkillData.name = TokenVector[PET_SKILL_TOKEN_NAME];
- rSkillData.icon = TokenVector[PET_SKILL_TOKEN_ICON];
- auto type = TokenVector[PET_SKILL_TOKEN_SKILL_TYPE];
- if (type == "PASSIVE")
- rSkillData.type = PET_SKILL_TYPE_PASSIVE;
- else if (type == "AUTO")
- rSkillData.type = PET_SKILL_TYPE_AUTO;
- else
- rSkillData.type = PET_SKILL_TYPE_NONE;
- rSkillData.description = TokenVector[PET_SKILL_TOKEN_DESC];
- rSkillData.cooltime = std::stoul(TokenVector[PET_SKILL_TOKEN_COOLTIME]);
- char szIconFileNameHeader[64 + 1];
- _snprintf(szIconFileNameHeader, sizeof(szIconFileNameHeader), "%sskill/pet/", g_strImagePath.c_str());
- __RegisterPetSkillIcon(rSkillData, szIconFileNameHeader, rSkillData.icon.c_str());
- }
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement