2008-05-22 :-)
_ 朝ったー
0540 起床。
_ [魔界塔士 Sa・Ga][Sa・Ga2 秘宝伝説][時空の覇者 Sa・Ga3][サガ全曲集][伊藤賢治][笹井隆司][植松伸夫][藤岡千尋]通勤ったー
サガ全曲集
ゲームボーイのサガシリーズ「魔界塔士 Sa・Ga」「Sa・Ga2 秘宝伝説」「時空の覇者 Sa・Ga3」の曲が収録されています。ゲーム未プレイ。作曲は以下の方々。
- 植松伸夫( 魔界塔士 Sa・Ga )
- 伊藤賢治( Sa・Ga2 秘宝伝説 )
- 笹井隆司( 時空の覇者 Sa・Ga3 )
- 藤岡千尋( 同上 )
作品ごとに作曲者が異なります。各々の作曲者の特徴が表れています。当たり前ですが曲を書くひとによって音楽の雰囲気が変わるんですね。
植松伸夫さんの曲はまさに RPG という雰囲気の曲であり素朴な曲です。安定しているので聴いていて安心します。植松伸夫さんが書いた「涙を拭いて」「伝説は始まる」は「Sa・Ga2 秘宝伝説」でも使っており、以降のロマンシングサガシリーズにも使われています。名曲です。
伊藤賢治さんの曲はとくに「必殺の一撃」が分かりやすいです。熱いです。後のロマンシングサガシリーズのバトル曲にもつながります。サガシリーズの作曲担当といえば伊藤賢治さんである、という印象が強いんですが( 主観 )、伊藤賢治さんがメインになったのはロマンシングサガであり、ゲームボーイのサガシリーズは伊藤賢治さん以外ひとが担当しています。伊藤賢治さんが作曲しはじめたのは「Sa・Ga2 秘宝伝説」です。
笹井隆司さんが「異次元のテーマ」のように面白い曲を書きます。歌詞をつけたらそのまま歌になるような曲です。wikipedia を見るとゲーム音楽を書く以前はバンドをやってたようですが、バンド活動が作曲に影響してるんでしょうね(ref. 笹井隆司 - Wikipedia )。
藤岡千尋さんがどのようなひとか知らなかったので wikipedia を見てみました。
元スクウェア大阪開発部長。[...] 井手康二、笹井隆司ら他のスタッフとスクウェアへ移籍。そのまま大阪開発部の部長を務める事になる。
部長が作曲するんですか!まあプレイングマネージャーという言葉があるからそういうものなのでしょう。さらに驚いたのが以下のところ。
かつては音楽活動も行っており、ミスターシリウスというバンドでドラムを担当していた事も。その関係からファイナルファンタジーXでは同バンドのメンバーである釜木茂一と共にOtherworldに参加。
「Otherworld」を演奏してたのかよ!
B000666TBC
_ [MFC][DDX][ASSERT]プログラムを編集してたら CDataExchange::PrepareCtrl の ASSERT に引っかかるようになった
環境
- Visual Studio2005
- C++
- MFC
Microsoft Visual Studio 8\VC\atlmfc\src\mfc\dlgdata.cpp の ASSERT
HWND CDataExchange::PrepareCtrl(int nIDC) { ASSERT(nIDC != 0); ASSERT(nIDC != -1); // not allowed HWND hWndCtrl; COleControlSite* pSite = NULL; m_pDlgWnd->GetDlgItem(nIDC, &hWndCtrl); if (hWndCtrl == NULL) { // Could be a windowless OCX pSite = m_pDlgWnd->GetOleControlSite(nIDC); if (pSite == NULL) { TRACE(traceAppMsg, 0, "Error: no data exchange control with ID 0x%04X.\n", nIDC); ASSERT(FALSE); ← ここ AfxThrowNotSupportedException(); } } m_idLastControl = nIDC; m_bEditLastControl = FALSE; // not an edit item by default return hWndCtrl; }
追跡する。
ASSERT の上に TRACE があったので出力を見た。
Error: no data exchange control with ID 0x0413.
0x0413 は 10進法で 1043 。
resource.h を見る。1043 があった。
#define IDC_EDITXXXX 1043
.rc を見る
IDC_EDITXXXX が無い( 編集中に自分で削除したから )
.cpp を見る。IDC_EDITXXXX はここで DDX_Text してる。
DDX_Text(pDX, IDC_EDITXXXX, m_xxxx);
ということで #define と DDX_Text が不要なので削除した。
_ [アジャイルプラクティス]ついカッなってプロダクトコードを先に書いた
天使の言葉が聞こえた。
20. 作る前から使いましょう
テスト駆動開発を設計ツールとして活用なさい。そうすれば、もっと実用的でシンプルな設計を実現できるはずです