現在グラフィカルにSSGを作成できる SSGEditer 通称 SEdi(セディ)の作成にも着手しております。 こんな面倒な物が書けるかっ!と言う方は、もう少しお待ち下さい。 (と、ver1.0から書いておきながら未だに出来てないッス(^^;)すみませぬ) −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 以下はSSGを作ってみたいな〜とか思った方必見の 「SSGの書き方 ver3.4版」でございます。ぜひぜひ一度チャレンジしてみて下さい。 −−−−−−−−−−−−−−−− SSGの書き方 −−−−−−−−−−−−−−−− SSG for SpoilerAL ver 3.4 //1行目にはこういう文が必ず入ってなきゃダメなの //ver の部分は随時変わるけどね。 [script] //でスクリプトが始まるよ〜って教えてあげる //"]"の後ろには何も書かないでね [title] //"]"の後ろに表示されるタイトルを書くの //例:[title]テスト用 [process] //"]"の後ろに改造するプロセスを書くの //例:[process]TEST.EXE [maker] //"]"の後ろにメーカーとかソフトハウスとか発売元とかを書くの //例:[maker]アリスソフト [creator] //"]"の後ろにそのSSGを書いた人の名前を書くの //例:[creator]あつ [special] //"]"の後ろにタイトルを特殊順でソートする場合の見だしを書くの //普通は書かない方が良いかな。 //例:[special]対応機種限定 [adjustment] //環境によって、アドレスがずれる場合に用いる。 //使い方は後述するでし。 [hold] //基本的に、環境によってアドレスがずれるのだが、 //変化しないアドレスもある場合に用いる。 //使い方は同じく後述するでし。 [note] //補足とかメモに表示したいことを書き始めるよ〜っていう合図 //"]"の後ろに"wordwrap"と書くと、 //画面端で自動的に文章を折り返すようになります。 [/note] //メモはココまでで終わりダヨって言う合図 //"]"の後ろには何も書かないでね [subject] //"]"の後ろに項目データを書くの //説明長くなるから下記参照 [back] //階層項目で下がった階層を1つ戻す //階層項目については下記参照 [root] //階層項目で下がった階層をいっきに初期階層まで戻す //階層項目については下記参照 [/script] //でスクリプトは終わりだよって教えてあげる //"]"の後ろには何も書かないでね 前後の空白、タブは無視されるので [subject]モキュ: dir とか書いてもOKです。 (ただし日本語文字(全角文字)の空白はカットされません) [note]から[/note]で囲んだ中以外なら、 関係ない文は全てコメントとして無視されます。 [script] ももももっ ←コメント ももも? ←コメント [[/script] ←コメント [backもも] ←コメント も[subject] ←コメント [note] [back] ←メモとして表示 [root] ←メモとして表示 [/note] [/script] もももももっ ←コメント コメントは見やすくなるように、つけようね。 やりすぎるとよけい見にくくなるゾ。 −−−−−−−−−−−−−− [subject]の説明 −−−−−−−−−−−−−−−− 項目名に"/"を含ませることはできません。理由は下記参照 [subject]項目名:コード という風に書く。 "項目名"には、その項目の表示名を書く。どんな名前でもOKだよ。 "コード"は今のところ12個。 ★アドレスや最小値などの値(toggle項目のON/OFF時の値以外)は、  16進数なら頭に"0x"をつけ、10進数ならそのまま書くこと! ★トグル項目以外の書き換え項目(電卓、リスト、文字項目)の最大値や書き換える値は  long型(最大0xFFFFFFFF)までにして下さい。もしそれ以上の値を使いたい場合は  項目を二つに分けるか、私に連絡下さいm(_ _)m  今のところint以上の値を使って書き換えるのを知らないんで(^^;) ★コードにデフォルト値がある場合、その値は省略して記述しても構いません。 例:[subject]体力:calc,0x438CDA,0x00,0x03E7 //2つとも同じ物と解釈される   [subject]体力:calc,0x438CDA,0x00,0x03E7,signed,little_e ◆1つ目は"dir"。階層項目とでも言うのかな。 [subject]項目名:dir と書けば終わり。 階層を一段下げてくれます。("新しいフォルダを作る"みたいなもんかな) [subject]項目1:dir [subject]項目2:dir [subject]項目3:dir とかやると、どんどん階層が深くなっていきます。 最大256階層まで掘れます(笑) 項目名に"/"を入れると、"/"の前までが項目名になります。 ★"dir"で階層を下げたら、ちゃんと[back]や[root]で  階層を戻すことを忘れずに。 ◆2つ目は"calc"。電卓項目とでも言うんでしょう。 数値を電卓で入力できるようになるよ。 [subject]項目名:calc,開始アドレス,入力できる最小値,入力できる最大値 ,負値の可否,エンディアンの指定 という風に書く。(実際書くときは改行しちゃダメだよ) ♪「負値の可否」ってのは、値をsigned(-2,147,483,648〜2,147,483,647)として  扱うかunsigned(0〜4,294,967,295)として扱うかを指定するところです。  "signed"と書けばsignedとして扱いますし、"unsigned"と書けばunsignedとして  扱います。(デフォルト値は signed )  (早い話が0よか少ない値を使うかどうかってコト。  -1以下の値を使っていなくても、大抵のゲームは  2,147,483,647を越すような値も使っていないから、signedにしとけば問題なし。) Ψ「エンディアンの指定」には "little_e" もしくは "big_e" を記述します。  Windowsでは、通常値を格納するとき、  上位バイトと下位バイトが逆(リトルエンディアン)になります。  が、あえて反転させたくない場合は、ビッグエンディアンを指定します。  なお、ビッグエンディアンを指定するときでも、最大値・最小値の値は  反転させて書かなくて結構です。(デフォルト値は little_e )  (何のこっちゃ?って人は、何も考えずに "little_e" と記述して下さい(^^;)) 項目名に"/"を入れて他の文字も変更することができます。 一つ目の"/"の前までが項目名、 項目名の後から二つ目の"/"の前までが現在値名(丁度いい呼び名が思いつかない(^^;) 現在値名の後から三つ目の"/"の前までが値の固定名 値の固定名の後から":"までが[]の後ろに入れる補足文字になります。 例図: 現在値名[現在値]補足文字(Min:0 Max:10) 省略した場合、現在値名は項目名に、値の固定名は「値の固定」になります。 例:[subject]体力:calc,0x438CDA,0x00,0x03E7,signed,little_e   [subject]体力:calc,4426970,0,99999,unsigned,little_e ◆3つ目は"toggle"。トグル項目(ON/OFF項目)とでも言おう。 ONかOFFしかないデータはこれを使うべし。 [subject]項目名:toggle, 開始アドレス, ONの値, OFFの値 という風に書く。 なお、繰り返し命令はこのトグル項目でのみ使用可能。 書式は [subject]項目名:toggle, 開始アドレス, 終了アドレス-ONの値, OFFの値 と書くだけです。 ♪書き込む値(ON/OFF)を、直接文字で記述することもできます。  書き込む値の前に s をつけると、記述した文字を書き込んでくれます。  s01山田 <-同じ-> 30318E529363 ‡と、ここまで書くとプログラミングをやってる方の中には「アレはどうするんだ?」  とか思った方もいるでしょう。そうです、「制御コード」  (いわいる改行とかタブとかNULL文字です)ってのがありますね。  しかしご安心下さい、エスケープシーケンスを使えます。  改行なら"\n"、タブなら"\t"、NULL文字なら"\0"、"\"(円ダラー)なら"\\"でごわす。 ¶賢明な読者諸君(笑)なら、もう一つ疑問に思ったことだろう。  そう、"-"(ハイフン)を文字として書くと、繰り返し項目と見なされるのではないか?  へっへっへ、そこら辺も抜かりはありやせんゼ、旦那!  こいつもエスケープシーケンスの応用でごわす。"\_"と書けばバッチシです。 ∇(とはいっても","(カンマ・コンマ)も使えないんだよね(^^;)  仕方ないんで苦肉の策。  "\."(エンダラー+ピリオド)で","(カンマ・コンマ)と見なします。 @ON/OFFの値は、一部のバイトを"?"でマスクして、読み飛ばすこともできます。 例:現在の値が0x1234であるとき   [subject]中央2バイトをマスク:toggle,0x0,F??F,0000   を、ONの値で書き込むと、0xF23Fと書き込まれます。 なお、必ずしもと言うわけではありませんがONの値とOFFの値の桁数はそろえた方が ミスが起こりにくいです(^_^) 項目名に"/"を入れて他の文字も変更することができます。 一つ目の"/"の前までが項目名、 項目名の後から二つ目の"/"の前までがトグル値名(丁度いい呼び名が思いつかない(^^;) 現在値名の後から":"までが値の固定名になります。 省略した場合、現在値名は項目名に、値の固定名は「値の固定」になります。 例:[subject]お猿人形1を所持:toggle,0x438CD0,01,00 [subject]お猿人形セットを所持:toggle,0x438CD0,0x438CDF-01,00   [subject]お猿人形の名前:toggle, 0x438CD0, s猿雄\0, sおさる大王\0 ◆4つ目は"list"。リスト項目というヤツです。 キャラの装備とか一覧の中から選ばせたい項目はこれで書く。 [subject]項目名:list,開始アドレス, ファイル名, 行頭の指す値, 公差 という風に書く。 ♪"ファイル名"には、選択できる一覧を書いたファイル(拡張子は lst にして、  そのSSGと同じフォルダに置くこと)の名前の部分だけ(拡張子は省いて良い)を書く。  リストファイルの名前は他と区別しやすいように、  タイトルや項目名に似た名前がいいかも。 ♪"行頭の指す値"は、一覧を書いたファイルの、  1行目の文を選択したときに、メモリに書き込む値を書く。  たいていのゲームは 0 だが、中には例外もあるだろうから一応ね。 ♪"公差"には、一覧の行と行の間で増す値の量を書く。  例えば、1行目を選択したら 0 と書き込んで、  2行目を選択したら 1 、3行目なら 2 という風に書き込む値が変わるなら  公差には 1 と書く。 項目名に"/"を入れて他の文字も変更することができます。 一つ目の"/"の前までが項目名、 項目名の後から":"までが値の固定名になります。 省略した場合、値の固定名は「値の固定」になります。 例:[subject]右手:list,0x438CDA,test,0x00,0x01 ◆5つ目は"b_toggle"。バンドルトグル(一括トグル)項目と呼ぶべしっ! これはtoggleの拡張版(?)みたいなものです。 基本的にtoggle項目は、何バイト分でも書き換えることができます。しかし、 虫食い(0x00から0x10まで書き込んで、0x10バイト分無視(飛ば)して 0x20から0x30まで書き込む。)的な書き方ができません。 そこでb_toggle項目の登場と相成るわけです。 使い方はかーんたん?(ォ [subject]項目名:b_toggle, 開始アドレス, ファイル名, オフセットか という風に書く。 ♪"ファイル名"には、toggle項目を羅列したファイル(拡張子は chn にして、  そのSSGと同じフォルダに置くこと)の名前の部分だけ(拡張子は省いて良い)を書く。  チェインファイルの名前は他と区別しやすいように、  タイトルや項目名に似た名前がいいかも。 〒"オフセットか"には"real"か"offset"を指定します。(デフォルトは"real")  チェインファイルに書かれているアドレスを、ある値からのオフセット  として記述したい場合に"offset"を指定します。"real"を指定した場合、  読み書きするアドレスは、チェインファイルに記述したアドレスになります。  そのため、2つ目のオプションである"開始アドレス"は、"offset"を  指定しない限り、どんな値でも良い、と言うことになります(^^;) 例:[subject]オフセットで記述:b_toggle, 0x40000, test, offset   ↓チェインファイル↓   0x00,01,00   0x10,01,00   実行時に   0x40000,01,00   0x40010,01,00   へ変換される。 なお、チェインファイル中のtoggle項目は [subject]項目名:toggle, を省いて書きます。つまり、 開始アドレス, ONの値, OFFの値 (例:0x438CD0,01,00) もしくは 開始アドレス, 終了アドレス-ONの値, OFFの値 (例:0x438CD0,0x438CDF-01,00) という風に書くわけです。 (勿論、文字記述もOKだよっ!) バンドルトグル項目を選択した場合、指定されたチェインファイル中の toggle処理が全て実行されますので、toggle処理を虫食い的に記述すれば 虫食い書き換えも可能なわけですね。ハイ。 (空白は無視されますが、コメントは使えません) チェインファイルの例: 0x430000,0101,0000 0x430010,0101,0000 0x430020,0101,0000 項目名に"/"を入れて他の文字も変更することができます。 一つ目の"/"の前までが項目名、 項目名の後から二つ目の"/"の前までがトグル値名(丁度いい呼び名が思いつかない(^^;) 現在値名の後から":"までが値の固定名になります。 省略した場合、現在値名は項目名に、値の固定名は「値の固定」になります。 例:[subject]お猿人形1を所持:repeat, OSARU ◆6つ目は"string"。文字項目ってとこかな。 キャラの名前とかを書き換える場合はこれがいいかもね。 [subject]項目名:string,開始アドレス, 最大文字数(バイト単位), 末尾にNULL付加 という風に書く。 ♪"最大文字数"には、入力できる文字数の最大値をバイト単位で指定します。 ♪"末尾にNULL付加"に"null"を指定すると、文字書き込み時に  文末にNULL文字を付加して書き込みます。  (※最大文字数に注意!  [subject]項目名:string,開始アドレス, 8, 1  と書いた場合、書き込まれる最大バイト数は"9"ということになります。)  "null"以外を指定した場合、NULL文字は付加されません。 項目名に"/"を入れて他の文字も変更することができます。 一つ目の"/"の前までが項目名、 項目名の後から二つ目の"/"の前までが現在値名(丁度いい呼び名が思いつかない(^^;) 現在値名の後から":"までが値の固定名になります。 省略した場合、現在値名は項目名に、値の固定名は「値の固定」になります。 例:[subject]主人公名:string,0x468000, 0x0F, null ◆7つ目は"b_calc"。バンドルカルク(一括電卓)項目と、訳して下さい(^^;) 電卓版バンドルトグル項目とでも申しましょうか… 複数のアドレスへ、任意の値を書き込む場合に使います。 (アイテムがたくさんあって、いちいち入力するのが面倒なときなどは、 コレを使うと楽になりますね) [subject]項目名:b_calc, 開始アドレス, ファイル名, オフセットか という風に書くのですが、まんまバンドルトグル項目ですね(^^;) 注意して欲しいのは、現在の値の代わりに、 「全ての現在値の平均」を表示するという点です。 ♪"ファイル名"や"オフセットか"の指定法も、バンドルトグル項目と同じです。 なお、チェインファイル中のcalc項目は [subject]項目名:calc, を省いて書きます。つまり、 開始アドレス, 最小値, 最大値, 負値の可否, エンディアン (例:0x438CDA,0x00,0x03E7,signed,little_e) という風に書くわけです。 ただし、チェインリスト内の最小値や最大値、負値の可否やエンディアンは 全て同じになるようにして下さい。でないとおかしくなります。 例の如く空白行は無視しますが、コメント文は使えません。 項目名に"/"を入れて他の文字も変更することができます。 一つ目の"/"の前までが項目名、 項目名の後から二つ目の"/"の前までが現在値の平均名 (丁度いい呼び名が思いつかない(^^;) 現在値名の後から":"までが値の固定名になります。 省略した場合、現在値の平均名は項目名に、値の固定名は「値の固定」になります。 ◆8つ目は"t_toggle"。トレーストグル項目の略ですっ☆ 8つ目ともなると、ちょっと特殊な項目になってきますね。 これは、アドレス X の値が M になったとき、アドレス Y の値を N にする。 と言う項目です。 [subject]項目名:t_toggle, 監視元アドレス, 監視元ONの値, OFFは固定か, 書き換え先ONの値, 書き換え先OFFの値, 書き換え先アドレス という風に書く。 ♪監視元アドレス:  ONなのか、監視するアドレス。 ♪監視元ONの値:  監視元アドレスの値がこの値になったとき、書き換え先アドレスの値を書き換える ♪OFFは固定か:  これに"off_hold"を指定すると、監視元アドレスの値が監視元ONの値で[ない]とき、  書き換え先の値を、「書き換え先OFFの値」に書き換えます。  デフォルト値である"off_disregard"なら、監視元アドレスの値が監視元ONの値で  ない限り、書き換えは行いません。 ♪書き換え先ONの値:  監視元アドレスの値が「監視元ONの値」になったとき、書き換え先アドレスの値を  この値に書き換えます。 ♪書き換え先OFFの値:  監視元アドレスの値が「監視元ONの値」でなく、「OFFは固定か」が"off_hold"の場合、  書き換え先アドレスの値を、この値に書き換えます。 ♪書き換え先アドレス:  実際に書き換えを行うアドレスです。 項目名に"/"を入れて他の文字も変更することができます。 一つ目の"/"の前までが項目名、 項目名の後から":"までが値の固定名になります。 (トレース系は常に値を固定するかそうでないかになります。) 例:[subject]近寄ると逃げる:t_toggle,0x400000,2A,off_disregard,FF,00,0x500000 ◆9つ目は"t_list"。トレースリスト項目の略だよっ☆ これはトレーストグルの拡張版みたいな物ですね。 トレーストグルの場合、ONの値というのは1つしか指定できません。 これでは、XのときはK、YのときはLのように、複数の書き換え値に対応できませんね? そこでトレースリストです! [subject]項目名:t_list,監視元アドレス,ファイル名,書き換え先アドレス 何となく察しはついたでしょうか? そう、ファイル名には書き換え値を記したリスト名(拡張子.lst)を書くんです。 なお、OFF固定はできません。 リストの中には 監視元ONの値,書き換え先ONの値 という書式で必要なだけ羅列してください。 例によって改行・スペースのみは素通りしますが、他はダメです。 例:[subject]何をしても逃げる:t_list,0x400000,ドラ食え,0x500000 リスト内 00,FF 2A,FF 50,FF 項目名に"/"を入れて他の文字も変更することができます。 一つ目の"/"の前までが項目名、 項目名の後から":"までが値の固定名になります。 ◆10個目は"b_list"。バンドルリストです。 ここまで読んできた方なら、察しが付くかと思います。 書式は [subject]項目名:b_list,開始アドレス,lstファイル名,行頭の指す値,公差,chnファイル名,オフセットか になります。 チェインファイルには、読み書きしたいアドレスだけを連ねます。 (16進なら頭に"0x"を忘れずに!) 例:[subject]属性一括:b_list,0x468000,属性,0,1,属性,real ◆11個目は"d_list"。ダブルリストです。 listやb_listは、基本的に小さい順に値が並ぶことになります。 が、値を不定でとびとびに定義したい場合、この項目を使います。 書式は [subject]項目名:d_list,開始アドレス,lstファイル名, 最小値, 最大値,lstファイル名 になります。 ※最後はlstファイルです。注意してください。 最小値・最大値には、使用する値の最小値・最大値を書きます。 一つ目のリストファイルに表示する名称を。2つ目のリストファイルに値を書きます。 例:[subject]技:d_list,0x486000,技名, 0, 0xFF,技値 技名.lst  |技値.lst −−−−−−+−−−−−− なし    |0x00 唐竹割   |0x0A 枯木斬   |0x20 デスシックル|0xFF ◆12個目は"bitlist"。ビットリストです。 ここまでのリスト項目は、どれか一つしか選択できません。 (普通はそれで事足りるので) が、バイトではなく、ビットが立ったか立たないかで管理しているものは、 複数選択できないと、まずいことがあります。その為に使うのが、この項目です。 書式は [subject]項目名:bitlist,開始アドレス,lstファイル名, バイトサイズ となります。 「バイトサイズ」には、使用するバイト数を書いて下さい。 例:[subject]所持武器:bitlist,0x486000,武器名,1 −−−−−−−−−− [replace]で省エネしよう! −−−−−−−−−−−−− みなさん…アドレスだけ違う、同じよーな項目をたーくさん書いてませんかぁ?。 もっと楽しましょうよぉ(^-^) さて、ver2.6から登場いたしました [replace]君。 これが便利なんですね〜。 例えば [subject]キャラ1:dir [subject]体力:calc,0x400000,0x0,0xFF,signed,little_e [subject]知力:calc,0x400010,0x0,0xFF,signed,little_e [subject]迫力:calc,0x400020,0x0,0xFF,signed,little_e [back] [subject]キャラ2:dir [subject]体力:calc,0x400030,0x0,0xFF,signed,little_e [subject]知力:calc,0x400040,0x0,0xFF,signed,little_e [subject]迫力:calc,0x400050,0x0,0xFF,signed,little_e [back] という項目があったとしますね? 体力・知力・迫力は、アドレス以外はキャラ1・キャラ2ともに同じ内容です。 こういう場合は、 ---------------------- [subject]体力:calc,0x00,0x0,0xFF,signed,little_e [subject]知力:calc,0x10,0x0,0xFF,signed,little_e [subject]迫力:calc,0x20,0x0,0xFF,signed,little_e [back] ---------------------- というファイルを作り、拡張子".ssc"(Spoiler Script Child)で保存します。 ※仮に"status.ssc"というファイル名にしたとしましょう。 で、本体のSSGを [subject]キャラ1:dir [replace]0x400000,status,offset [subject]キャラ2:dir [replace]0x400030,status,offset に書き換えます。 これでファイルサイズは減少、動作は変更前と同じです(^^) ※[replace]を多段に(sscに[replace]を)使うこともできます。  ただし、永久ループにならないように気を付けて下さいね(^^;) −−−−−−−−−− [adjustment]で追尾する! −−−−−−−−−−−−− adjustment----補正、調整の意 ぱすてるチャイム以降のアリスソフト系ゲームなど、 環境によってアドレスが変わってしまう物もありますよね。 そーいう輩には、この[adjustment]を叩き込むべし! [adjustment]モード,基点,値・ファイル名,アドレス下限,アドレス上限,増減値 ちょっと難しいのでよーく読んで下さいね。 ・「モード」  "search"か"dialog"か"heap"か"verison"を指定します。  "search"を指定した場合、3番目のオプションには直接値を記述します。  "dialog"を指定した場合、3番目のオプションにはADJファイル名を記述します。  "verison"を指定した場合、書式が全く変わってきます(^^;)。  詳細はもう少しあとでね。 ・「基点」  基点となるアドレスを書く。 ・「値・ファイル名」  サーチする値、もしくはADJファイル名(拡張子を除く)を書く ・「アドレス下限,上限」  サーチする範囲を書く。 ・「増減値」  サーチする際のステップ量を書く。 ★【不変な値があり、それが書き換えたい値に隣接している】:  自分の環境では 0x500000 にAABBCCDDEEFFという  (環境によってアドレスは変わるが)内容はいつも変わらない値があるなら、 [adjustment]search,0x500000,AABBCCDDEEFF,0x400000,0xFFFFFF,0x1 と書く。すると、ゲーム実行中に何かの項目を選ぶと 0x500000(基点)から0x400000(下限)まで0x1(増減値)ずつ減らしながら、 AABBCCDDEEFFという値を探していく。見つからなかった場合、 0x500000(基点)から0xFFFFFF(上限)まで0x1(増減値)ずつ増やしながら AABBCCDDEEFFという値を探していく。見つかった場合、 そのアドレスと0x500000(基点)との差を求め、補正値として記憶しておく。 で、書き換えるときは、補正値を加算して書き込むわけです。 サーチする値は、なるべく類似性のない物の方が良いでしょう。 ("00000000"とかは厳禁だよっ(^^;)) なお、基点や下限・上限には、heapXも指定できます。 例:[adjustment]search,0x500000,AABBCCDDEEFF,heap2,heap3,0x1 この場合、heap2<0x5000000xB9FFFF,heap3=0xBA0000>0x10AFFFF のようにするです。 上記2つの補正方とはちょいと構文が違いますんで、ご注意あれ。 分解しますと、 [adjustment]モード,ヒープ番号=開始アドレス>終端アドレス,... のようになるです。 「モード」はheapですね。 っていうかココを見てどんな補正方か調べているので、 heapを指定しないとHeap補正と見てくれません。 で、「Heap番号」です。 Heap2ならheap2、Heap3ならheap3と書くのです。 ただし、DEFAULTHEAPは、heap1になります。Heap補正なのでモジュールエリアは無視です。 で、「開始アドレス>終端アドレス」に関しては…説明不要かと(^^;) 見たまんまです。 複数のHeapを対象にしたいときは、そのHeap数だけ","で区切って記述すればいいのです。 ★【ファイルのVersion情報によって、アドレスが推移する】:  エミュレータやアプリなど、Version情報を含むファイルに用います。 書式は [adjustment]モード, キー名, 値=補正値(,値=補正値,…) ですにょ。 記述例としては [adjustment]version, FileVersion, 3.0=0x0, 3.1=0x500 のようにするにょ。 モード:"version"しかあり得ません。 キー名:チェックするバージョン情報のキー名を指定します。     一般的に、"Comments","CompanyName","FileDescription","FileVersion",     "InternalName","LegalCopyright","LegalTrademarks","OriginalFilename",     "PrivateBuild","ProductName","ProductVersion","SpecialBuild"     などが用いられます。     メニューの「メモリ・プロセス」からファイルのVersion情報を     所得できますので、試しに適当なファイルを開いてみると良いでしょう(^^) 値  :"3.0"や"SpoilerAL"など、キー名に対応した値です。 補正値:その値であったとき、SSGに記述したアドレスに±する数値を指定します。 ※もし対応した値が見つからなければ、補正値には0が適用されます。 −−−−−−− [adjustment]豆知識 −−−−−−−−−− SSGには [hold] というタグを書くことが出来ます。 これは、アドレス移動系のゲームではあるが、 一部、アドレスが移動しない項目がある場合に使います。 [hold]5 とすると、そのSSG内で5番目の項目をアドレス補正の対象から除外します。 ([dir]や、[replace]で追加される項目数も計算に入れて下さい) なお、 [hold]next_no とすれば、その次に書いた項目を補正対象から除外できます。 [calc]・[toggle]は合計で16個までに抑えて下さい。 つまり、[val]に"*"が17個以上でてきてはいけません。