示例#1
0
void pkmviewer::updategenderpic()
{
    QPixmap * genderpix = new QPixmap();
    QGraphicsScene * genderscene = new QGraphicsScene();
    Genders::genders thegender = calcpkmgender(temppkm);
    if((thegender == Genders::male) || (thegender == Genders::female))
    {
        *genderpix = getgenderpic(thegender);
    }
    genderscene->addPixmap(*genderpix);
    ui->pbGender->setScene(genderscene);

}
示例#2
0
void pkmviewer::on_cbPKMSpecies_currentIndexChanged(int index)
{
    if((temppkm->species > 0) && ((temppkm->pid > 0) || (temppkm->checksum > 0)))
    {
        if(redisplayok)
        {
            temppkm->species = (Species::pkmspecies)(index+1);
            setpkmgender(temppkm,(int)calcpkmgender(temppkm));
            updategenderpic();
            if((index+1) != ui->sbSpecies->value())
            {
                ui->sbSpecies->setValue(index+1);
            }
            pkmviewer::displayPKM();
        }
    }
}
示例#3
0
void getspritesql(ostringstream& o, const pokemon_obj * pkm, int generation)
{
    o
            << "SELECT pokemon_forms.form_identifier "
            << "FROM   pokemon_forms "
            << "       INNER JOIN pokemon_form_generations "
            << "               ON pokemon_forms.id = pokemon_form_generations.pokemon_form_id "
            << "       INNER JOIN pokemon "
            << "               ON pokemon_forms.pokemon_id = pokemon.id "
            << "WHERE  ( pokemon_form_generations.generation_id = " << generation << " ) "
            << "       AND ( pokemon.species_id = " << (int)(pkm->species) << " ) "
            << "       AND ( pokemon_form_generations.game_index = " << (int)(pkm->forms.form) << " ) ";
    //            << "SELECT pokemon_forms.form_identifier "
    //            << "FROM   pokemon_form_names "
    //            << "       INNER JOIN pokemon_forms "
    //            << "               ON pokemon_form_names.pokemon_form_id = pokemon_forms.id "
    //            << "       INNER JOIN pokemon "
    //            << "               ON pokemon_forms.pokemon_id = pokemon.id "
    //            << "WHERE  ( pokemon.species_id = " << (int)(pkm.species) << " ) "
    //            << "       AND ( pokemon_form_names.local_language_id = " << langid << " ) "
    //            << "       AND ( pokemon_forms.form_order = " << (int)(pkm.forms.form) << " + 1 ) ";
    string formid = getastring(o);
    o.str("");
    o.clear();
    o << (int)(pkm->species);
    if(formid != "")
    {
        o << "-" << formid;
    }
    formid = o.str().c_str();
    string tshiny = "";
    if(getpkmshiny(pkm))
    {
        tshiny = "shiny";
    }
    else
    {
        tshiny = "normal";
    }
    if(int(pkm->species) == int(Species::keldeo))
    {
        switch(pkm->forms.form)
        {
        case 0:
            if(tshiny == "shiny")
            {
                formid = "647-regular";
            }
            else
            {
                formid = "647-ordinary";
            }
            break;
        case 1:
            formid = "647-resolution";
            break;
        }
    }
    o.str("");
    o.clear();
    string tgender = "";
    if((pkmhasgenddiff(pkm) && (calcpkmgender(pkm) == Genders::female)) & (int(pkm->species) != int(Species::torchic)) & (int(pkm->species) != int(Species::buizel)) & (int(pkm->species) != int(Species::floatzel)))
    {
        tgender = "female";
    }
    else
    {
        tgender = "male";
    }
    o << "SELECT image FROM front_" << tgender << "_" << tshiny << "_sprites WHERE (identifier = '" << formid << "')";
}
示例#4
0
void geticonsql(ostringstream& o, const pokemon_obj * pkm, int generation)
{
    string formid;
    if(pkm->ivs.isegg)
    {
        if(int(pkm->species) == int(Species::manaphy))
        {
            o << "SELECT image FROM icons_male WHERE (identifier = \"egg-manaphy\")"; // It's a Manaphy egg.
        }
        else
        {
            o << "SELECT image FROM icons_male WHERE (identifier = \"egg\")"; // It's as regular egg.
        }
    }
    else
    {
        //        int formint = pkm->forms.form;
        if(int(pkm->species) == int(Species::arceus))
        {
            //            formint = 0;
            formid = "";
        }
        else
        {
            o
                    << "SELECT pokemon_forms.form_identifier "
                    << "FROM   pokemon_forms "
                    << "       INNER JOIN pokemon_form_generations "
                    << "               ON pokemon_forms.id = pokemon_form_generations.pokemon_form_id "
                    << "       INNER JOIN pokemon "
                    << "               ON pokemon_forms.pokemon_id = pokemon.id "
                    << "WHERE  ( pokemon_form_generations.generation_id = " << generation << " ) "
                    << "       AND ( pokemon.species_id = " << (int)(pkm->species) << " ) "
                    << "       AND ( pokemon_form_generations.game_index = " << (int)(pkm->forms.form) << " ) ";
            //            << "SELECT pokemon_forms.form_identifier "
            //            << "FROM   pokemon_form_names "
            //            << "       INNER JOIN pokemon_forms "
            //            << "               ON pokemon_form_names.pokemon_form_id = pokemon_forms.id "
            //            << "       INNER JOIN pokemon "
            //            << "               ON pokemon_forms.pokemon_id = pokemon.id "
            //            << "WHERE  ( pokemon.species_id = " << (int)(pkm.species) << " ) "
            //            << "       AND ( pokemon_form_names.local_language_id = " << langid << " ) "
            //            << "       AND ( pokemon_forms.form_order = " << (int)(pkm.forms.form) << " + 1 ) ";
            formid = getastring(o);
            o.str("");
            o.clear();
        }
        o << (int)(int(pkm->species));
        if(formid != "")
        {
            o << "-" << formid;
        }
        formid = o.str().c_str();
        o.str("");
        o.clear();
        string tgender = "";
        if(((int(pkm->species) == 521) | (int(pkm->species) == 592) | (int(pkm->species) == 593)) && (calcpkmgender(pkm) == Genders::female))
        {
            tgender = "fe";
        }
        tgender += "male";
        if(int(pkm->species) == int(Species::keldeo))
        {
            switch(pkm->forms.form)
            {
            case 0:
                formid = "647-regular";
                break;
            case 1:
                formid = "647-resolution";
                break;
            }
        }
        if(int(pkm->species) == int(Species::kyurem) && pkm->forms.form != 0)
        {
            if(pkm->forms.form == 1)
            {
                formid = "646-white";
            }
            else
            {
                formid = "646-black";
            }
        }
        o << "SELECT image FROM icons_" << tgender << " WHERE (identifier = \"" << formid << "\")";
    }
}
示例#5
0
bool comparebygenderasc(const pokemon_obj &a, const pokemon_obj &b)
{
    return (int)(calcpkmgender(a)) < (int)(calcpkmgender(b));
}