Hatena::Groupfatalemployeetraining

資材部の懲りない面々・あれこれブログ

「間違った社員教育」製品版委託頒布中!

2011-09-07

RSEclipse3自動生成パッケージ、現時点で気がつくこと

01:52

うめたろーさんがtwitter上で指摘された点。BGMと環境IDについてです。

なお、RSEclipse2では該当しない(自動生成されるコードが異なる)ため、RSEclipse2を使っている人は昨日の記事を見てRSEclipse3に更新してください。

また、今後RSEclipse3のバージョンが上がった場合、下記内容が変更になる可能性もあります。あらかじめご了承ください。

自動生成されるrseファイルについて

環境ID
;環境ID(変数名:ENVIRMENT  引数:環境ID)
ENVIRMENT		1

となっていますが、このENVIRMENTについてRSEclipseの文法解析がエラーを表示(赤いバッテン)してきます。

実際の動作には影響ないようなので放っておいても問題なさそうですが、とりあえず

;環境ID(変数名:ENVIRMENT  引数:環境ID)
ENVIRMENT		01

とすることでエラー表示が消えます。

BGM
;ブリーフィングBGM(変数名:BRIEFING_BGMT  引数:音楽ファイル名)
BRIEFING_BGM	0, rs3_01_briefing1.rad	;最初の数字はループ位置(-1だとループしない)

;武装選択BGM(変数名:SELECT_BGMT  引数:音楽ファイル名)
SELECT_BGM		0, rs3_02_select.rad	;最初の数字はループ位置(-1だとループしない)

となっていますが、これだといずれもBGMが鳴りません。

このBGM指定エントリは、「rseファイルの所在からの相対パス指定」で指定しないといけないようなので、

;ブリーフィングBGM(変数名:BRIEFING_BGMT  引数:音楽ファイル名)
BRIEFING_BGM	0, ..\..\..\..\rs3_01_briefing1.rad	;最初の数字はループ位置(-1だとループしない)

;武装選択BGM(変数名:SELECT_BGMT  引数:音楽ファイル名)
SELECT_BGM		0, ..\..\..\..\rs3_02_select.rad	;最初の数字はループ位置(-1だとループしない)

とする必要があります。

ただし、ミッションが完成してキャンペーン化する際に、rse,spt,plcファイルなどを一式mission用のフォルダ(scripts\missions\mission01など)に移す場合は、パスの深さが変わりますのでさらに「..\..\」を追加する必要があります。

自動生成されるsptファイルについて

BGM

mission_start()関数内で、BGMを鳴らす指定をしている行があります。

	play_bgm(BGM_RS3_MISSION04_FILE_NAME, BGM_RS3_MISSION04_LOOP_POINT);

数BGM_RS3_MISSION04_FILE_NAMEはRaidersSphere_const.inc中で定義されている、BGMのファイル名です。

しかしファイル名のみですので、BGMファイルのあるフォルダの指定が成されていません。

このplay_bgm関数引数も、「rseファイルの所在からの相対パス指定」で指定しないといけないようなので、

	play_bgm("..\\..\\..\\..\\bgm\\" + BGM_RS3_MISSION04_FILE_NAME, BGM_RS3_MISSION04_LOOP_POINT);

とすることでBGMが鳴るようになります。

格好悪いぞ!という人はsptファイル冒頭の定数定義のあたりに、

/** @const	string	ORG_BGM_PATH	エンジン付属BGMファイルのあるフォルダ */
const string ORG_BGM_PATH = "..\\..\\..\\..\\bgm\\";

/** @const	string	EXT_BGM_PATH	追加BGMファイルのあるフォルダ */
const string EXT_BGM_PATH = "..\\..\\common\\sounds\\bgm\\";

などと追加して、mission_start()内では

	play_bgm(ORG_BGM_PATH + BGM_RS3_MISSION04_FILE_NAME, BGM_RS3_MISSION04_LOOP_POINT);

などとすればよいと思います。

こちらも先ほどのrseファイルにおける指定と同様、ミッションが完成してキャンペーン化する際に、rse,spt,plcファイルなどを一式mission用のフォルダ(scripts\missions\mission01など)に移す場合は、パスの深さが変わりますのでさらに「..\..\」を追加する必要があります。