Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions putt/hole.c
Original file line number Diff line number Diff line change
Expand Up @@ -368,6 +368,20 @@ void hole_stop(void)
}
}

void hole_skip(void)
{
int maxscore = (score_v[hole][0] > 12 - 3) ? score_v[hole][0] + 3 : 12;
int i;

for (i = 1; i <= party; i++)
{
score_v[hole][i] = maxscore;
stat_v[i] = 1;
}

done = party;
}

void hole_fall(void)
{
audio_play(AUD_PENALTY, 1.0f);
Expand Down
1 change: 1 addition & 0 deletions putt/hole.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ int hole_next(void);
int hole_move(void);
void hole_goal(void);
void hole_stop(void);
void hole_skip(void);
void hole_fall(void);

void hole_song(void);
Expand Down
8 changes: 7 additions & 1 deletion putt/st_all.c
Original file line number Diff line number Diff line change
Expand Up @@ -596,6 +596,7 @@ static struct state *st_quit;

#define PAUSE_CONTINUE 1
#define PAUSE_QUIT 2
#define PAUSE_SKIP 3

int goto_pause(struct state *s)
{
Expand All @@ -618,6 +619,10 @@ static int pause_action(int i)
case PAUSE_CONTINUE:
return goto_state(st_continue ? st_continue : &st_title);

case PAUSE_SKIP:
hole_skip();
return goto_state(&st_score);

case PAUSE_QUIT:
return goto_state(st_quit);
}
Expand All @@ -638,7 +643,8 @@ static int pause_enter(struct state *st, struct state *prev)
if ((jd = gui_harray(id)))
{
gui_state(jd, _("Quit"), GUI_SML, PAUSE_QUIT, 0);
gui_start(jd, _("Continue"), GUI_SML, PAUSE_CONTINUE, 1);
gui_state(jd, _("Skip"), GUI_SML, PAUSE_SKIP, 1);
gui_start(jd, _("Continue"), GUI_SML, PAUSE_CONTINUE, 2);
}

gui_pulse(td, 1.2f);
Expand Down