version1.01 release

1.01パッチをリリースしました。
今回ので要望があった部分とコミケまでに詰められなかった部分は大体やれたハズ。
ただ、スペックは十分満たしてるのに異様に動作が遅いという事例がまだあって、なんとかしたいところ。異様に遅くなる環境が手元に無いと検証できなくて難しそうだけど…。いっそDirectXで書き直すかなあ。

ちなみにexceptionは依存する外部リソースデータが少なすぎて実行ファイルさえあればちょっと工夫すれば動かせてしまう恐れがあるため、パッチファイル単体でリリースはしません。完成版に含まれいているアップデートプログラムからのみアップデートできます。


タイマーで更新間隔取るときでもぴったり60FPSにする方法、思うところあって一時的にはずしてたんだけど、今回ので復活させた。
大まかな手順はこれで、具体的なコードはこんな感じ。

Uint32 interval = 50; // 16.666...*3 
Uint32 pre_frame = SDL_GetTicks()*3;
for(;;) {
  while(SDL_GetTicks()*3-pre_frame < interval) { /* busy loop */ }
  pre_frame+=interval;

  update();
  draw();
}