fixed 4wins, uno ranking output and some language strings
[NeonServV5.git] / src / modules / NeonFun.mod / game_4wins.c
index 88503a184cec1bfcc15869a88eb10c66d075db3a..6698eaea649cef2ef052a14155c63b578b900b09 100644 (file)
@@ -78,7 +78,7 @@ int fourwins_check_win(struct fourwins_game *game, int x, int y) {
             else
                 break;
         }
-        for(ix = x, iy = y; ix >= 0 && iy >= 0; ix--, iy--) {
+        for(ix = x-1, iy = y-1; ix >= 0 && iy >= 0; ix--, iy--) {
             if(game->matrix[ix][iy].field == field)
                 fc++;
             else
@@ -96,7 +96,7 @@ int fourwins_check_win(struct fourwins_game *game, int x, int y) {
             else
                 break;
         }
-        for(ix = x, iy = y; ix >= 0 && iy < FOURWINS_MATRIX_HEIGHT; ix--, iy++) {
+        for(ix = x-1, iy = y+1; ix >= 0 && iy < FOURWINS_MATRIX_HEIGHT; ix--, iy++) {
             if(game->matrix[ix][iy].field == field)
                 fc++;
             else
@@ -148,7 +148,8 @@ void fourwins_free_game(struct fourwins_game *game) {
             if(prev)
                 prev->next = game->next;
             else
-                fourwins_active_games->next = game->next;
+                fourwins_active_games = game->next;
+            break;
         } else
             prev = cgame;
     }