Seaside Laboratory

Posts

KFM のリスト読み込み方式を変更

ファイル関連の処理を C の標準関数から C++ の fstream に変更したら、実行ファイルのサイズが急にでかくなってちょっと鬱。

一旦、文字列として読み込んでから数値に変換するという方式に変更したところ、以下のようなパラメーターが読めなくなってしまった。

-VyRy-C-
  0 0-1

数値として読み込むと、

Vy = 0
Ry = 0
C  = -1

と解釈されるが、文字列として読むと、

Vy = "0"
Ry = "0-1"
C  = ?

となってしまう。

空白を区切りとしているので "0-1" がひとつのパラメーターとして扱われてしまっていた。分離するのは面倒なのでこのまま行く予定。

ちなみに KFX は fscanf を使っているので、本来数値であるべき項目が文字列だったりすると読み込みに失敗してパラメーターがひとつずれるという現象が発生する。

追記 (2004/04/01)

モーション読み込み方式変更の代償は大きかった。

意外と多くのキャラが数値をくっつけるイレギュラーな書き方をしているので、キャラが画面外にぶっ飛んでいったりする。プログラムのバグかどうかすぐに判断できないので、あまり心臓によろしくない。噂によるとリスト整形ツールはパラメーターをくっつけてしまうらしい。

KFM はキャラのパターンが拡張されているので、新しい方式なら KFA のキャラをそれなりに動かすことも可能だが、問題の方が多かったので従来の fscanf 方式に戻すことにした。