000000 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

Let's create BVE

March 10, 2009
XML
(G)さん のコメントに対する講座です。

C++でINIファイルを読みこむために、inimoniというツールを使用します。
これはINIファイルからソースコードを自動生成してくれる便利なツールです。

(inimoniの使い方は省きます。)
inimoniで生成されたヘッダファイルをVC++でソリューションに追加します。
ats_etc1_1
これで準備が整いました。ソースコードを書き始めます。

Ats.cppの上部でヘッダファイルをインクルードします。
#include "ヘッダファイル名"

Ats.h内にクラスを定義します。
クラス名 g_ini; //INIファイル読み込みクラス

INIファイルを読み込むタイミングはGetPluginVersion内がよいでしょう。
INIファイル読み込み用の関数”LoadINI”をAts.cpp内に作り、GetPluginVersionから呼び出します。

以下に読み込み用関数のサンプルソースを書きます。
bool LoadINI()
{
HANDLE hModule; //モジュールハンドル
char filePath[ _MAX_PATH + 1 ] = _T( "" ); //ファイルパス格納
char *posIni; //検索文字列へのポインタ
bool loadCheck; //INIファイルのロードに成功したかどうか


//Ats.dllのファイルパスを取得
::GetModuleFileName((HMODULE)hModule, filePath, _MAX_PATH );

//パスから.dllの位置を検索
posIni = strstr(filePath, ".dll");

//.dllを.iniに置換
memmove(posIni, ".ini", 4);

//INIファイルをロードして結果を取得
loadCheck = g_ini.load(filePath);

//INIファイルのロードに失敗した場合
if (loadCheck == false) {
//ロード失敗
return false;
}

//ロード成功
return true;
}


これでINIファイルの値がINIファイル読み込みクラスに読み込まれます。
あとはINIファイル読み込みクラスから値を引っ張ってくればいいだけです。
これはInitialize関数内で行うのが良いでしょう。
記述例)
//ATS-PクラスにINIファイルから読み込んだ減速度をセット
g_atsp.iniDeceleration = (float)g_ini.ATS_P.Deceleration;






Last updated  March 10, 2009 10:11:27 PM
コメント(3) | コメントを書く
[ATSプラグイン作成講座] カテゴリの最新記事


PR

Recent Posts

Category

Comments

にそん@ Re:ATS-Pの距離情報(06/05) I.A.さん このサイトとは全く関係ないんで…
I.A.@ ATS-Pの距離情報 はじめまして、I.A.と申します。 現在,A…
ノ付@ Re:質問です(03/10) This version is not supportedというメッ…
オカT@ 質問です  管理人様、初めまして。 講座とは関係…
(G)@ ありがとうございます なんだか難しそうですね…。頑張ってみます…

Calendar

Archives

November , 2020
October , 2020
September , 2020
August , 2020
July , 2020

Copyright (c) 1997-2020 Rakuten, Inc. All Rights Reserved.