Ja/Gameinfo.txt: Difference between revisions
TroccBoc4t (talk | contribs) (getzel) |
m (Reverted edit of TroccBoc4t, changed back to last version by Etset) |
||
Line 1: | Line 1: | ||
{{translationupdate}} | {{translationupdate}} | ||
GameInfo. | GameInfo.txtのファイル構造 | ||
<code>GameInfo.txt</code> | <code>GameInfo.txt</code>は特定のMODやゲームにどのコンテントが必要なのかをSDKツールやSourceEngine向けに記述するファイルです。 これを使うことによってMODのゲームディレクトリ内でツールやエンジンを実行してもHalf-Life 2、 Counter-Strike、もしくはHalf-Life 2: Deathmatchのコンテントを読み込むことができます。 またこれはツールがゲームディレクトリを見つけるためのマーカーでもあります。 | ||
''' | '''注意:''' このファイルを編集する必要があるのはMODプロジェクトを最初に設定するプログラマだけです。 大抵の場合において編集する必要はありませんが、Half-Life 2以外のコンテントを元にしたゲームを作りたいのなら、変更する必要があります。 自分のMOD向けの設定が完了したら、このgameinfo.txtはMODのコンテントとともにリリースされる必要があります。 MODの作業をしている全ての開発者のゲームディレクトリには同一の<code>gameinfo.txt</code>があるべきです。 | ||
=UI( | =UI(ユーザインタフェース)設定= | ||
ゲームのタイトルを含む多くのUI(ユーザインタフェース)設定はgameinfo.txtによって指定されます。 以下のキーがあります: | |||
game "Game | game "Game Title(ゲームのタイトル)" // これがSteamのゲームメニューで表示されます | ||
title "Game Title( | title "Game Title(ゲームのタイトル)" // これが実際のゲームメニューで表示されるタイトルです | ||
title2 "..." // | title2 "..." //省略可能 | ||
title3 "..." // | title3 "..." //省略可能(2つ以上のタイトルのテストはされていません) | ||
title# "..." // | title# "..." //省略可能(2つ以上のタイトルのテストはされていません) | ||
type singleplayer_only // | type singleplayer_only //シングルプレイのみの場合、他にmultiplayer_only(マルチプレイのみ)の指定も可能 | ||
// | //様々なUI要素とゲームルールの定義 | ||
//[[MP]] | //[[MP]]、[[SP]]両方のModの場合は省略 | ||
nocrosshair boolean // | nocrosshair boolean //オプションのマルチプレイヤータブでの照準選択メニューを隠します。 | ||
nohimodel boolean // | nohimodel boolean //不明 | ||
nomodels boolean // | nomodels boolean //不明 | ||
developer "Team name( | developer "Team name(チーム名)" //開発したチームの名前(もしくは個人名) | ||
developer_url " | developer_url "Webアドレス" //チームのホームページ <nowiki>http://</nowiki>から始まる必要があります | ||
icon "path/to/icon" // | icon "path/to/icon" //アイコンは非圧縮の16x16ピクセルのTGA | ||
// | //MODのインストールディレクトリからの相対パス | ||
//(GameInfo. | //(GameInfo.txtのあるディレクトリ)で、TGAのファイル拡張子は不要 | ||
hidden_maps // | hidden_maps //指定したマップはインタフェースに表示されませんが | ||
{ // | { //アクセスは可能です | ||
"mapname" 1 | "mapname" 1 | ||
"mapname" 1 | "mapname" 1 | ||
} | } | ||
最初に新しいMODを作成するときには、gameinfo.txtにtitle(ゲームタイトル)とtype(シングル・マルチ)のキーがないので、それらの追加を忘れないようにしてください。 | |||
{{note:jp|resource/clientscheme. | {{note:jp|resource/clientscheme.resファイルを編集してタイトルフォントを変更しないとタイトルが正しく表示されないでしょう。[[Half-Life 2]]のタイトルは一部のキャラクタだけを持つ特別のフォントを使っているので、ほとんどの他のテキストを正しく表示できません。}} | ||
=GameInfo. | =GameInfo.txtの使用の基本= | ||
<code>GameInfo.txt</code> | <code>GameInfo.txt</code>で重要なのは<code>SteamAppId</code>変数です。 GameInfo.txtの内部を見ると、以下のようなセクションがあるはずです: | ||
<pre> | <pre> | ||
SteamAppId 220 // | SteamAppId 220 // 必要なGCFをマウントします(240=CS:S, 220=HL2) | ||
</pre> | </pre> | ||
<code>GameInfo.txt</code> | <code>GameInfo.txt</code>での<code>SteamAppId</code>の値が、このゲームではどのゲームコンテント (Steam .GCF files) を利用するかを指定しています。 | ||
Source | Source Engineの主要ゲームの<code>SteamAppId</code>の値は[[Steam Application IDs|ここ]]に説明があります。 | ||
さらにSteam UIから見えるように開発者名やURLの情報を追加することもできます。 [[Steam 3rd Party Mod Support:jp|SteamサードパーティModサポート]]を参照してください。 | |||
=GameInfo. | =GameInfo.txtの応用トピック= | ||
このセクションでは<code>GameInfo.txt</code>の様々な要素についての詳細を説明します。 | |||
==ToolsAppId== | ==ToolsAppId== | ||
全ての<code>GameInfo.txt</code>には以下のような行が含まれる必要があります: | |||
<pre> | <pre> | ||
Line 71: | Line 70: | ||
</pre> | </pre> | ||
これはゲームでは使用されないがツールでのみ使われるコンテントがある特別な場合です。 | |||
==SearchPaths== | ==SearchPaths== | ||
<code>GameInfo.txt</code> | <code>GameInfo.txt</code>内の<code>SearchPaths</code>セクションはどこでコンテンツが見つかるか、ハードドライブもしくはSteamキャッシュファイル内部を指定しています。 この部分を理解するには、まずプログラマがどのようにSource Engineのゲームファイルアクセスを使用しているかを回り道して説明する必要があります。 コード内でプログラマがアクセスするファイル全ては<i>path ID</i>の下の存在する必要があります。 path IDはハードディスク、もしくはSteamの仮想ファイルシステム内部の1つ以上の場所を指定しています。 | ||
例として、スクリプト、音、モデルファイル、そしてマテリアルといったほとんどのゲームマテリアルは<code>"Game"</code>というpath IDを使ってアクセスされます。 プログラマは「<code>'Game'</code>path IDの中の<code>scripts\weapon_m4a1.txt</code>というファイルを開く」などと言います。 もしModを<code>C:\MyMod\Blasters</code>で実行し、Counter-Strike: Sourceのコンテントを読み込む<code>SteamAppId 240</code>を使用していたのなら、以下の場所でファイルを探すことになるでしょう: | |||
* <code>C:\MyMod\Blasters\scripts\weapon_m4a1.txt</code> | * <code>C:\MyMod\Blasters\scripts\weapon_m4a1.txt</code> | ||
* <code>< | * <code><Steamインストールディレクトリ>\Steam\SteamApps\username\Counter-Strike Source\cstrike\scripts\weapon_m4a1.txt</code> | ||
* <code>< | * <code><Steam仮想ファイルシステム内部>\cstrike\scripts\weapon_m4a1.txt</code> | ||
path | path IDを使ってファイルを指定することで、プログラマやアーティストがこれらの違うディレクトリの心配をする必要がなくなります。 ゲームディレクトリからの相対でのファイル位置(例えば<code>scripts\weapon_m4a1.txt</code>や<code>materials\brick\brickwall001a.vmt</code>)を使えば、<code>GameInfo.txt</code>が<code>"Game"</code>path IDの指定をしている限り、エンジンやツールはファイルが存在する場所をフルパスで見つけ出します。 | ||
<code>GameInfo.txt</code> | <code>GameInfo.txt</code>ファイルの内部にはpath IDを指定する<code>"SearchPaths"</code>セクションがあります。 大抵のModにおいてはSDKランチャーの'''Create a Mod'''で作成されたものから編集する必要はないでしょう。 | ||
それぞれの行の最初の部分はpath IDの名前で、次の部分はそのpath IDが使用されたときにファイルを探す場所を指定しています。 解説のためで実際には使用しない(ドライブ名も含んだ絶対パスを使っているため、ユーザマシンにあると仮定できない)簡単な例は以下のようになります: | |||
{| | {| | ||
Line 97: | Line 96: | ||
|} | |} | ||
ここでプログラマがpath IDを"TestPathID"に指定してscripts\weapon_m4a1.txtを呼び出すコードを書いたとしたら、エンジンは以下の場所でファイルを探します: | |||
* <code>C:\TestMod1\scripts\weapon_m4a1.txt</code> | * <code>C:\TestMod1\scripts\weapon_m4a1.txt</code> | ||
Line 103: | Line 102: | ||
* <code>C:\TestMod3\scripts\weapon_m4a1.txt</code> | * <code>C:\TestMod3\scripts\weapon_m4a1.txt</code> | ||
Source | Source Engineのゲームはほとんどのコンテントを<code>"Game"</code> path IDを使ってアクセスしているため、<code>"Game"</code>という名前のpath IDがあると上と同じようなことが自動的に実行されます。 <code>"Game"</code>というpath IDのエントリーそれぞれに対して: | ||
# <code><dir>\bin</code> | # <code><dir>\bin</code>に<code>"GameBin"</code>という名前のpath IDを追加します | ||
# | # 後ろに<code>_<language></code>が追加されたパスも<code>"Game"</code>に追加します 例えば: | ||
<code>c:\hl2\cstrike</code> | <code>c:\hl2\cstrike</code>と指定した場合にはフランス語のマシンでの実行時に<code>c:\hl2\cstrike_french</code>パスも追加されます。 | ||
最初の<code>"Game"</code>サーチパスに対しては: | |||
# <code>"MOD"</code> | # <code>"MOD"</code>というサーチパスを同一のフォルダに設定します | ||
# <code>"DEAULT_WRITE_PATH"</code> | # <code>"DEAULT_WRITE_PATH"</code>というサーチパスを同一のフォルダに設定します | ||
ほとんどのMODで使用されるデフォルトの<code>SearchPaths</code>は以下のようになります: | |||
<pre> | <pre> | ||
Line 121: | Line 120: | ||
</pre> | </pre> | ||
通常の場合、パスの指定(右側の部分)は<code>hl2.exe</code>があるベースディレクトリに相対になります。 もし<code>|gameinfo_path|</code>がパスの前にある場合は、<code>GameInfo.txt</code>があるディレクトリからの相対パスになります。 例えば、<code>GameInfo.txt</code>が<code>C:\MyMod\Blasters</code>にある場合に、path IDが<code><i>|gameinfo_path|SomeTestDirectory</i></code>というパスを指定していると: | |||
<code>C:\MyMod\Blasters\SomeTestDirectory</code> | <code>C:\MyMod\Blasters\SomeTestDirectory</code> | ||
Counter-Strike: | Counter-Strike: Sourceの<code>GameInfo.txt</code>では上のような<code>SearchPaths</code>セクションがあります。 もしあなたのCounter-Strikeのディレクトリが: | ||
<code>C:\Program Files\Valve\Steam\SteamApps\username\Counter-Strike Source</code> | <code>C:\Program Files\Valve\Steam\SteamApps\username\Counter-Strike Source</code> | ||
だったとすると、次の2つのディレクトリを見ることになります: | |||
* <code>C:\Program Files\Valve\Steam\SteamApps\username\Counter-Strike Source\cstrike</code> | * <code>C:\Program Files\Valve\Steam\SteamApps\username\Counter-Strike Source\cstrike</code> | ||
GameInfo. | GameInfo.txtがここにあるからです。 | ||
* <code>C:\Program Files\Valve\Steam\SteamApps\username\Counter-Strike Source\hl2</code> | * <code>C:\Program Files\Valve\Steam\SteamApps\username\Counter-Strike Source\hl2</code> | ||
これはSteamの仮想ファイルシステムのみに存在しています。 | |||
{{otherlang:jp}} | {{otherlang:jp}} |
Revision as of 16:15, 3 January 2009
GameInfo.txtのファイル構造
GameInfo.txt
は特定のMODやゲームにどのコンテントが必要なのかをSDKツールやSourceEngine向けに記述するファイルです。 これを使うことによってMODのゲームディレクトリ内でツールやエンジンを実行してもHalf-Life 2、 Counter-Strike、もしくはHalf-Life 2: Deathmatchのコンテントを読み込むことができます。 またこれはツールがゲームディレクトリを見つけるためのマーカーでもあります。
注意: このファイルを編集する必要があるのはMODプロジェクトを最初に設定するプログラマだけです。 大抵の場合において編集する必要はありませんが、Half-Life 2以外のコンテントを元にしたゲームを作りたいのなら、変更する必要があります。 自分のMOD向けの設定が完了したら、このgameinfo.txtはMODのコンテントとともにリリースされる必要があります。 MODの作業をしている全ての開発者のゲームディレクトリには同一のgameinfo.txt
があるべきです。
UI(ユーザインタフェース)設定
ゲームのタイトルを含む多くのUI(ユーザインタフェース)設定はgameinfo.txtによって指定されます。 以下のキーがあります:
game "Game Title(ゲームのタイトル)" // これがSteamのゲームメニューで表示されます title "Game Title(ゲームのタイトル)" // これが実際のゲームメニューで表示されるタイトルです title2 "..." //省略可能 title3 "..." //省略可能(2つ以上のタイトルのテストはされていません) title# "..." //省略可能(2つ以上のタイトルのテストはされていません) type singleplayer_only //シングルプレイのみの場合、他にmultiplayer_only(マルチプレイのみ)の指定も可能 //様々なUI要素とゲームルールの定義 //MP、SP両方のModの場合は省略 nocrosshair boolean //オプションのマルチプレイヤータブでの照準選択メニューを隠します。 nohimodel boolean //不明 nomodels boolean //不明 developer "Team name(チーム名)" //開発したチームの名前(もしくは個人名) developer_url "Webアドレス" //チームのホームページ http://から始まる必要があります icon "path/to/icon" //アイコンは非圧縮の16x16ピクセルのTGA //MODのインストールディレクトリからの相対パス //(GameInfo.txtのあるディレクトリ)で、TGAのファイル拡張子は不要
hidden_maps //指定したマップはインタフェースに表示されませんが { //アクセスは可能です "mapname" 1 "mapname" 1 }
最初に新しいMODを作成するときには、gameinfo.txtにtitle(ゲームタイトル)とtype(シングル・マルチ)のキーがないので、それらの追加を忘れないようにしてください。
GameInfo.txtの使用の基本
GameInfo.txt
で重要なのはSteamAppId
変数です。 GameInfo.txtの内部を見ると、以下のようなセクションがあるはずです:
SteamAppId 220 // 必要なGCFをマウントします(240=CS:S, 220=HL2)
GameInfo.txt
でのSteamAppId
の値が、このゲームではどのゲームコンテント (Steam .GCF files) を利用するかを指定しています。
Source Engineの主要ゲームのSteamAppId
の値はここに説明があります。
さらにSteam UIから見えるように開発者名やURLの情報を追加することもできます。 SteamサードパーティModサポートを参照してください。
GameInfo.txtの応用トピック
このセクションではGameInfo.txt
の様々な要素についての詳細を説明します。
ToolsAppId
全てのGameInfo.txt
には以下のような行が含まれる必要があります:
ToolsAppId 211
これはゲームでは使用されないがツールでのみ使われるコンテントがある特別な場合です。
SearchPaths
GameInfo.txt
内のSearchPaths
セクションはどこでコンテンツが見つかるか、ハードドライブもしくはSteamキャッシュファイル内部を指定しています。 この部分を理解するには、まずプログラマがどのようにSource Engineのゲームファイルアクセスを使用しているかを回り道して説明する必要があります。 コード内でプログラマがアクセスするファイル全てはpath IDの下の存在する必要があります。 path IDはハードディスク、もしくはSteamの仮想ファイルシステム内部の1つ以上の場所を指定しています。
例として、スクリプト、音、モデルファイル、そしてマテリアルといったほとんどのゲームマテリアルは"Game"
というpath IDを使ってアクセスされます。 プログラマは「'Game'
path IDの中のscripts\weapon_m4a1.txt
というファイルを開く」などと言います。 もしModをC:\MyMod\Blasters
で実行し、Counter-Strike: Sourceのコンテントを読み込むSteamAppId 240
を使用していたのなら、以下の場所でファイルを探すことになるでしょう:
C:\MyMod\Blasters\scripts\weapon_m4a1.txt
<Steamインストールディレクトリ>\Steam\SteamApps\username\Counter-Strike Source\cstrike\scripts\weapon_m4a1.txt
<Steam仮想ファイルシステム内部>\cstrike\scripts\weapon_m4a1.txt
path IDを使ってファイルを指定することで、プログラマやアーティストがこれらの違うディレクトリの心配をする必要がなくなります。 ゲームディレクトリからの相対でのファイル位置(例えばscripts\weapon_m4a1.txt
やmaterials\brick\brickwall001a.vmt
)を使えば、GameInfo.txt
が"Game"
path IDの指定をしている限り、エンジンやツールはファイルが存在する場所をフルパスで見つけ出します。
GameInfo.txt
ファイルの内部にはpath IDを指定する"SearchPaths"
セクションがあります。 大抵のModにおいてはSDKランチャーのCreate a Modで作成されたものから編集する必要はないでしょう。
それぞれの行の最初の部分はpath IDの名前で、次の部分はそのpath IDが使用されたときにファイルを探す場所を指定しています。 解説のためで実際には使用しない(ドライブ名も含んだ絶対パスを使っているため、ユーザマシンにあると仮定できない)簡単な例は以下のようになります:
TestPathID |
C:\TestMod1
|
TestPathID |
C:\TestMod2
|
TestPathID |
C:\TestMod3
|
ここでプログラマがpath IDを"TestPathID"に指定してscripts\weapon_m4a1.txtを呼び出すコードを書いたとしたら、エンジンは以下の場所でファイルを探します:
C:\TestMod1\scripts\weapon_m4a1.txt
C:\TestMod2\scripts\weapon_m4a1.txt
C:\TestMod3\scripts\weapon_m4a1.txt
Source Engineのゲームはほとんどのコンテントを"Game"
path IDを使ってアクセスしているため、"Game"
という名前のpath IDがあると上と同じようなことが自動的に実行されます。 "Game"
というpath IDのエントリーそれぞれに対して:
<dir>\bin
に"GameBin"
という名前のpath IDを追加します- 後ろに
_<language>
が追加されたパスも"Game"
に追加します 例えば:
c:\hl2\cstrike
と指定した場合にはフランス語のマシンでの実行時にc:\hl2\cstrike_french
パスも追加されます。
最初の"Game"
サーチパスに対しては:
"MOD"
というサーチパスを同一のフォルダに設定します"DEAULT_WRITE_PATH"
というサーチパスを同一のフォルダに設定します
ほとんどのMODで使用されるデフォルトのSearchPaths
は以下のようになります:
Game |gameinfo_path|. Game hl2
通常の場合、パスの指定(右側の部分)はhl2.exe
があるベースディレクトリに相対になります。 もし|gameinfo_path|
がパスの前にある場合は、GameInfo.txt
があるディレクトリからの相対パスになります。 例えば、GameInfo.txt
がC:\MyMod\Blasters
にある場合に、path IDが|gameinfo_path|SomeTestDirectory
というパスを指定していると:
C:\MyMod\Blasters\SomeTestDirectory
Counter-Strike: SourceのGameInfo.txt
では上のようなSearchPaths
セクションがあります。 もしあなたのCounter-Strikeのディレクトリが:
C:\Program Files\Valve\Steam\SteamApps\username\Counter-Strike Source
だったとすると、次の2つのディレクトリを見ることになります:
C:\Program Files\Valve\Steam\SteamApps\username\Counter-Strike Source\cstrike
GameInfo.txtがここにあるからです。
C:\Program Files\Valve\Steam\SteamApps\username\Counter-Strike Source\hl2
これはSteamの仮想ファイルシステムのみに存在しています。
Template:Otherlang:jp Template:Otherlang:jp:en, Template:Otherlang:jp:pl, Template:Otherlang:jp:ru