diff -u luola-1.3.0/src/animation.c src/animation.c
--- luola-1.3.0/src/animation.c	2005-10-22 11:38:22.000000000 +0300
+++ src/animation.c	2005-12-30 02:53:20.000000000 +0200
@@ -180,16 +180,20 @@
 {
     anim_rects = 1;
     if(numplayers==2) {
+        anim_update_rects[0].x = 0;
+        anim_update_rects[0].y = 0;
         anim_update_rects[0].w = screen->w;
         anim_update_rects[0].h = screen->h;
     } else {
-        int plr=0;
+        int plr=0,all=0,r;
+        for(r=0;r<4;r++)
+            if(players[r].state != INACTIVE) all++;
         while(plr<4) {
             if(my_players[plr]) break;
             plr++;
         }
         anim_update_rects[0].x = 0;
-        anim_update_rects[0].y = (screen->h/2) * (plr>1);
+        anim_update_rects[0].y = (screen->h/2) * ((plr>0) && (all>1));
         anim_update_rects[0].w = screen->w;
         anim_update_rects[0].h = screen->h/2;
     }
diff -u luola-1.3.0/src/console.c src/console.c
--- luola-1.3.0/src/console.c	2005-10-23 12:18:25.000000000 +0300
+++ src/console.c	2005-12-30 02:43:30.000000000 +0200
@@ -643,20 +643,20 @@
 
     if (x1 < 0)
         x1 = 0;
-    else if (x1 > screen->w)
-        x1 = screen->w;
+    else if (x1 >= screen->w)
+        x1 = screen->w-1;
     if (x2 < 0)
         x2 = 0;
-    else if (x2 > screen->w)
-        x2 = screen->w;
+    else if (x2 >= screen->w)
+        x2 = screen->w-1;
     if (y1 < 0)
         y1 = 0;
-    else if (y1 > screen->h)
-        y1 = screen->h;
+    else if (y1 >= screen->h)
+        y1 = screen->h-1;
     if (y2 < 0)
         y2 = 0;
-    else if (y2 > screen->h)
-        y2 = screen->h;
+    else if (y2 >= screen->h)
+        y2 = screen->h-1;
 
     dx = x2 - x1;
     dy = y2 - y1;
