セーブデータの保存に用いられる実装の一つが INI (アイエヌアイ) です。
Windows では拡張子が .ini
で、歴史的にもずいぶん長く使われてきました。中身は単なるテキスト形式です。
シンプルな記述で理解しやすいし扱いも楽だけど、階層構造を持たせることができないため大量のデータを扱う場合には向いていません。
参考URL(YoYoGames):Ini Files
基本構造/三つの要素
INI にはセクション( section ) とキー( key )と バリュー( Value ) という三つの要素があります。
- セクション( section )
- キー( key )
- バリュー( Value )
各セクションの下に「キー」が格納され、キーは値を示しています。キーは変数みたいなもんです。
INI に保存された一例
[Section_A]
SampleKeyREAL="123.000000"
SampleKeySTR="TEST"
[Section_B]
SampleKeyREAL="456.000000"
SampleKeySTR="Sample"
セクション名が別ならキー名は重複しても別物として扱えます。
GM:Studio で INI を使ってデータを扱う場合、値に Real (実数) と String (文字列) の区別はありますが、数値は実数型として保存されるため例えば
var a=123;
という数値データも INI に実数として保存されると123.000000
となります。
実害は無いはずですが、これを INI で整数として保存したい場合は
string(val)
などを用いてキャストします。
サンプルコード
var a=123;//変数型は実数です
ini_write_string(“TEST” , “AsString” , string(a));//文字列として書き込み
ini_write_real(“TEST” , “AsReal” , a);//実数として書き込み
ini_close();//上記内容でファイルへ書き込み
これで保存された INI は以下のような内容となります。
[TEST]
AsString=”123″
AsReal=”123.000000″