2007-01-01から1年間の記事一覧

浮動小数点数とGUI入力

ActionGame.exeの重力加速度は、エディットボックスで編集可能な浮動小数点数です。 初期値は-0.6なんですが、これは十六進の浮動小数点表現では正確に表現することができません。 このため、-0.6を設定しても一旦浮動小数点数として書き出して、再度読み込…

プロジェクトの設定 その4

以下の設定がゲームに反映されていなかったので修正しました。 画面サイズ 重力 最大落下速度

プロジェクトの設定 その3

プロジェクトの設定の残作業を片付けました。 開始マップの選択が出来るように修正 背景色をエディタに反映させるように修正 ゲーム側でもプロジェクトファイルを読み込むように修正 スクリーンショットは背景色変更のテストです。 昨日はコミットし忘れてい…

プロジェクトの設定 その2

フォルダの選択、フォルダ名の同期、背景色ボタンを実装しました。 フォルダ選択、フォルダ名の同期の差分 背景色ボタンの差分 背景色ボタンはクリックするとWindows標準の色選択ダイアログが出てきて、色を選べます。 ボタンの描画はベタ塗りしかしてないの…

プロジェクトの設定

プロジェクトの設定ファイルを用意しておきながら全部初期値のままだったので、これを編集するダイアログを追加しました。 今日の差分 まだ、作りかけです。 ダイアログのデザインに時間がかかって全然進みませんでした。 背景色と開始マップ以外はとりあえ…

キャラクタ定義の追加

いろんな問題は後回しにして、少しでも作業を進めようと思い、キャラクタ定義を追加できるようにしました。 今日の差分 キャラクタ選択ウィンドウの空いているところをダブルクリックすると追加&編集できます。 改名に関する問題を回避するため、キャラクタ…

プロジェクトのリソースとID

エディタ上でマップを削除してもファイルを消してないので、プロジェクトを開きなおすと復活してしまうことに気が付きました。 プロジェクトの編集中はオンメモリで作業しているので、即座に削除するわけにはいきません。 よって、削除したファイル名を覚え…

キャラクタリストの編集 その2

キャラクタリストの編集内容がマップ編集ウィンドウに反映されるようにしました。 今日の差分 ほとんど昨日のコードの流用です。 複数のウィンドウで共有するデータが多くて、その受け渡しでソースがごちゃごちゃしています。要整理です。 多分、いろんなも…

キャラクタリストの編集 その1

