ページ 11

簡単RPG講座のソースについて

Posted: 2012年3月29日(木) 21:24
by そると
 今日、簡単RPG講座を拝見しました。といっても十分に読んだわけでは有りませんが、
プロジェクトのアーカイブをダウンさせていただきました。プロジェクトはVS2005用で
したが、ソースが有れば何とかなるだろうとBCCDeveloperでビルとしてみました(全て
のcppとhをプロジェクトに追加しました)。

 一回目、案の定エラー。GameMain.cpp内の__FUNCTION__が未定義と出ました。幸い、
__FUNCTION__は使ってなさそうだったので、ダミーの#defineを書いてごまかしました。

 2回目、そこは通ったのですが、今度はbattlePSCData.cpp内のPSCData_tが未定義だ
と言われました。VSではプロジェクトにさえ入っていれば、ヘッダをインクルードしてい
なくてもOKなのですね。取り敢えず、battlePSC.hをインクルードしました。

 3回目、今度は同じbattlePSCData.cpp内でPSC_BattleInが未定義ですと。ここで困り
ました。PSC_BattleInはbattle.cppの中で宣言されています。こういう場合、どうすれば
よいのでしょう。
1.PSC_BattleInの宣言をヘッダに書いて、それをインクルードする。
2.battlePSCData.cppの中にPSC_BattleInの宣言を書く。
3.battle.cppの中にbattlePSCData.cppの内容を移動する。
 深く考え泣ければ1にしそうですが、PSC_BattleInの宣言をわざわざcppファイルに書
いているというのは、を公開したくないということでしょう。だとすると、2か3になり
ますが、どちらがいいのでしょう。データを独立させたければ2でしょうけど、3の方が
関数を追加した時など楽かなとも思います。
 これについてご意見をお聞かせ願えればと思います。

Re: 簡単RPG講座のソースについて

Posted: 2012年3月29日(木) 21:29
by softya(ソフト屋)
製作者です。
__FUNCTION__は失礼しました。bccに無いんですね。
あとbattlePSCData.cppはbattle.cppでincludeして使っていますので直接コンパイルしないようにお願いします。
そうすれば問題は解決するはずです。

[補足]
代わりに__FUNC__がある様です。

Re: 簡単RPG講座のソースについて

Posted: 2012年3月29日(木) 22:48
by そると
 素早いお返事ありがとうございます。
battlePSCData.cppをプロジェクトから外し、__FUNCTION__を__FUNC__に変えたところ、
他にも__FUNCTION__が有ったので、それも変え、

static char *s_HpMpList[HPMP_LIST_MAX+1] = {
}; // ステータス表示用のリスト
の所で
エラー E2264 Q:\Work\BccDx\CGame\EASY_RPG\battle.cpp 353: 式が必要
が出たので、初期値としてNULLを1個書いてやったら無事ビルト出来ました。

 本当にありがとうございました。