2007-12-01から1ヶ月間の記事一覧

agc-yh

キャラクタの定義を外部ファイル(agc-yh形式)に移動しました。 差分 agc-yhファイルはgame_character_classをbinary_oarchiveで出力した後に、例によってzlibで圧縮をかけています。 起動時にカレントディレクトリのagc-yhファイルを全部読み込んで、UUIDと…

続 hamigaki::uuid::serialize()

Boost.Uuidのコードと見比べて、実装レベルをprimitive_typeすることで昨日の問題を解決できることに気が付きました。 #include <boost/serialization/level.hpp> BOOST_CLASS_IMPLEMENTATION(hamigaki::uuid, boost::serialization::primitive_type) としておくと、アーカイバがテキストの</boost/serialization/level.hpp>…

game_character_class

キャラクタの定義をgame_character_classにまとめて、Boost.Serializationで入出力できるようにしました。 差分 bitsetはBoost.Serializationが対応していないので、to_ulong()でunsigned longにして出力しています。 unsigned longで足りるサイズなので良か…

hamigaki::uuid::serialize()

だいぶ体調も回復したので、今日は少しコーディングできました。 action_game.exeのキャラクタ定義はBoost.Serializationを使って書き出そうと考えているので、hamigaki::uuidをBoost.Serializationに対応させました。 差分 最初に書いたコードはこうでした…

キャラクタエディタ

今日は体調が悪くて、キャラクタエディタのダイアログしか出来ませんでした。 設定項目が多いため、妙に縦長になってしまいました。 あとで複数のプロパティシートに分割しようと思います。 とりあえず今日は寝ます。

新stage_map その2

マップエディタもデータの持ち方を変更しました。 差分 これでデータ上はドット単位の座標を扱えるわけですが、問題はこれをどう編集するかです。 単純に32ドットの縛りをなくすだけだと、 マップチップの座標が正確に一致しなければ削除できない マップチッ…

新stage_map

見た目は全く同じですが、action_game.exeのマップデータの持ち方をココの形式に変更しました。 差分 これに昨日コンバートしたagm-yhファイルを読み込んでみたところ、Y座標が16ドットずれていました。 というわけで保存処理も修正。 差分 一旦エディタで読…

agm-yh

昨日のリンクエラーはBoost.IostreamsのJamfile.v2でusage-requirementsが設定されていないのが原因でした。 仕方ないので、Hamigakiライブラリ側のboost-libプロジェクトに足りないusage-requirementsを追加しました。 差分 これでバイナリ形式(拡張子=agm-…

save_map_to_binary()

う〜ん、どうしても汎用的にしようとし過ぎてしまってまとまらないので、プラグイン化は後回しにします。 できるところから少しずつ直していくことにしました。 ひとまずマップの内部データ形式はそのままで、バイナリ形式での出力を書いてみました。 stage_…

続々 新ステージ構造考察

昨日の続きです。 キャラクタの種類をUUIDで表現すると、キャラクタを作成する関数はこんな感じになると思います。 boost::shared_ptr<game_character> create_character(game_system& game, const hamigaki::uuid& type); 座標等の設定はどのキャラクタでも同じなので引数に</game_character>…

続 新ステージ構造考察

おおよそ考えがまとまってきました。 マップチップ一個分を、 struct stage_component { int x; // 1ドット単位 int y; // 1ドット単位 hamigaki::uuid type; // キャラクタの種類 std::pair<int,int> x_y() const { return std::pair<int,int>(x,y); } std::pair<int,int> y_x() const </int,int></int,int></int,int>…