配置キャラクタの選択ウィンドウに実際のキャラクタ定義(agc-yh)を反映させるようにしました。 今日の差分 とりあえず、GUID順に並べているのでキャラチップを探しにくいです。 キャラチップをダブルクリックすればキャラクタ定義の編集もできます。(変更箇…

abnormal_exit

吉里吉里のW.DeeさんからBoost.Coroutineだとabnormal_exitが送出される場面で、Hamigaki.Coroutineだとcoroutine_exitedが送出されるとの指摘を受けたので、abnormal_exitを実装してみました。 差分 abnormal_exitはコルーチン内で例外を捕捉しなかった場合…

一休み

Hamigaki.Coroutineのドキュメントを書いていたら意外と時間がかかってしまったので、今日はコードの整理だけです。 VC8対策でグローバルロケールを設定 game_character_classにmodifiedフラグ(シリアライズ対象外)を追加 SendMessageのラッパー関数を追加

マップの管理 その3

マップの新規作成と削除を実装しました。 「新規作成」の差分 「削除」の差分 結局、マップ選択用ウィンドウのコンテキストメニューはサブクラス化が面倒だったので親ウィンドウのWM_CONTEXTMENUイベントで処理しました。 ショートカットキーも、キーボード…

マップの管理 その2

マップの保存ができるように直しました。 今日の差分 昨日考えたとおり、プロジェクトの読み込み時に全マップを読み込んでおいて、マップを選択したら、そのマップデータを編集用のウィンドウに渡しています。 続いて、マップの追加/削除用のメニューを作成…

VistaでMIDI Yoke

今更感はありますが、 http://d.hatena.ne.jp/y-hamigaki/20070205#1170688508 に書いていたVistaでMIDI Yokeが動かない問題ですが、解決策が見つかりました。 「最近の MIDI 事情(VST/VSTi, DX/DXi)(Vista(x64含む)対応)」 http://www.parof.jp/Misc/…

マップの管理 その1

とりあえずマップの一覧を表示するウィンドウを作って、マップを閲覧できるところまでできました。 差分 これまで通りマップを編集できるんですけど、保存するコマンドがありません。 今はマップを選択したときにファイルからそのマップを読み込んでいるんで…

agp-yh

プロジェクトファイル(agp-yh)の概念を導入しました。 今日の差分 メニューにある新規作成や保存はマップではなく、プロジェクト全体に作用します。 このため、今日のバージョンでは一時的にマップの編集ができなくなってます。 明日はマップを管理するウィ…

VC9のストリームとロケール

C++

http://d.hatena.ne.jp/y-hamigaki/20070211#1171206100 VC9EE日本語版が出たのでようやく試してみました。 #include <cassert> #include <clocale> #include <fstream> #include <iostream> #include <locale> int main() { std::locale loc(""); // ofstreamのため必要 std::setlocale(LC_ALL, ""); std:</locale></iostream></fstream></clocale></cassert>…

可変長配列メンバ

C++

http://d.hatena.ne.jp/yotto-k/20071216#1197816102 元ネタはこちら(っとid:yotto-kさんの代わりにトラバ) http://d.hatena.ne.jp/higepon/20071215/1197733211 この問題、確かBoostMLでDavid Abrahams氏がポストしてたよなぁと思ったら、id:Cryoliteさんの…

ags-yh その2

ゲーム側も新スプライト形式に対応しました。 今日の差分 zlibのデコードエラーになるので調べてみたら、キャラクタ定義ファイル(agc-yh)にスプライトのファイル名が拡張子(.txt)付きで埋め込まれているのを忘れていました。 というわけでagc-yhファイルも全…

関数がインライン化されるか確かめる

C++

http://d.hatena.ne.jp/shinichiro_h/20071216#1197793386 libcとかリンクすると探しにくいので、自分は「gcc -S」派です。 struct S { explicit S(int x) : x_(x) {} int x() const { return x_; } int x_; }; int hoge(const S& s) { return s.x(); } main…

ags-yh

新しいスプライト情報形式(拡張子=ags-yh)を実装しました。 今日の差分 とりあえずエディタの方のみ対応です。 昨日の仕様に加え、 当たり判定はアニメーションの各フレームで共通になるようした 踏みつけ可能な範囲を持つようにした となっています。 また…

スプライト再考

エディタでスプライトをtxtファイルの一覧から選択するのはさすがに分かりにくいので、フォーマットと拡張子を変えようと思います。 以下、変更予定箇所。 個々の画像をピクセル単位で指定できてもあまり使わないので、一定サイズの画像を敷き詰める形式にす…

列挙型のシリアライズ

game_character_classのシリアライズで、列挙型をシリアライズするのに一旦intにキャストしていたんですが、列挙型のまま直接シリアライズできることに今頃気が付きました。 ソースを見たらboost::is_enumで場合分けしてありました。 というわけで修正。 gam…

IconViewWindow

マップチップアイコンを表示するIconViewWindowを作りました。 画像を設定する方法は次の2つです。 横のコンボボックスでスプライトを変更する。この場合、スプライトのnormalフォーム画像が拡縮して使用される。 ダブルクリックで開くIconSelectWindowから…

IconSelectWindow

マップチップ用画像の選択ダイアログを実装しました。 今日の差分 IconSelectWindowというウィンドウクラス名でPNG画像から32x32ドットの範囲を選択するウィンドウを作って、ダイアログに貼り付けています。 ユーザー定義のウィンドウをダイアログに貼り付け…

フォルダ選択ダイアログ

プロジェクトディレクトリの作成時に標準のフォルダ選択ダイアログを使おうと思って、テストしてました。 使い方忘れがちなのでメモ。

プロジェクト構造の考察

マップエディタのバグを少し修正して、プロジェクト構造を考えていました。 プロジェクトファイルで設定する項目は、 タイトル 画面サイズ 既定の背景色 開始マップのファイル名 重力 あたりかなぁと思います。 あと、キャラクタを作成する度にマップチップ…

キャラクタエディタ その3

キャラクタエディタのダイアログボックスがほぼできました。 差分その1 差分その2 現在はテスト用にキャラクタ選択ウィンドウでダブルクリックしたときにダイアログを出しています。 ダイアログアイテムと内部データを相互変換するのが面倒なだけで、難し…

キャラクタエディタ その2

RPGツクールVX弄りに時間かけてしまって、あんまり進んでません。 差分 agc-yhの読み書き関数を追加しただけです。

RPGツクールVX 体験版

http://www.famitsu.com/freegame/trial/vx_trial.html 音楽は北神陽太さんということでやっぱりありました。 サンプルBGM「Town5.mid」はDante98の「BGM15.MML」です。 体験版ではスクリプトエディタは使えませんが、イベントの「スクリプト」コマンドは動…