コルーチンの中から効果音

player_routineを関数オブジェクトにして、player_routineの中から効果音を指定できるようにしました。
今日の差分
今度はしゃがみジャンプでもちゃんと効果音が再生されます。

class player_routine
{
public:
    player_routine(const stage_map& map, sound_engine& sound);

    routine_result operator()(
        routine_type::self& self, move_info mv, input_command cmd) const;
};

sound_engineは、コルーチンの呼出し毎に変化するわけではないstage_mapと共にコンストラクタで設定するようにしています。
その分、コルーチンの引数は減っています。
コンストラクタを使って任意の引数を渡せる半面、移動ルーチンのプラグイン化は難しくなりました。
この辺のインタフェースはまだ流動的なので、とりあえずプラグイン化は考えないことにします。