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;