コードコメントウインドウ





ParCodeEditorではコードコメントを入力できるようになっていますが、ここにはアイテムリストなどを入力しておき、これを見ながらコードを修正することも想定しています。


しかし、実際にコードコメントを見ながらコードを修正しようとした場合、次のような問題が発生していました。

・コードコメントの表示エリアが狭い(行数が少ない)ため見にくい。

・アイテムリストは、非暗号化状態でソートされたものを暗号化してあるため、アイテム番号の並びに規則性がない。

 そのため、

  「現在入力しているアイテムよりもう少し強いものに変更したい」

 と思ったとき、「現在入力してあるアイテム」を探すのに苦労してしまいます。


これらの問題に対応するために、コードコメントの内容を独立したウインドウで表示するための機能を設けました。

独立したウインドウですので、好きな場所に好きな大きさで表示させることができます。


PCE Ver1.10(2005/11/7リリース)よりコードコメントウインドウに「アイテム番号変換」機能、「テキスト検索」機能を追加しました。

先ほど挙げた問題の解消のためには「テキスト検索」機能だけでも実現可能ですが、あえて「アイテム番号変換」機能も作りました。

この機能を使うには説明が必要だと思いますので解説したいと思います。



●アイテムリストとは?


改造コードで、

-----------------------------
アイテム種別1つ目
1C000000 1456ECxx




xx=
A5 なし
A6 こんぼう
A7 ナイフ
A8 銅のつるぎ



-----------------------------
という形式があると思います。

これは改造コードのxxの部分を変えることで効果を変えるものですが、xxの部分を変える内容が別途記述されています。
この部分を「アイテムリスト」と呼ぶことにします。
(「A5 なし」の部分からです)

PCEではアイテムリストに次のような制限を設けています。

・1つのアイテムリストの行は連続していること(アイテムリストの中に空行があってはいけない)
・アイテムリスト中の行は、次のような書式になっていなければならない。

  [アイテム番号][セパレータ][アイテム名]

   アイテム番号・・・半角の16進数(A-Fは大文字、小文字のどちらでもよい)
   セパレータ ・・・連続したセパレータ用文字
             (半角スペース、全角スペース、タブ、'='、'=')

          例)A5[全角スペース][タブ][半角スペース]光のつるぎ

   アイテム名 ・・・任意の文字


・アイテム番号は行頭から始まっていなければならない(前にスペースなどがあってはいけない)


このような書式である行に対し、アイテム番号を変換します。



●どんな変換をするか?


アイテムリストのアイテム番号し対し、PAR2用の暗号化または復号化を行います。


●変換対象の範囲


カーソルのある位置のアイテムリストを変換の対象とします。


●選択範囲の自動設定


「オート」というボタンを押すと、アイテムリストを自動的に選択します。

複数のアイテムリストにまたがって選択されている状態「オート」押した場合は自動選択はできません。


●変換の手順


1.アイテムリストの中にカーソルを置きます。


2.「オート」ボタンを押します


3.選択範囲を確認します。


4.アイテム番号が改造コードのどの位置になるのかを設定します。
 → 

  例1)1C000000 1456ECxxの場合
    「データ部」の「000000xx」

  例2)1C000000 1456xxxxの場合
    「データ部」の「0000xxxx」

  例3)1C0000xx 1456EC00の場合
    「アドレス部」の「000000xx」

5.アイテム番号を暗号化するのか復号化するのかを設定します。


  暗号化→非暗号化 ・・・ 現在記述されている内容を暗号化状態とみなし、
               復号化処理を行います。
  非暗号化→暗号化 ・・・ 現在記述されている内容を非暗号化状態とみなし、
               暗号化処理を行います。


  *「オート」ボタン時にリストヘッダーの記述があれば、4、5は自動的に設定されます。


6.「実行」ボタンを押します。


   処理が実行されると、リストヘッダーは指定された動作設定の内容に書き換えられます。

   実行時にリストヘッダーが存在しなかった場合は挿入されます。

(実行結果)



●リストヘッダー


  アイテムリストの直前に次のような書式の行が記述されていると、「オート」ボタンを押した時に改造コード内の位置の設定(「変換の手順」の1の作業)を自動化できます。

  書式

     [######## ########]状態
     ・アイテム番号がコードのどこに該当するのかを?で指定する
     ・「状態」はEかDが使え、それぞれ次のような意味となる。
       E ・・・ アイテム番号は暗号化されている
       D ・・・ アイテム番号は非暗号化状態にある


  例1)1C000000 1456ECxxの場合(暗号化で記述
     [######## ######??]E
     A5 なし
     A6 こんぼう

  例2)1C000000 1456xxxxの場合(暗号化で記述
     [######## ####????]E
     A5 なし
     A6 こんぼう

  例3)1C0000xx 1456EC00の場合(非暗号化で記述
     [######?? ########]D
     0 なし
     1 こんぼう


●改造コード内位置の設定とアイテム番号の桁数が合わない場合


[アイテム番号が短い場合]

 先頭に0を補充して解釈されます。


[アイテム番号が長い場合]

 アイテム番号の右側から優先的に有効になります。




●パッドコード用定義文挿入機能(ver1.40からの機能です

ビット制御用定義文を使うことでパッドコードの値指定を楽に行うことができますが、
パッドコード用の定義文は記述するのが大変です。

しかも、この定義文はどのゲームでも共通であるため、記述をソフトウェアに組み込みました。

ボタンを押すことで、定義文を挿入します。