Simple smooth fix
[neverball] / putt / hole.c
index 27311b7..6ed2da0 100644 (file)
@@ -134,7 +134,7 @@ char *hole_tot(int p)
 
     if (p <= party)
     {
-        for (h = 1; h <= hole && h <= 18; h++)
+        for (h = 1; h <= hole && h < count; h++)
             T += score_v[h][p];
 
         sprintf(str, "%d", T);
@@ -152,7 +152,7 @@ char *hole_out(int p)
 
     if (p <= party)
     {
-        for (h = 1; h <= hole && h <= 9; h++)
+        for (h = 1; h <= hole && h <= count / 2; h++)
             T += score_v[h][p];
 
         sprintf(str, "%d", T);
@@ -267,67 +267,31 @@ int hole_move(void)
     return 0;
 }
 
-void hole_goal(int playerid)
+void hole_goal(void)
 {
-    if (playerid)
-    {
-        /* HACK: If the player has already beaten the hole, return */
-        if (stat_v[playerid] == 1)
-            return;
-
-        game_set_play(playerid, 0);
-
-        if (score_v[hole][playerid] == 1)
-            audio_play(AUD_ONE, 1.0f);
-
-        else if (score_v[hole][playerid] == score_v[hole][0] - 2)
-            audio_play(AUD_EAGLE, 1.0f);
-        else if (score_v[hole][playerid] == score_v[hole][0] - 1)
-            audio_play(AUD_BIRDIE, 1.0f);
-        else if (score_v[hole][playerid] == score_v[hole][0])
-            audio_play(AUD_PAR, 1.0f);
-        else if (score_v[hole][playerid] == score_v[hole][0] + 1)
-            audio_play(AUD_BOGEY, 1.0f);
-        else if (score_v[hole][playerid] == score_v[hole][0] + 2)
-            audio_play(AUD_DOUBLE, 1.0f);
-        else
-            audio_play(AUD_SUCCESS, 1.0f);
-
-        stat_v[playerid] = 1;
-        done++;
-
-        if (done == party)
-            audio_music_fade_out(2.0f);
-    }
+    score_v[hole][player]++;
 
+    if (score_v[hole][player] == 1)
+        audio_play(AUD_ONE, 1.0f);
+
+    else if (score_v[hole][player] == score_v[hole][0] - 2)
+        audio_play(AUD_EAGLE, 1.0f);
+    else if (score_v[hole][player] == score_v[hole][0] - 1)
+        audio_play(AUD_BIRDIE, 1.0f);
+    else if (score_v[hole][player] == score_v[hole][0])
+        audio_play(AUD_PAR, 1.0f);
+    else if (score_v[hole][player] == score_v[hole][0] + 1)
+        audio_play(AUD_BOGEY, 1.0f);
+    else if (score_v[hole][player] == score_v[hole][0] + 2)
+        audio_play(AUD_DOUBLE, 1.0f);
     else
-    {
-        game_set_play(player, 0);
-
-        score_v[hole][player]++;
-
-        if (score_v[hole][player] == 1)
-            audio_play(AUD_ONE, 1.0f);
-
-        else if (score_v[hole][player] == score_v[hole][0] - 2)
-            audio_play(AUD_EAGLE, 1.0f);
-        else if (score_v[hole][player] == score_v[hole][0] - 1)
-            audio_play(AUD_BIRDIE, 1.0f);
-        else if (score_v[hole][player] == score_v[hole][0])
-            audio_play(AUD_PAR, 1.0f);
-        else if (score_v[hole][player] == score_v[hole][0] + 1)
-            audio_play(AUD_BOGEY, 1.0f);
-        else if (score_v[hole][player] == score_v[hole][0] + 2)
-            audio_play(AUD_DOUBLE, 1.0f);
-        else
-            audio_play(AUD_SUCCESS, 1.0f);
+        audio_play(AUD_SUCCESS, 1.0f);
 
-        stat_v[player] = 1;
-        done++;
+    stat_v[player] = 1;
+    done++;
 
-        if (done == party)
-            audio_music_fade_out(2.0f);
-    }
+    if (done == party)
+        audio_music_fade_out(2.0f);
 }
 
 void hole_stop(void)
@@ -338,7 +302,6 @@ void hole_stop(void)
 
     if (score_v[hole][player] >= 12 && score_v[hole][player] >= score_v[hole][0] + 3)
     {
-        game_set_play(player, 0);
         score_v[hole][player] = (score_v[hole][0] > 12 - 3) ? score_v[hole][0] + 3 : 12;
         stat_v[player] = 1;
         done++;
@@ -358,7 +321,6 @@ void hole_fall(void)
 
     if (score_v[hole][player] >= 12 && score_v[hole][player] >= score_v[hole][0] + 3)
     {
-        game_set_play(player, 0);
         score_v[hole][player] = (score_v[hole][0] > 12 - 3) ? score_v[hole][0] + 3 : 12;
         stat_v[player] = 1;
         done++;