//static void FaceGenManager::BlitFaceIm(SDLSurfacePtr &faceim, Sint8 &genderOut, const Uint32 flags, const Uint32 seed) { Random rand(seed); const int species = (m_species.size()==1) ? 0 : rand.Int32(0,m_species.size()-1); const int race = rand.Int32(0,NumRaces(species)-1); int gender; switch (flags & GENDER_MASK) { case GENDER_MALE: gender = 0; break; case GENDER_FEMALE: gender = 1; break; case GENDER_RAND: default: gender = rand.Int32(0,NumGenders(species)-1); break; } genderOut = gender; const int head = rand.Int32(0,NumHeads(species,race)-1); const int eyes = rand.Int32(0,NumEyes(species,race)-1); const int nose = rand.Int32(0,NumNoses(species,race)-1); const int mouth = rand.Int32(0,NumMouths(species,race)-1); const int hair = rand.Int32(0,NumHairstyles(species,race)-1); const int clothes = rand.Int32(0,NumClothes(species)-1); const int armour = rand.Int32(0,NumArmour(species)-1); const int accessories = rand.Int32(0,NumAccessories(species)-1); const int background = rand.Int32(0,NumBackground(species)-1); FaceGenManager::TQueryResult res; FaceGenManager::GetImagesForCharacter(res, species, race, gender, head, eyes, nose, mouth, hair, clothes, armour, accessories, background); _blit_image(faceim, res.mBackground, 0, 0); _blit_image(faceim, res.mHead, 0, 0); if (!(flags & ARMOUR)) { _blit_image(faceim, res.mClothes, 0, 135); } _blit_image(faceim, res.mEyes, 0, 41); _blit_image(faceim, res.mNose, 1, 89); _blit_image(faceim, res.mMouth, 0, 155); if (!(flags & ARMOUR)) { if (rand.Int32(0,1)>0) _blit_image(faceim, res.mAccessories, 0, 0); _blit_image(faceim, res.mHairstyle, 0, 0); } else { _blit_image(faceim, res.mArmour, 0, 0); } }
int visual_numeric_pad (int x_num, int y_num) { //background window Rect NumBackground(Vec2D (x_num, y_num ), Vec2D ( 480,300)); NumBackground.SetRoundness(15); NumBackground.SetLineWidth(epaisseur_ligne_fader*3); NumBackground.Draw(CouleurFond); if(window_focus_id==903) { NumBackground.DrawOutline(CouleurFader); } else { NumBackground.DrawOutline(CouleurLigne); } level_wheel(x_num+270,y_num+35,rayon_wheel_level,angle_correction_wheel); //premiere ligne 1 2 3 for (int loi=0;loi<3;loi++) { Rect MyNum(Vec2D(x_num+10+(70*loi),y_num+16),Vec2D(60,60)); MyNum.SetRoundness(7.5); MyNum.SetLineWidth(epaisseur_ligne_fader); if (show_numpad_midi[1+loi]==1){MyNum.Draw(CouleurSurvol);show_numpad_midi[1+loi]=0;} MyNum.DrawOutline(CouleurLigne); if( Midi_Faders_Affectation_Type!=0)//config midi { if(mouse_x>x_num+10+(70*loi) && mouse_x<x_num+70+(70*loi) && mouse_y>y_num+16 && mouse_y<y_num+76) { MyNum.DrawOutline(CouleurBlind); } } } //deuxieme ligne 4 5 6 for (int loi=0;loi<3;loi++) { Rect MyNum(Vec2D(x_num+10+(70*loi),y_num+86),Vec2D(60,60)); MyNum.SetRoundness(7.5); MyNum.SetLineWidth(epaisseur_ligne_fader); if (show_numpad_midi[4+loi]==1){MyNum.Draw(CouleurSurvol);show_numpad_midi[4+loi]=0;} MyNum.DrawOutline(CouleurLigne); if( Midi_Faders_Affectation_Type!=0)//config midi { if(mouse_x>x_num+10+(70*loi) && mouse_x<x_num+70+(70*loi) && mouse_y>y_num+86 && mouse_y<y_num+146) { MyNum.DrawOutline(CouleurBlind); } } } //troisieme ligne 7 8 9 for (int loi=0;loi<3;loi++) { Rect MyNum(Vec2D(x_num+10+(70*loi),y_num+156),Vec2D(60,60)); MyNum.SetRoundness(7.5); MyNum.SetLineWidth(epaisseur_ligne_fader); if (show_numpad_midi[7+loi]==1){MyNum.Draw(CouleurSurvol);show_numpad_midi[7+loi]=0;} MyNum.DrawOutline(CouleurLigne); if(Midi_Faders_Affectation_Type!=0)//config midi { if(mouse_x>x_num+10+(70*loi) && mouse_x<x_num+70+(70*loi) && mouse_y>y_num+156 && mouse_y<y_num+216) { MyNum.DrawOutline(CouleurBlind); } } } //quatrieme ligne 0 point Clear for (int loi=0;loi<3;loi++) { Rect MyNum(Vec2D(x_num+10+(70*loi),y_num+226),Vec2D(60,60)); MyNum.SetRoundness(7.5); MyNum.SetLineWidth(epaisseur_ligne_fader); MyNum.DrawOutline(CouleurLigne); switch(loi) { case 0: if (show_numpad_midi[0]==1){MyNum.Draw(CouleurSurvol);show_numpad_midi[0]=0;} break; case 1: if (show_numpad_midi[10]==1){MyNum.Draw(CouleurSurvol);show_numpad_midi[10]=0;} break; if (show_numpad_midi[11]==1){MyNum.Draw(CouleurSurvol);show_numpad_midi[11]=0;} case 2: break; } if(Midi_Faders_Affectation_Type!=0)//config midi { if(mouse_x>x_num+10+(70*loi) && mouse_x<x_num+70+(70*loi) && mouse_y>y_num+226 && mouse_y<y_num+286) { MyNum.DrawOutline(CouleurBlind); } } } //UP Rect UPT(Vec2D(x_num+220,y_num+86),Vec2D(100,60)); UPT.SetRoundness(7.5); UPT.SetLineWidth(epaisseur_ligne_fader); if (show_numpad_midi[18]==1){UPT.Draw(CouleurSurvol);show_numpad_midi[18]=0;} UPT.DrawOutline(CouleurLigne); if( Midi_Faders_Affectation_Type!=0)//config midi { if(mouse_x>x_num+220 && mouse_x<x_num+320 && mouse_y>y_num+86 && mouse_y<y_num+146) { UPT.DrawOutline(CouleurBlind); } } // //DOWN Rect DOWNT(Vec2D(x_num+220,y_num+156),Vec2D(100,60)); DOWNT.SetRoundness(7.5); DOWNT.SetLineWidth(epaisseur_ligne_fader); if (show_numpad_midi[19]==1){DOWNT.Draw(CouleurSurvol);show_numpad_midi[19]=0;} DOWNT.DrawOutline(CouleurLigne); if(Midi_Faders_Affectation_Type!=0)//config midi { if(mouse_x>x_num+220 && mouse_x<x_num+320 && mouse_y>y_num+156 && mouse_y<y_num+216) { DOWNT.DrawOutline(CouleurBlind); } } //ENTER Rect ENTERT(Vec2D(x_num+220,y_num+226),Vec2D(100,60)); ENTERT.SetRoundness(7.5); ENTERT.SetLineWidth(epaisseur_ligne_fader); if (show_numpad_midi[15]==1){ENTERT.Draw(CouleurSurvol);show_numpad_midi[15]=0;} ENTERT.DrawOutline(CouleurLigne); if( Midi_Faders_Affectation_Type!=0)//config midi { if(mouse_x>x_num+220 && mouse_x<x_num+320 && mouse_y>y_num+226 && mouse_y<y_num+286) { ENTERT.DrawOutline(CouleurBlind); } } //+ Rect MyPlus(Vec2D(x_num+330,y_num+86),Vec2D(60,60)); MyPlus.SetRoundness(7.5); MyPlus.SetLineWidth(epaisseur_ligne_fader); if (show_numpad_midi[16]==1){MyPlus.Draw(CouleurSurvol);show_numpad_midi[16]=0;} MyPlus.DrawOutline(CouleurLigne); if( Midi_Faders_Affectation_Type!=0)//config midi { if(mouse_x>x_num+330 && mouse_x<x_num+390 && mouse_y>y_num+86 && mouse_y<y_num+146) { MyPlus.DrawOutline(CouleurBlind); } } //- Rect MyMinus(Vec2D(x_num+330,y_num+156),Vec2D(60,60)); MyMinus.SetRoundness(7.5); MyMinus.SetLineWidth(epaisseur_ligne_fader); if (show_numpad_midi[17]==1){MyMinus.Draw(CouleurSurvol);show_numpad_midi[17]=0;} MyMinus.DrawOutline(CouleurLigne); if( Midi_Faders_Affectation_Type!=0)//config midi { if(mouse_x>x_num+330 && mouse_x<x_num+390 && mouse_y>y_num+156 && mouse_y<y_num+216) { MyMinus.DrawOutline(CouleurBlind); } } doom.Print("1",x_num+30, y_num+55); doom.Print("2",x_num+100, y_num+55); doom.Print("3",x_num+170, y_num+55); doom.Print("4",x_num+30, y_num+125); doom.Print("5",x_num+100, y_num+125); doom.Print("6",x_num+170, y_num+125); doom.Print("7",x_num+30, y_num+195); doom.Print("8",x_num+100, y_num+195); doom.Print("9",x_num+170, y_num+195); doom.Print("0",x_num+30, y_num+265); doom.Print(".",x_num+105, y_num+265); doom.Print("C",x_num+165, y_num+265); doom.Print("up",x_num+250, y_num+125); doom.Print("down",x_num+230, y_num+195); doom.Print("AT",x_num+245, y_num+265); doom.Print("+",x_num+350, y_num+125); doom.Print("-",x_num+350, y_num+195); return(0); }