unsigned int temp = 0; /* initialized to make compilers happy */
unsigned int dx; /* only needed to find closest player */
unsigned int dy;
+ int element;
loop:
- switch (cave_cache[++x])
+ element = cave_cache[++x];
+
+ switch (element)
{
default:
goto loop;
}
Next[y][x] = Xblank;
- play_sound(x, y, SAMPLE_squash);
+ play_element_sound(x, y, SAMPLE_wonderfall, Xstone);
goto loop;
}
{
Cave[y][x+1] = Ydiamond_eat;
Next[y][x+1] = Xblank;
- play_sound(x, y, SAMPLE_eater);
+ play_element_sound(x, y, SAMPLE_eater, Xdiamond);
goto loop;
}
{
Cave[y+1][x] = Ydiamond_eat;
Next[y+1][x] = Xblank;
- play_sound(x, y, SAMPLE_eater);
+ play_element_sound(x, y, SAMPLE_eater, Xdiamond);
goto loop;
}
{
Cave[y][x-1] = Ydiamond_eat;
Next[y][x-1] = Xblank;
- play_sound(x, y, SAMPLE_eater);
+ play_element_sound(x, y, SAMPLE_eater, Xdiamond);
goto loop;
}
{
Cave[y-1][x] = Ydiamond_eat;
Next[y-1][x] = Xblank;
- play_sound(x, y, SAMPLE_eater);
+ play_element_sound(x, y, SAMPLE_eater, Xdiamond);
goto loop;
}
{
Cave[y+1][x] = Ydiamond_eat;
Next[y+1][x] = Xblank;
- play_sound(x, y, SAMPLE_eater);
+ play_element_sound(x, y, SAMPLE_eater, Xdiamond);
goto loop;
}
{
Cave[y][x-1] = Ydiamond_eat;
Next[y][x-1] = Xblank;
- play_sound(x, y, SAMPLE_eater);
+ play_element_sound(x, y, SAMPLE_eater, Xdiamond);
goto loop;
}
{
Cave[y-1][x] = Ydiamond_eat;
Next[y-1][x] = Xblank;
- play_sound(x, y, SAMPLE_eater);
+ play_element_sound(x, y, SAMPLE_eater, Xdiamond);
goto loop;
}
{
Cave[y][x+1] = Ydiamond_eat;
Next[y][x+1] = Xblank;
- play_sound(x, y, SAMPLE_eater);
+ play_element_sound(x, y, SAMPLE_eater, Xdiamond);
goto loop;
}
{
Cave[y][x-1] = Ydiamond_eat;
Next[y][x-1] = Xblank;
- play_sound(x, y, SAMPLE_eater);
+ play_element_sound(x, y, SAMPLE_eater, Xdiamond);
goto loop;
}
{
Cave[y-1][x] = Ydiamond_eat;
Next[y-1][x] = Xblank;
- play_sound(x, y, SAMPLE_eater);
+ play_element_sound(x, y, SAMPLE_eater, Xdiamond);
goto loop;
}
{
Cave[y][x+1] = Ydiamond_eat;
Next[y][x+1] = Xblank;
- play_sound(x, y, SAMPLE_eater);
+ play_element_sound(x, y, SAMPLE_eater, Xdiamond);
goto loop;
}
{
Cave[y+1][x] = Ydiamond_eat;
Next[y+1][x] = Xblank;
- play_sound(x, y, SAMPLE_eater);
+ play_element_sound(x, y, SAMPLE_eater, Xdiamond);
goto loop;
}
{
Cave[y-1][x] = Ydiamond_eat;
Next[y-1][x] = Xblank;
- play_sound(x, y, SAMPLE_eater);
+ play_element_sound(x, y, SAMPLE_eater, Xdiamond);
goto loop;
}
{
Cave[y][x+1] = Ydiamond_eat;
Next[y][x+1] = Xblank;
- play_sound(x, y, SAMPLE_eater);
+ play_element_sound(x, y, SAMPLE_eater, Xdiamond);
goto loop;
}
{
Cave[y+1][x] = Ydiamond_eat;
Next[y+1][x] = Xblank;
- play_sound(x, y, SAMPLE_eater);
+ play_element_sound(x, y, SAMPLE_eater, Xdiamond);
goto loop;
}
{
Cave[y][x-1] = Ydiamond_eat;
Next[y][x-1] = Xblank;
- play_sound(x, y, SAMPLE_eater);
+ play_element_sound(x, y, SAMPLE_eater, Xdiamond);
goto loop;
}
}
Next[y][x] = Xblank;
- play_sound(x, y, SAMPLE_squash);
+ play_element_sound(x, y, SAMPLE_wonderfall, Xemerald);
goto loop;
}
default:
Cave[y][x] = Xemerald;
Next[y][x] = Xemerald;
- play_sound(x, y, SAMPLE_diamond);
+ play_element_sound(x, y, SAMPLE_diamond, Xemerald);
goto loop;
}
}
Next[y][x] = Xblank;
- play_sound(x, y, SAMPLE_squash);
+ play_element_sound(x, y, SAMPLE_wonderfall, Xdiamond);
goto loop;
}
default:
Cave[y][x] = Xdiamond;
Next[y][x] = Xdiamond;
- play_sound(x, y, SAMPLE_diamond);
+ play_element_sound(x, y, SAMPLE_diamond, Xdiamond);
goto loop;
}
ball_common:
- play_sound(x, y, SAMPLE_ball);
+ play_element_sound(x, y, SAMPLE_ball, element);
if (lev.ball_random)
{
switch (RANDOM & 7)