in coinrun/coinrun.cpp [690:708]
void generate_coins_on_platforms()
{
maze->spawnpos[0] = 1 + randn(maze->w - 2);
maze->spawnpos[1] = 1;
for (int x=0; x<maze->w; x++) {
rec_stack.push_back(Rec({ x, 1 }));
}
int want_platforms = 11;
for (int p=0; p<want_platforms*10; p++) {
bool success = jump_and_build_platform_somewhere();
if (success) want_platforms -= 1;
if (want_platforms==0) break;
}
remove_traces_add_monsters();
place_coins();
}