diff -u src/alustus.cpp src/alustus.cpp
--- src/alustus.cpp	2010-02-17 19:10:25.481803865 +0200
+++ src/alustus.cpp	2010-02-17 19:10:19.669302972 +0200
@@ -84,6 +84,7 @@
        else { //virhe!
                        sprintf(viesti, "%s", SDL_GetError ());
                        naytavirhe(viesti);
+                       return 0;
        }
 }
 
@@ -105,6 +106,7 @@
        else { //virhe!
                        sprintf(viesti, "%s", SDL_GetError ());
                        naytavirhe(viesti);
+                       return 0;
        }
 }
 
@@ -147,17 +149,19 @@
        else { //virhe!
                        sprintf(viesti, "%s", Mix_GetError());
                        naytavirhe(viesti);
+                       return 0;
        }
 }
 
 //ladataan ääntä
 Mix_Chunk *lataaaani(const char *nimi, const short int kanava) {
        //ladataan aani
-       if (Mix_Chunk *tmp = Mix_LoadWAV_RW(SDL_RWFromFile(nimi, "rb"), kanava)) {
+       if (Mix_Chunk *tmp = Mix_LoadWAV(nimi)) {
                        return tmp;
        }
        else { //virhe!
                        sprintf(viesti, "%s\nCouldn't open %s", Mix_GetError(), nimi);
                        naytavirhe(viesti);
+                       return 0;
        }
 }
diff -u src/asetukset.cpp src/asetukset.cpp
--- src/asetukset.cpp	2010-02-17 19:10:29.165122933 +0200
+++ src/asetukset.cpp	2010-02-17 19:10:19.669302972 +0200
@@ -42,11 +42,11 @@
      float kasautuminen = 0;
      short int valinta = 0;
      short int prewvalinta = 0;
-     short int asetusvalinta = 0;
-     short int prewaanenvoimakkuus, prewmusiikinvoimakkuus;
      
      while(!pois2) {
                  alkuaika = SDL_GetTicks();
+                 short int prewaanenvoimakkuus = aanenvoimakkuus;
+                 short int prewmusiikinvoimakkuus = musiikinvoimakkuus;
                  
                  //hiiri ja nappulat
                  SDL_GetMouseState(&hiirix,&hiiriy);
@@ -260,8 +260,6 @@
                  if(hiiriekanappi) hiiriprewekanappi = true;
                  else hiiriprewekanappi = false;
                  prewvalinta = valinta;
-                 prewaanenvoimakkuus = aanenvoimakkuus;
-                 prewmusiikinvoimakkuus = musiikinvoimakkuus;
                  
                       if(hoidatapahtumat()) pois2 = true;
                       laskefps();
diff -u src/custommapit.cpp src/custommapit.cpp
--- src/custommapit.cpp	2010-02-17 19:10:32.568939660 +0200
+++ src/custommapit.cpp	2010-02-17 19:10:19.672597807 +0200
@@ -35,6 +35,7 @@
 #include <string.h>
 #include <dirent.h>
 #include <math.h>
+#include <vector>
 #include "global.hpp"
 
 //karttavalikko
@@ -55,7 +56,7 @@
      struct dirent *ep;
      dp = opendir ("./maps");
      if(dp != NULL) {
-           while(ep = readdir (dp)) {
+           while((ep = readdir (dp))) {
                     sprintf(maptiedostot[a], "%s", ep->d_name);
                     a++;
            }
@@ -75,7 +76,7 @@
      }
      
      //selvitetään, mitkä mapeista ovat stageja
-     bool onstage[maplkm];
+     std::vector<bool> onstage(maplkm);
      for(int i=maplkm-1;i>=0;i--) {
            char tiedostopolku[40];
            sprintf(tiedostopolku, "maps/%s.txt", mapit[i]);
@@ -195,7 +196,7 @@
                                   if(hiirix > 150 && hiirix < 400) {
                                             int i = maplkm - 1 - int(sivukasautuminen / 32);
                                             if(i > 8) i = 8;
-                                            for(i;i>=0;i--) {
+                                            for(;i>=0;i--) {
                                                       if(hiiriy > 150 + i * 32 && hiiriy < 181 + i * 32) {
                                                                 soitaaani(nappi2); //ääni
                                                                 mappivalinta = i + int(sivukasautuminen / 32);
diff -u src/newhiscore.cpp src/newhiscore.cpp
--- src/newhiscore.cpp	2010-02-17 19:10:46.491787265 +0200
+++ src/newhiscore.cpp	2010-02-17 19:10:19.672597807 +0200
@@ -53,48 +53,7 @@
      short int prewhsnimikohta = 0;
      
      //prewwit joka napille:      uh, mikä homma :/
-     bool nappiprew_a;
-     bool nappiprew_b;
-     bool nappiprew_c;
-     bool nappiprew_d;
-     bool nappiprew_e;
-     bool nappiprew_f;
-     bool nappiprew_g;
-     bool nappiprew_h;
-     bool nappiprew_i;
-     bool nappiprew_j;
-     bool nappiprew_k;
-     bool nappiprew_l;
-     bool nappiprew_m;
-     bool nappiprew_n;
-     bool nappiprew_o;
-     bool nappiprew_p;
-     bool nappiprew_q;
-     bool nappiprew_r;
-     bool nappiprew_s;
-     bool nappiprew_t;
-     bool nappiprew_u;
-     bool nappiprew_v;
-     bool nappiprew_w;
-     bool nappiprew_x;
-     bool nappiprew_y;
-     bool nappiprew_z;
-     bool nappiprew_ao; //nämä kolme ei ole käytössä :(
-     bool nappiprew_ae;
-     bool nappiprew_oe;
-     
-     bool nappiprew_1;
-     bool nappiprew_2;
-     bool nappiprew_3;
-     bool nappiprew_4;
-     bool nappiprew_5;
-     bool nappiprew_6;
-     bool nappiprew_7;
-     bool nappiprew_8;
-     bool nappiprew_9;
-     bool nappiprew_0;
-     bool nappiprew_bs; //backspace
-     bool nappiprew_space; //space
+     bool nappiprew[SDLK_LAST] = {false};
      
      while(!pois2) {
                  alkuaika = SDL_GetTicks();
@@ -143,338 +102,63 @@
                  }
                  
                  //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;
-                 
+#define TARKISTA_NAPPI(SDLK, MERKKI, merkki) \
+	if (pelaajaninputit[SDLK]) { \
+		if(!nappiprew[SDLK] && hsnimikohta < 15 && kasautuminen > 20) { \
+			if (pelaajaninputit[SDLK_RSHIFT] || pelaajaninputit[SDLK_LSHIFT]) hsnimi[hsnimikohta] = MERKKI; \
+			else hsnimi[hsnimikohta] = merkki; \
+			hsnimikohta++; \
+		} \
+		nappiprew[SDLK] = true; \
+	} else nappiprew[SDLK] = false;
+	
+                TARKISTA_NAPPI(SDLK_SPACE, ' ', ' ');
+                TARKISTA_NAPPI(SDLK_a, 'A', 'a');
+                TARKISTA_NAPPI(SDLK_b, 'B', 'b');
+                TARKISTA_NAPPI(SDLK_c, 'C', 'c');
+                TARKISTA_NAPPI(SDLK_d, 'D', 'd');
+                TARKISTA_NAPPI(SDLK_e, 'E', 'e');
+                TARKISTA_NAPPI(SDLK_f, 'F', 'f');
+                TARKISTA_NAPPI(SDLK_g, 'G', 'g');
+                TARKISTA_NAPPI(SDLK_h, 'H', 'h');
+                TARKISTA_NAPPI(SDLK_i, 'I', 'i');
+                TARKISTA_NAPPI(SDLK_j, 'J', 'j');
+                TARKISTA_NAPPI(SDLK_k, 'K', 'k');
+                TARKISTA_NAPPI(SDLK_l, 'L', 'l');
+                TARKISTA_NAPPI(SDLK_m, 'M', 'm');
+                TARKISTA_NAPPI(SDLK_n, 'N', 'n');
+                TARKISTA_NAPPI(SDLK_o, 'O', 'o');
+                TARKISTA_NAPPI(SDLK_p, 'P', 'p');
+                TARKISTA_NAPPI(SDLK_q, 'Q', 'q');
+                TARKISTA_NAPPI(SDLK_r, 'R', 'r');
+                TARKISTA_NAPPI(SDLK_s, 'S', 's');
+                TARKISTA_NAPPI(SDLK_t, 'T', 't');
+                TARKISTA_NAPPI(SDLK_u, 'U', 'u');
+                TARKISTA_NAPPI(SDLK_v, 'V', 'v');
+                TARKISTA_NAPPI(SDLK_w, 'W', 'w');
+                TARKISTA_NAPPI(SDLK_x, 'X', 'x');
+                TARKISTA_NAPPI(SDLK_y, 'Y', 'y');
+                TARKISTA_NAPPI(SDLK_z, 'Z', 'z');
+                TARKISTA_NAPPI(SDLK_0, '0', '0');
+                TARKISTA_NAPPI(SDLK_1, '1', '1');
+                TARKISTA_NAPPI(SDLK_2, '2', '2');
+                TARKISTA_NAPPI(SDLK_3, '3', '3');
+                TARKISTA_NAPPI(SDLK_4, '4', '4');
+                TARKISTA_NAPPI(SDLK_5, '5', '5');
+                TARKISTA_NAPPI(SDLK_6, '6', '6');
+                TARKISTA_NAPPI(SDLK_7, '7', '7');
+                TARKISTA_NAPPI(SDLK_8, '8', '8');
+                TARKISTA_NAPPI(SDLK_9, '9', '9');
+
                  //kumitetaan
                  if(pelaajaninputit[SDLK_BACKSPACE]) {
-                           if(!nappiprew_bs && hsnimikohta > 0 && kasautuminen > 20) {
+                           if(!nappiprew[SDLK_BACKSPACE] && hsnimikohta > 0 && kasautuminen > 20) {
                                             hsnimikohta--;
                                             hsnimi[hsnimikohta] = '\0';
                            }
-                           nappiprew_bs = true;
+                           nappiprew[SDLK_BACKSPACE] = true;
                  }
-                 else nappiprew_bs = false;
+                 else nappiprew[SDLK_BACKSPACE] = false;
                  
                  //nappiäänet
                  if(hsnimikohta != prewhsnimikohta) soitaaani(nappi1);
diff -u src/pelilooppi.cpp src/pelilooppi.cpp
--- src/pelilooppi.cpp	2010-02-17 19:10:50.632593743 +0200
+++ src/pelilooppi.cpp	2010-02-17 19:10:19.672597807 +0200
@@ -1016,7 +1016,7 @@
                                                                               if(vihu[j].tyyppi == 3 || vihu[j].tyyppi == 5) i = 1;
                                                                               else if(vihu[j].tyyppi == 4) i = 3;
                                                                               else i = 0;
-                                                                                       for(i;i>0;i--) {
+                                                                                       for(;i>0;i--) {
                                                                                                 l = 0; k = 0;
                                                                                                 while(!k && l < vihusplatteremittermax) {
                                                                                                          //luodaan splatteremitter
