Example #1
0
void pkmviewer::on_sbSID_valueChanged(int arg1)
{
    if((temppkm->species > 0) && ((temppkm->pid > 0) || (temppkm->checksum > 0)))
    {
        temppkm->sid = arg1;
        QPixmap * shinypix = new QPixmap();
        QGraphicsScene * shinyscene = new QGraphicsScene();
        if(getpkmshiny(temppkm))
        {
            *shinypix = getshinystar();
        }
        shinyscene->addPixmap(*shinypix);
        ui->pbShiny->setScene(shinyscene);
        QPixmap * spritepixmap = new QPixmap();
        QGraphicsScene * spritescene = new QGraphicsScene();
        *spritepixmap = getpkmsprite(temppkm);
        spritescene->addPixmap(*spritepixmap);
        ui->pbSprite->setScene(spritescene);
    }
}
Example #2
0
void pkmviewer::displayPKM()
{
    redisplayok = false;
    int index = 0;
    this->setWindowTitle(QString::fromStdWString(getpkmnickname(temppkm)));
    switch(temppkm->metlevel_otgender.otgender)
    {
    case Genders::male:
        ui->rbOTMale->setChecked(true);
        break;
    case Genders::female:
        ui->rbOTFemale->setChecked(true);
        break;
    default:
        ui->rbOTMale->setChecked(true);
        break;
    }
    ui->sbTID->setValue(temppkm->tid);
    ui->sbSID->setValue(temppkm->sid);
    ui->cbPKMSpecies->setCurrentIndex((int)(temppkm->species)-1);
    ui->sbSpecies->setValue(temppkm->species);
    //    ui->cbPKMItem->setCurrentIndex((int)temppkm->item);
    index = ui->cbPKMItem->findData((int)temppkm->item);
    if ( index != -1 ) { // -1 for not found
        ui->cbPKMItem->setCurrentIndex(index);
    }
    ui->sbLevel->setValue(getpkmlevel(temppkm));
    ui->sbEXP->setMaximum(getpkmexpatlevel(temppkm->species,100));
    ui->sbEXP->setValue(temppkm->exp);
    int tnl = getpkmexptonext(temppkm);
    if(tnl == 0)
    {
        ui->pbTNL->setMinimum(0);
        ui->pbTNL->setMaximum(1);
        ui->pbTNL->setValue(0);
        ui->pbTNL->setTextVisible(false);
    }
    else
    {
        ui->pbTNL->setMinimum(getpkmexpatcur(temppkm));
        ui->pbTNL->setMaximum(tnl + temppkm->exp);
        ui->pbTNL->setValue(temppkm->exp);
        ui->pbTNL->setTextVisible(true);
    }
    ui->lblTNL->setText(QString::number(getpkmexptonext(temppkm)));
    ui->txtNickname->setText(QString::fromStdWString(getpkmnickname(temppkm)));
    QColor otcolor = Qt::blue;
    if(temppkm->metlevel_otgender.otgender == Genders::female)
    {
        otcolor = Qt::red;
    }
    QPalette OTpalette = ui->txtOTName->palette();
    OTpalette.setColor(ui->txtOTName->foregroundRole(), otcolor);
    ui->txtOTName->setPalette(OTpalette);
    ui->txtOTName->setText(QString::fromStdWString(getpkmotname(temppkm)));
    ui->cbNicknamed->setChecked(temppkm->ivs.isnicknamed);
    QPixmap * itempix = new QPixmap();
    QGraphicsScene * itemscene = new QGraphicsScene();
    *itempix = getitemimage(temppkm->item);
    itemscene->addPixmap(*itempix);
    ui->pbHeldItem->setScene(itemscene);
    QPixmap * type1pix = new QPixmap();
    QGraphicsScene * type1scene = new QGraphicsScene();
    *type1pix = gettypepic(lookuppkmtype(temppkm,1));
    type1scene->addPixmap(*type1pix);
    ui->pbType1->setScene(type1scene);
    int pkmtype2 = 0;
    pkmtype2 = lookuppkmtype(temppkm,2);
    QPixmap * type2pix = new QPixmap();
    QGraphicsScene * type2scene = new QGraphicsScene();
    if(pkmtype2 != -1)
    {
        *type2pix = gettypepic(lookuppkmtype(temppkm,2));
    }
    type2scene->addPixmap(*type2pix);
    ui->pbType2->setScene(type2scene);
    QPixmap * shinypix = new QPixmap();
    QGraphicsScene * shinyscene = new QGraphicsScene();
    if(getpkmshiny(temppkm))
    {
        *shinypix = getshinystar();
    }
    shinyscene->addPixmap(*shinypix);
    ui->pbShiny->setScene(shinyscene);
    QPixmap * spritepixmap = new QPixmap();
    QGraphicsScene * spritescene = new QGraphicsScene();
    *spritepixmap = getpkmsprite(temppkm);
    spritescene->addPixmap(*spritepixmap);
    ui->pbSprite->setScene(spritescene);
    ui->cbBall->setCurrentIndex(((int)temppkm->ball)-1);
    ui->sbHPIV->setValue(temppkm->ivs.hp);
    ui->sbAtkIV->setValue(temppkm->ivs.attack);
    ui->sbDefIV->setValue(temppkm->ivs.defense);
    ui->sbSpAtkIV->setValue(temppkm->ivs.spatk);
    ui->sbSpDefIV->setValue(temppkm->ivs.spdef);
    ui->sbSpeedIV->setValue(temppkm->ivs.speed);
    ui->sbHPEV->setValue(temppkm->evs.hp);
    ui->sbAtkEV->setValue(temppkm->evs.attack);
    ui->sbDefEV->setValue(temppkm->evs.defense);
    ui->sbSpAtkEV->setValue(temppkm->evs.spatk);
    ui->sbSpDefEV->setValue(temppkm->evs.spdef);
    ui->sbSpeedEV->setValue(temppkm->evs.speed);
    ui->cbNatures->setCurrentIndex(temppkm->nature);
    ui->cbMove1->setCurrentIndex(((int)temppkm->moves[0])-1);
    ui->cbMove2->setCurrentIndex((int)temppkm->moves[1]);
    ui->cbMove3->setCurrentIndex((int)temppkm->moves[2]);
    ui->cbMove4->setCurrentIndex((int)temppkm->moves[3]);
    ui->cbPKMAbility->setCurrentIndex(((int)temppkm->ability)-1);
    ui->sbPKRSDays->setValue(temppkm->pkrs.days);
    ui->sbPKRSStrain->setValue(temppkm->pkrs.strain);
    QSpinBox * movePPboxes[4] = {ui->sbMove1PP,ui->sbMove2PP,ui->sbMove3PP,ui->sbMove4PP};
    QSpinBox * movePPUpboxes[4] = {ui->sbMove1PPUps,ui->sbMove2PPUps,ui->sbMove3PPUps,ui->sbMove4PPUps};
    for(int movenum = 0; movenum < 4; movenum++)
    {
        movePPboxes[movenum]->setValue(temppkm->pp[movenum]);
        movePPUpboxes[movenum]->setValue(temppkm->ppup[movenum]);
    }
    int base = 10;
    if(ui->chkHex->isChecked())
    {
        base = 16;
    }
    ui->txtPID->setText(QString::number(temppkm->pid,base).toUpper());
    ui->chkNsPKM->setChecked(temppkm->dwability.n_pkm);
    ui->chkFateful->setChecked(temppkm->forms.fencounter);
    ui->sbMetLevel->setValue((int)temppkm->metlevel_otgender.metlevel);
    ui->chkMetAsEgg->setChecked(pkmmetasegg(temppkm));
    ui->cbEggLocation->setEnabled(ui->chkMetAsEgg->isChecked());
    ui->dtEggDate->setEnabled(ui->chkMetAsEgg->isChecked());
    index = ui->cbHometown->findData((int)temppkm->hometown);
    if ( index != -1 ) { // -1 for not found
        ui->cbHometown->setCurrentIndex(index);
    }
    index = ui->cbCountry->findData((int)temppkm->country);
    if ( index != -1 ) { // -1 for not found
        ui->cbCountry->setCurrentIndex(index);
    }
    index = ui->cbMetLocation->findData((int)temppkm->met);
    if ( index != -1 ) { // -1 for not found
        ui->cbMetLocation->setCurrentIndex(index);
    }
    index = ui->cbEggLocation->findData((int)temppkm->eggmet);
    if ( index != -1 ) { // -1 for not found
        ui->cbEggLocation->setCurrentIndex(index);
    }
    ui->dtEggDate->setDate(QDate(((int)temppkm->eggdate.year)+2000,(int)temppkm->eggdate.month,(int)temppkm->eggdate.day));
    ui->dtMetDate->setDate(QDate(((int)temppkm->metdate.year)+2000,(int)temppkm->metdate.month,(int)temppkm->metdate.day));
    ui->cbForm->clear();
    switch(temppkm->species)
    {
    case Species::castform:
        ui->cbForm->addItem("");
        break;
    case Species::rotom:
        ui->cbForm->addItem("");
        break;
    case Species::kyurem:
        ui->cbForm->addItem("");
        break;
    case Species::genesect:
        ui->cbForm->addItem("");
        break;
    default:
        break;
    }
    for(int formid = 0; formid < 28; formid++)
    {
        std::string formname = getpkmformname((int)temppkm->species,formid);
        if(formname != "")
        {
            ui->cbForm->addItem(QString::fromStdString(formname));
        }
    }
    ui->cbForm->setEnabled(ui->cbForm->count() > 0);
    ui->cbForm->setCurrentIndex((int)temppkm->forms.form);
    redisplayok = true;
    updatepkrs();
    updategenderpic();
    updateabilityflavor();
    updatemarks();
    updatestats();
    updatestatcolors();
    updatemoveflavor();
    updatemovepp();
    updatemoveimages();
    updatemoveinfo();
    updatehidpwr();
}
Example #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 << "')";
}