多くの Stingray リソース ファイルは、広く使用されている JSON 規格に基づく、データの読み込み、編集、保持を簡単に行えるようにするためのカスタムの拡張と単純化をいくつか取り入れた、テキストベースの形式でデータを表します。この形式は、よく SJSON (単純化 JSON)と呼ばれます。
リソース ファイルの多くのタイプは Stingray 編集ツールによって自動的に作成されて最新の状態に保たれますが、手動で変更する必要があるデータ ファイルの種類がいくつかあります。たとえば、ゲームで使用される物理シミュレーション用のさまざまなタイプの衝突マテリアルを設定するには、プロジェクトの global.physics_properties ファイルに直接変更を加える必要があります。
ゲームの settings.ini ファイルからの次の例は、SJSON の小さなブロックがどのようなものかを示しています。
// The script that should be started when the application runs. boot_script = "boot" // The port on which the console server runs. console_port = 14030 // Settings for the win32 platform win32 = { /* Sets the affinity mask for QueryPerformanceCounter() */ query_performance_counter_affinity_mask = 0 } render_config = "core/rendering/renderer"
より大きな例については、任意のプロジェクトの settings.ini、.physics_properties、.shading_environment ファイルで確認できます。
注: Script Editor を使用して、プロジェクト内の Stingray データ リソース ファイルを開いて編集することができます。
SJSON 形式には、次のような標準 JSON との違いがあります。
C および C++ のコメント スタイルを使用して、コメントを使用できます。
各 SJSON ファイルは、常に単一のオブジェクトの定義として解釈されます。これは、ファイルの内容を囲う波括弧 { ... } の暗黙的なセットとして考えることができます。
このように柔軟性が追加されていますが、SJSON パーサは標準の JSON と互換性があります。標準の JSON ファイルを SJSON パーサに対する入力として使用できます。これは、Stingray で使用されるデータを生成するためのカスタム ツールを作成する場合、ツールでは標準 JSON を書き出せることを意味します。
次のようなデータ ファイルのいくつかのタイプは、SJSON を使用しません。