ばぐとらぶごる

開発者もすなるぶろぐといふものを、エンバグ野郎もしてみむとてするなり。

現在のネットワーク更新判定処理

http://refrain.sakura.ne.jp/diarypro/diary.cgi?no=81

  • サーバ・ローカルのupdates2.dauのMD5値が同じ
    • ファイルの存在チェック
      • 存在しない->更新あり
      • 存在する->更新なし
  • サーバ・ローカルのupdates2.dauのMD5値が違う
  • サーバ側のupdates2.dauのみに記載があるファイル
    • ローカル側のファイルのMD5を算出
      • 値が(サーバ側と)違う->更新あり
      • 値が(サーバ側と)同じ->更新なし
  • ローカル側のupdates2.dauのみに記載があるファイル
    • 常に更新なし

現在のSSPの更新処理の判定を詳しく書くとこうなります。実装の際のヒントになるでしょうか。
サーバとのMD5値をできるだけ同じにしつつ更新ファイル量を最小限にする妥協案がこれです。値が違うのが「許せない」…というわけでもないのですが、まあユーザーさんのところで更新を繰り返していたらファイル破損で起動しなくなった、という最悪の事態はなるべく避けたいという意図はあります。*1
とりあえず、上記の判定で矛盾している挙動がある場合は間違いなくうちのミスです。


OnWindowStateMinimizeについては、できればよほどの理由がない限りNOTIFYのままにしたいと考えているのは今も変わっていません。理由は簡単で、「ボスが来た」で最小化しようとした時にゴーストさんにぶちぶち言われたら…わかりますよね?(汗
何かゴーストの重要な表現の中にこのイベントを使ったものが含まれていて、どうしても喋らせたいネタがある、という話でしたら、応相談ということで…メールなり何なりでこっそり教えてください。


ゴースト作者さんからの要望・不具合指摘・非互換指摘に関してはできるだけ対応したいとは考えていますが、実装上の問題、過去の要望との矛盾等の理由でどうしても対応できず「仕様です」という結論になってしまう話もそれなりに出てきます。
とりあえず、すべてダメ、すべてOK、ということになるのではなく、本当に色々な対処のパターンがありうることをご承知いただければ嬉しく思います。

*1:過去数え切れないほど破損で起動不能らしき症状の報告は受けていますので…