/*


    Evolute version 0.7
    Copyright (C) 2010 Antti Vainio

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.


*/

//          newhiscore.cpp

#include <stdlib.h>
#include <math.h>
#include "global.hpp"
#include "levelit.hpp" //täältä saadaan pisteet

//UUSI ENNÄTYS!
//kerro nimi
void newhiscore() {
     bool pois1 = false; //aloita poistuminen
     bool pois2 = false; //ulos loopista!
     bool meneescmenuun = false;
     float kasautuminen = 0;
     short int valinta = 0;
     short int prewvalinta = 0;
     bool vapautaesc = false;
     
     char hsnimi[16]; //max nimen pituus 15, koska palkki loppuu kesken
     for(int i=0;i<16;i++) hsnimi[i] = '\0'; //asetetaan jokainen tavu nollatavuksi
     short int hsnimikohta = 0;
     short int prewhsnimikohta = 0;
     
     //prewwit joka napille:      uh, mikä homma :/
     bool nappiprew_a = false;
     bool nappiprew_b = false;
     bool nappiprew_c = false;
     bool nappiprew_d = false;
     bool nappiprew_e = false;
     bool nappiprew_f = false;
     bool nappiprew_g = false;
     bool nappiprew_h = false;
     bool nappiprew_i = false;
     bool nappiprew_j = false;
     bool nappiprew_k = false;
     bool nappiprew_l = false;
     bool nappiprew_m = false;
     bool nappiprew_n = false;
     bool nappiprew_o = false;
     bool nappiprew_p = false;
     bool nappiprew_q = false;
     bool nappiprew_r = false;
     bool nappiprew_s = false;
     bool nappiprew_t = false;
     bool nappiprew_u = false;
     bool nappiprew_v = false;
     bool nappiprew_w = false;
     bool nappiprew_x = false;
     bool nappiprew_y = false;
     bool nappiprew_z = false;
     //bool nappiprew_ao; //nämä kolme ei ole käytössä :(
     //bool nappiprew_ae;
     //bool nappiprew_oe;
     
     bool nappiprew_1 = false;
     bool nappiprew_2 = false;
     bool nappiprew_3 = false;
     bool nappiprew_4 = false;
     bool nappiprew_5 = false;
     bool nappiprew_6 = false;
     bool nappiprew_7 = false;
     bool nappiprew_8 = false;
     bool nappiprew_9 = false;
     bool nappiprew_0 = false;
     bool nappiprew_bs = false; //backspace
     bool nappiprew_space = false; //space
     
     while(!pois2) {
                 alkuaika = SDL_GetTicks();
                 
                 //hiiri ja nappulat
                 SDL_GetMouseState(&hiirix,&hiiriy);
                 pelaajaninputit = SDL_GetKeyState(NULL);
                 if(SDL_GetMouseState(NULL, NULL)&SDL_BUTTON(1)) hiiriekanappi = true;
                 else hiiriekanappi = false;
                 
                 //lasketaan kasautuminen
                 if(!pois1) kasautuminen++;
                 else kasautuminen--;
                 if(pois1 && kasautuminen < 1) pois2 = true;
                 
                 //testataan onko hiiri nappien päällä
                 if(kasautuminen > 20 && hiirix > 575 && hiiriy > 555) valinta = -1;
                 else valinta = 0;
                 
                 //testataan irroitettiinko hiiri napin päällä
                 if(kasautuminen > 20 && valinta != 0 && hiiriprewekanappi && !hiiriekanappi) {
                           pois1 = true;
                           menuvalinta = 104;
                           kasautuminen = 20;
                           soitaaani(nappi2); //ääni
                 }
                 
                 //nappiäänet
                 if(hiiriekanappi && !hiiriprewekanappi && valinta != 0) soitaaani(nappi1);
                 else if(valinta != prewvalinta && valinta != 0) {
                            if(hiiriekanappi) soitaaani(nappi1);
                            else soitaaani(nappion);
                 }
                 
                 if(!vapautaesc && !pelaajaninputit[SDLK_ESCAPE]) vapautaesc = true; //vapautetaan esc-nappi
                 if(pelaajaninputit[SDLK_ESCAPE] && vapautaesc) { //ESC-nappi
                           soitaaani(nappi2); //ääni
                           meneescmenuun = true;
                           piirtokohta = tempruutuesc; //piirretäänkin kaikki tempruudulle, kun mennään escmenuun
                 }
                 else if(pelaajaninputit[SDLK_RETURN] && kasautuminen > 20) { //ENTER-nappi
                           soitaaani(nappi2); //ääni
                           pois1 = true;
                           menuvalinta = 104;
                           kasautuminen = 20;
                 }
                 
                 //testataan kaikki *vetin napit
                 if(pelaajaninputit[SDLK_SPACE]) {
                           if(!nappiprew_space && hsnimikohta < 15 && kasautuminen > 20) {
                                            hsnimi[hsnimikohta] = ' ';
                                            hsnimikohta++;
                           }
                           nappiprew_space = true;
                 }
                 else nappiprew_space = false;
                 if(pelaajaninputit[SDLK_a]) {
                           if(!nappiprew_a && hsnimikohta < 15 && kasautuminen > 20) {
                                            if(pelaajaninputit[SDLK_RSHIFT] || pelaajaninputit[SDLK_LSHIFT]) hsnimi[hsnimikohta] = 'A';
                                            else hsnimi[hsnimikohta] = 'a';
                                            hsnimikohta++;
                           }
                           nappiprew_a = true;
                 }
                 else nappiprew_a = false;
                 if(pelaajaninputit[SDLK_b]) {
                           if(!nappiprew_b && hsnimikohta < 15 && kasautuminen > 20) {
                                            if(pelaajaninputit[SDLK_RSHIFT] || pelaajaninputit[SDLK_LSHIFT]) hsnimi[hsnimikohta] = 'B';
                                            else hsnimi[hsnimikohta] = 'b';
                                            hsnimikohta++;
                           }
                           nappiprew_b = true;
                 }
                 else nappiprew_b = false;
                 if(pelaajaninputit[SDLK_c]) {
                           if(!nappiprew_c && hsnimikohta < 15 && kasautuminen > 20) {
                                            if(pelaajaninputit[SDLK_RSHIFT] || pelaajaninputit[SDLK_LSHIFT]) hsnimi[hsnimikohta] = 'C';
                                            else hsnimi[hsnimikohta] = 'c';
                                            hsnimikohta++;
                           }
                           nappiprew_c = true;
                 }
                 else nappiprew_c = false;
                 if(pelaajaninputit[SDLK_d]) {
                           if(!nappiprew_d && hsnimikohta < 15 && kasautuminen > 20) {
                                            if(pelaajaninputit[SDLK_RSHIFT] || pelaajaninputit[SDLK_LSHIFT]) hsnimi[hsnimikohta] = 'D';
                                            else hsnimi[hsnimikohta] = 'd';
                                            hsnimikohta++;
                           }
                           nappiprew_d = true;
                 }
                 else nappiprew_d = false;
                 if(pelaajaninputit[SDLK_e]) {
                           if(!nappiprew_e && hsnimikohta < 15 && kasautuminen > 20) {
                                            if(pelaajaninputit[SDLK_RSHIFT] || pelaajaninputit[SDLK_LSHIFT]) hsnimi[hsnimikohta] = 'E';
                                            else hsnimi[hsnimikohta] = 'e';
                                            hsnimikohta++;
                           }
                           nappiprew_e = true;
                 }
                 else nappiprew_e = false;
                 if(pelaajaninputit[SDLK_f]) {
                           if(!nappiprew_f && hsnimikohta < 15 && kasautuminen > 20) {
                                            if(pelaajaninputit[SDLK_RSHIFT] || pelaajaninputit[SDLK_LSHIFT]) hsnimi[hsnimikohta] = 'F';
                                            else hsnimi[hsnimikohta] = 'f';
                                            hsnimikohta++;
                           }
                           nappiprew_f = true;
                 }
                 else nappiprew_f = false;
                 if(pelaajaninputit[SDLK_g]) {
                           if(!nappiprew_g && hsnimikohta < 15 && kasautuminen > 20) {
                                            if(pelaajaninputit[SDLK_RSHIFT] || pelaajaninputit[SDLK_LSHIFT]) hsnimi[hsnimikohta] = 'G';
                                            else hsnimi[hsnimikohta] = 'g';
                                            hsnimikohta++;
                           }
                           nappiprew_g = true;
                 }
                 else nappiprew_g = false;
                 if(pelaajaninputit[SDLK_h]) {
                           if(!nappiprew_h && hsnimikohta < 15 && kasautuminen > 20) {
                                            if(pelaajaninputit[SDLK_RSHIFT] || pelaajaninputit[SDLK_LSHIFT]) hsnimi[hsnimikohta] = 'H';
                                            else hsnimi[hsnimikohta] = 'h';
                                            hsnimikohta++;
                           }
                           nappiprew_h = true;
                 }
                 else nappiprew_h = false;
                 if(pelaajaninputit[SDLK_i]) {
                           if(!nappiprew_i && hsnimikohta < 15 && kasautuminen > 20) {
                                            if(pelaajaninputit[SDLK_RSHIFT] || pelaajaninputit[SDLK_LSHIFT]) hsnimi[hsnimikohta] = 'I';
                                            else hsnimi[hsnimikohta] = 'i';
                                            hsnimikohta++;
                           }
                           nappiprew_i = true;
                 }
                 else nappiprew_i = false;
                 if(pelaajaninputit[SDLK_j]) {
                           if(!nappiprew_j && hsnimikohta < 15 && kasautuminen > 20) {
                                            if(pelaajaninputit[SDLK_RSHIFT] || pelaajaninputit[SDLK_LSHIFT]) hsnimi[hsnimikohta] = 'J';
                                            else hsnimi[hsnimikohta] = 'j';
                                            hsnimikohta++;
                           }
                           nappiprew_j = true;
                 }
                 else nappiprew_j = false;
                 if(pelaajaninputit[SDLK_k]) {
                           if(!nappiprew_k && hsnimikohta < 15 && kasautuminen > 20) {
                                            if(pelaajaninputit[SDLK_RSHIFT] || pelaajaninputit[SDLK_LSHIFT]) hsnimi[hsnimikohta] = 'K';
                                            else hsnimi[hsnimikohta] = 'k';
                                            hsnimikohta++;
                           }
                           nappiprew_k = true;
                 }
                 else nappiprew_k = false;
                 if(pelaajaninputit[SDLK_l]) {
                           if(!nappiprew_l && hsnimikohta < 15 && kasautuminen > 20) {
                                            if(pelaajaninputit[SDLK_RSHIFT] || pelaajaninputit[SDLK_LSHIFT]) hsnimi[hsnimikohta] = 'L';
                                            else hsnimi[hsnimikohta] = 'l';
                                            hsnimikohta++;
                           }
                           nappiprew_l = true;
                 }
                 else nappiprew_l = false;
                 if(pelaajaninputit[SDLK_m]) {
                           if(!nappiprew_m && hsnimikohta < 15 && kasautuminen > 20) {
                                            if(pelaajaninputit[SDLK_RSHIFT] || pelaajaninputit[SDLK_LSHIFT]) hsnimi[hsnimikohta] = 'M';
                                            else hsnimi[hsnimikohta] = 'm';
                                            hsnimikohta++;
                           }
                           nappiprew_m = true;
                 }
                 else nappiprew_m = false;
                 if(pelaajaninputit[SDLK_n]) {
                           if(!nappiprew_n && hsnimikohta < 15 && kasautuminen > 20) {
                                            if(pelaajaninputit[SDLK_RSHIFT] || pelaajaninputit[SDLK_LSHIFT]) hsnimi[hsnimikohta] = 'N';
                                            else hsnimi[hsnimikohta] = 'n';
                                            hsnimikohta++;
                           }
                           nappiprew_n = true;
                 }
                 else nappiprew_n = false;
                 if(pelaajaninputit[SDLK_o]) {
                           if(!nappiprew_o && hsnimikohta < 15 && kasautuminen > 20) {
                                            if(pelaajaninputit[SDLK_RSHIFT] || pelaajaninputit[SDLK_LSHIFT]) hsnimi[hsnimikohta] = 'O';
                                            else hsnimi[hsnimikohta] = 'o';
                                            hsnimikohta++;
                           }
                           nappiprew_o = true;
                 }
                 else nappiprew_o = false;
                 if(pelaajaninputit[SDLK_p]) {
                           if(!nappiprew_p && hsnimikohta < 15 && kasautuminen > 20) {
                                            if(pelaajaninputit[SDLK_RSHIFT] || pelaajaninputit[SDLK_LSHIFT]) hsnimi[hsnimikohta] = 'P';
                                            else hsnimi[hsnimikohta] = 'p';
                                            hsnimikohta++;
                           }
                           nappiprew_p = true;
                 }
                 else nappiprew_p = false;
                 if(pelaajaninputit[SDLK_q]) {
                           if(!nappiprew_q && hsnimikohta < 15 && kasautuminen > 20) {
                                            if(pelaajaninputit[SDLK_RSHIFT] || pelaajaninputit[SDLK_LSHIFT]) hsnimi[hsnimikohta] = 'Q';
                                            else hsnimi[hsnimikohta] = 'q';
                                            hsnimikohta++;
                           }
                           nappiprew_q = true;
                 }
                 else nappiprew_q = false;
                 if(pelaajaninputit[SDLK_r]) {
                           if(!nappiprew_r && hsnimikohta < 15 && kasautuminen > 20) {
                                            if(pelaajaninputit[SDLK_RSHIFT] || pelaajaninputit[SDLK_LSHIFT]) hsnimi[hsnimikohta] = 'R';
                                            else hsnimi[hsnimikohta] = 'r';
                                            hsnimikohta++;
                           }
                           nappiprew_r = true;
                 }
                 else nappiprew_r = false;
                 if(pelaajaninputit[SDLK_s]) {
                           if(!nappiprew_s && hsnimikohta < 15 && kasautuminen > 20) {
                                            if(pelaajaninputit[SDLK_RSHIFT] || pelaajaninputit[SDLK_LSHIFT]) hsnimi[hsnimikohta] = 'S';
                                            else hsnimi[hsnimikohta] = 's';
                                            hsnimikohta++;
                           }
                           nappiprew_s = true;
                 }
                 else nappiprew_s = false;
                 if(pelaajaninputit[SDLK_t]) {
                           if(!nappiprew_t && hsnimikohta < 15 && kasautuminen > 20) {
                                            if(pelaajaninputit[SDLK_RSHIFT] || pelaajaninputit[SDLK_LSHIFT]) hsnimi[hsnimikohta] = 'T';
                                            else hsnimi[hsnimikohta] = 't';
                                            hsnimikohta++;
                           }
                           nappiprew_t = true;
                 }
                 else nappiprew_t = false;
                 if(pelaajaninputit[SDLK_u]) {
                           if(!nappiprew_u && hsnimikohta < 15 && kasautuminen > 20) {
                                            if(pelaajaninputit[SDLK_RSHIFT] || pelaajaninputit[SDLK_LSHIFT]) hsnimi[hsnimikohta] = 'U';
                                            else hsnimi[hsnimikohta] = 'u';
                                            hsnimikohta++;
                           }
                           nappiprew_u = true;
                 }
                 else nappiprew_u = false;
                 if(pelaajaninputit[SDLK_v]) {
                           if(!nappiprew_v && hsnimikohta < 15 && kasautuminen > 20) {
                                            if(pelaajaninputit[SDLK_RSHIFT] || pelaajaninputit[SDLK_LSHIFT]) hsnimi[hsnimikohta] = 'V';
                                            else hsnimi[hsnimikohta] = 'v';
                                            hsnimikohta++;
                           }
                           nappiprew_v = true;
                 }
                 else nappiprew_v = false;
                 if(pelaajaninputit[SDLK_w]) {
                           if(!nappiprew_w && hsnimikohta < 15 && kasautuminen > 20) {
                                            if(pelaajaninputit[SDLK_RSHIFT] || pelaajaninputit[SDLK_LSHIFT]) hsnimi[hsnimikohta] = 'W';
                                            else hsnimi[hsnimikohta] = 'w';
                                            hsnimikohta++;
                           }
                           nappiprew_w = true;
                 }
                 else nappiprew_w = false;
                 if(pelaajaninputit[SDLK_x]) {
                           if(!nappiprew_x && hsnimikohta < 15 && kasautuminen > 20) {
                                            if(pelaajaninputit[SDLK_RSHIFT] || pelaajaninputit[SDLK_LSHIFT]) hsnimi[hsnimikohta] = 'X';
                                            else hsnimi[hsnimikohta] = 'x';
                                            hsnimikohta++;
                           }
                           nappiprew_x = true;
                 }
                 else nappiprew_x = false;
                 if(pelaajaninputit[SDLK_y]) {
                           if(!nappiprew_y && hsnimikohta < 15 && kasautuminen > 20) {
                                            if(pelaajaninputit[SDLK_RSHIFT] || pelaajaninputit[SDLK_LSHIFT]) hsnimi[hsnimikohta] = 'Y';
                                            else hsnimi[hsnimikohta] = 'y';
                                            hsnimikohta++;
                           }
                           nappiprew_y = true;
                 }
                 else nappiprew_y = false;
                 if(pelaajaninputit[SDLK_z]) {
                           if(!nappiprew_z && hsnimikohta < 15 && kasautuminen > 20) {
                                            if(pelaajaninputit[SDLK_RSHIFT] || pelaajaninputit[SDLK_LSHIFT]) hsnimi[hsnimikohta] = 'Z';
                                            else hsnimi[hsnimikohta] = 'z';
                                            hsnimikohta++;
                           }
                           nappiprew_z = true;
                 }
                 else nappiprew_z = false;
                 if(pelaajaninputit[SDLK_0]) {
                           if(!nappiprew_0 && hsnimikohta < 15 && kasautuminen > 20) {
                                            hsnimi[hsnimikohta] = '0';
                                            hsnimikohta++;
                           }
                           nappiprew_0 = true;
                 }
                 else nappiprew_0 = false;
                 if(pelaajaninputit[SDLK_1]) {
                           if(!nappiprew_1 && hsnimikohta < 15 && kasautuminen > 20) {
                                            hsnimi[hsnimikohta] = '1';
                                            hsnimikohta++;
                           }
                           nappiprew_1 = true;
                 }
                 else nappiprew_1 = false;
                 if(pelaajaninputit[SDLK_2]) {
                           if(!nappiprew_2 && hsnimikohta < 15 && kasautuminen > 20) {
                                            hsnimi[hsnimikohta] = '2';
                                            hsnimikohta++;
                           }
                           nappiprew_2 = true;
                 }
                 else nappiprew_2 = false;
                 if(pelaajaninputit[SDLK_3]) {
                           if(!nappiprew_3 && hsnimikohta < 15 && kasautuminen > 20) {
                                            hsnimi[hsnimikohta] = '3';
                                            hsnimikohta++;
                           }
                           nappiprew_3 = true;
                 }
                 else nappiprew_3 = false;
                 if(pelaajaninputit[SDLK_4]) {
                           if(!nappiprew_4 && hsnimikohta < 15 && kasautuminen > 20) {
                                            hsnimi[hsnimikohta] = '4';
                                            hsnimikohta++;
                           }
                           nappiprew_4 = true;
                 }
                 else nappiprew_4 = false;
                 if(pelaajaninputit[SDLK_5]) {
                           if(!nappiprew_5 && hsnimikohta < 15 && kasautuminen > 20) {
                                            hsnimi[hsnimikohta] = '5';
                                            hsnimikohta++;
                           }
                           nappiprew_5 = true;
                 }
                 else nappiprew_5 = false;
                 if(pelaajaninputit[SDLK_6]) {
                           if(!nappiprew_6 && hsnimikohta < 15 && kasautuminen > 20) {
                                            hsnimi[hsnimikohta] = '6';
                                            hsnimikohta++;
                           }
                           nappiprew_6 = true;
                 }
                 else nappiprew_6 = false;
                 if(pelaajaninputit[SDLK_7]) {
                           if(!nappiprew_7 && hsnimikohta < 15 && kasautuminen > 20) {
                                            hsnimi[hsnimikohta] = '7';
                                            hsnimikohta++;
                           }
                           nappiprew_7 = true;
                 }
                 else nappiprew_7 = false;
                 if(pelaajaninputit[SDLK_8]) {
                           if(!nappiprew_8 && hsnimikohta < 15 && kasautuminen > 20) {
                                            hsnimi[hsnimikohta] = '8';
                                            hsnimikohta++;
                           }
                           nappiprew_8 = true;
                 }
                 else nappiprew_8 = false;
                 if(pelaajaninputit[SDLK_9]) {
                           if(!nappiprew_9 && hsnimikohta < 15 && kasautuminen > 20) {
                                            hsnimi[hsnimikohta] = '9';
                                            hsnimikohta++;
                           }
                           nappiprew_9 = true;
                 }
                 else nappiprew_9 = false;
                 
                 //kumitetaan
                 if(pelaajaninputit[SDLK_BACKSPACE]) {
                           if(!nappiprew_bs && hsnimikohta > 0 && kasautuminen > 20) {
                                            hsnimikohta--;
                                            hsnimi[hsnimikohta] = '\0';
                           }
                           nappiprew_bs = true;
                 }
                 else nappiprew_bs = false;
                 
                 //nappiäänet
                 if(hsnimikohta != prewhsnimikohta) soitaaani(nappi1);
                 
                      //Piirretään kaikki
                 SDL_SetAlpha(valkoinenfade, SDL_SRCALPHA, 255);
                 piirrakuva2(valkoinenfade, 0, 0);
                 //napit
                 if(kasautuminen < 20) piirrakuva(statscontinue[0], 681, 675 - 5 * kasautuminen);
                 else if(valinta == -1 && hiiriprewekanappi) piirrakuva(statscontinue[2], 681, 575);
                 else if(valinta == -1) piirrakuva(statscontinue[1], 681, 575);
                 else piirrakuva(statscontinue[0], 681, 575);
                 //muut
                 if(kasautuminen < 20 && !pois1) piirrakuva(newhstausta, 1000 - 30 * kasautuminen, 300);
                 else if(kasautuminen < 20 && pois1) piirrakuva(newhstausta, 30 * kasautuminen - 200, 300);
                 else piirrakuva(newhstausta, 400, 300);
                 if(hsnimi[0] == '\0') { //piirretään kehotus typetä oma nimi
                              if(kasautuminen < 20 && !pois1) piirrakuva2(newhstype, 850 - 30 * kasautuminen, 275);
                              else if(kasautuminen < 20 && pois1) piirrakuva2(newhstype, 30 * kasautuminen - 350, 275);
                              else piirrakuva2(newhstype, 250, 275);
                 }
                 else {
                              if(kasautuminen < 20) piirrateksti(hsnimi, 30 * kasautuminen - 341, 284, 1, 0);
                              else piirrateksti(hsnimi, 259, 284, 1, 0);
                 }
                 //loput
                 if(showfpseverywhere == 2) piirraexpluku(fps, 7);
                 piirrakuva2(menutahtain, hiirix - 1, hiiriy - 1);
                 
                 SDL_Flip(ruutu);
                 
                 //Lopussa tehtävät asiat
                 if(hiiriekanappi) hiiriprewekanappi = true;
                 else hiiriprewekanappi = false;
                 prewvalinta = valinta;
                 prewhsnimikohta = hsnimikohta;
                 
                      if(hoidatapahtumat()) pois2 = true;
                      laskefps();
                      
     //mennään escmenuun
     if(meneescmenuun) {
            meneescmenuun = false;
            vapautaesc = false; //lukitaan esc-nappi
            if(escmenu()) { //poistutaan menuun
                 pois2 = true;
                 menuvalinta = -1;
            }
            if(kokonaanpois) { //poistutaan kokonaan
                 pois2 = true;
                 menuvalinta = -1;
                 kokonaanpois = true;
            }
     }
    //tähän loppuu looppi
    }
    //tallennetaan hiscore
    if(hsnimi[0] != '\0') {
                  if(!avaahiscore()) { //tiedostoa ei voinut avata
                                     luouusihiscoref(); //tehdään uusi
                                     avaahiscore(); //avataan uudelleen
                  }
                  if(tiedosto != NULL) {
                                     char fnimet[10][20];
                                     int fpisteet[10];
                                     //luetaan tiedosto
                                     for(int i=0;i<10;i++) {
                                             fgets(fnimet[i], 20, tiedosto);
                                             fgets(tiedostorivi, 20, tiedosto);
                                             fpisteet[i] = atoi(tiedostorivi);
                                     }
                                     //kirjoitetaan uusiksi
                                     rewind(tiedosto);
                                     for(int i=0;i<9;i++) {
                                             if(i == 0 && pisteet >= fpisteet[0]) fprintf(tiedosto, "%s\n%i\n", hsnimi, pisteet);
                                             else if(pisteet >= fpisteet[i] && pisteet < fpisteet[i - 1]) fprintf(tiedosto, "%s\n%i\n", hsnimi, pisteet);
                                             fprintf(tiedosto, "%s%i\n", fnimet[i], fpisteet[i]);
                                             if(i == 8 && pisteet < fpisteet[8]) fprintf(tiedosto, "%s\n%i\n", hsnimi, pisteet);
                                     }
                                     sprintf(viesti, "New hiscore for %s saved: %s - %i", nykyinenkartta, hsnimi, pisteet);
                                     log(viesti);
                                     //suljetaan
                                     fclose(tiedosto);
                  }
    }
}
