static utf32_string utf(utf16_char const* str, size_t size) { return utf16_to_utf32(str, size); }
//-----------------------------------------------------------------// inline lstring utf16_to_utf32(const wstring& src) noexcept { lstring dst; utf16_to_utf32(src, dst); return dst; }
// -------------------------------------------------- void BoxViewer::populateVPkmData(vPkm_s* vPkm) // -------------------------------------------------- { memset(vPkm->NKName, 0, 0xD * sizeof(uint32_t)); memset(vPkm->OTName, 0, 0xD * sizeof(uint32_t)); memset(vPkm->HTName, 0, 0xD * sizeof(uint32_t)); utf16_to_utf32(vPkm->NKName, Pokemon::NK_name(vPkm->pkm), 0xD); utf16_to_utf32(vPkm->OTName, Pokemon::OT_name(vPkm->pkm), 0xD); utf16_to_utf32(vPkm->HTName, Pokemon::HT_name(vPkm->pkm), 0xD); u32fix(vPkm->NKName, 0xD); u32fix(vPkm->OTName, 0xD); u32fix(vPkm->HTName, 0xD); vPkm->emptySlot = save->isPkmEmpty(vPkm->pkm); vPkm->isKalosBorn = Pokemon::isKalosBorn(vPkm->pkm); vPkm->isInfected = Pokemon::isInfected(vPkm->pkm); vPkm->isCured = Pokemon::isCured(vPkm->pkm); vPkm->circle = Pokemon::circle(vPkm->pkm); vPkm->triangle = Pokemon::triangle(vPkm->pkm); vPkm->square = Pokemon::square(vPkm->pkm); vPkm->heart = Pokemon::heart(vPkm->pkm); vPkm->star = Pokemon::star(vPkm->pkm); vPkm->diamond = Pokemon::diamond(vPkm->pkm); vPkm->species = data->species(vPkm->pkm->speciesID); vPkm->item = data->items(vPkm->pkm->itemID); vPkm->nature = data->natures(Pokemon::nature(vPkm->pkm)); vPkm->ability = data->abilities(Pokemon::ability(vPkm->pkm)); vPkm->hpType = data->types(Pokemon::HPType(vPkm->pkm)+1); vPkm->moves[0] = data->moves(Pokemon::move1(vPkm->pkm)); vPkm->moves[1] = data->moves(Pokemon::move2(vPkm->pkm)); vPkm->moves[2] = data->moves(Pokemon::move3(vPkm->pkm)); vPkm->moves[3] = data->moves(Pokemon::move4(vPkm->pkm)); vPkm->level = Pokemon::level(vPkm->pkm); vPkm->stats[Stat::HP] = Pokemon::HP(vPkm->pkm); vPkm->stats[Stat::ATK] = Pokemon::ATK(vPkm->pkm); vPkm->stats[Stat::DEF] = Pokemon::DEF(vPkm->pkm); vPkm->stats[Stat::SPA] = Pokemon::SPA(vPkm->pkm); vPkm->stats[Stat::SPD] = Pokemon::SPD(vPkm->pkm); vPkm->stats[Stat::SPE] = Pokemon::SPE(vPkm->pkm); vPkm->ivs[Stat::HP] = Pokemon::IV_HP(vPkm->pkm); vPkm->ivs[Stat::ATK] = Pokemon::IV_ATK(vPkm->pkm); vPkm->ivs[Stat::DEF] = Pokemon::IV_DEF(vPkm->pkm); vPkm->ivs[Stat::SPA] = Pokemon::IV_SPA(vPkm->pkm); vPkm->ivs[Stat::SPD] = Pokemon::IV_SPD(vPkm->pkm); vPkm->ivs[Stat::SPE] = Pokemon::IV_SPE(vPkm->pkm); vPkm->evs[Stat::HP] = Pokemon::EV_HP(vPkm->pkm); vPkm->evs[Stat::ATK] = Pokemon::EV_ATK(vPkm->pkm); vPkm->evs[Stat::DEF] = Pokemon::EV_DEF(vPkm->pkm); vPkm->evs[Stat::SPA] = Pokemon::EV_SPA(vPkm->pkm); vPkm->evs[Stat::SPD] = Pokemon::EV_SPD(vPkm->pkm); vPkm->evs[Stat::SPE] = Pokemon::EV_SPE(vPkm->pkm); vPkm->ball = Pokemon::ball(vPkm->pkm) - 1; if (Pokemon::isGen6Born(vPkm->pkm)) vPkm->gen = 6; else if (Pokemon::isGen5Born(vPkm->pkm)) vPkm->gen = 5; else if (Pokemon::isGen4Born(vPkm->pkm)) vPkm->gen = 4; else if (Pokemon::isGen3Born(vPkm->pkm)) vPkm->gen = 3; else vPkm->gen = 0; }