スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
公開: --年--月--日, カテゴリ: スポンサー広告

RCO-SPTとRcomageで定義されている属性名称の相違点確認資料

RCOファイル用のXMLタグ生成ツールであるRCO-SPTについて、以前みひぽんさんが機能・操作解説の記事を何度かに分けて公開されていたが、その最後にこう書かれている。

属性の名称違いで、Rcomageでのコンパイル時にMissing attributeが出るようなので、環境に応じてScriptのテンプレートを書き換えが必要みたい。

それから私はどの属性が異なるかということを調べてはいたんだけど、メモを取ってそのまま失念していて今になって思い出したので情報整理をしてみた。そこで折角なのでみひぽんさんの記事の補足として公開しておく。ちなみに何もせずそのまま使ったら間違いなくエラーを吐く。以下はその例文。

Warning: [line 67] Missing attribute 'onLoad', defaulting to 0 / nothing.

このエラーの内容はonLoad属性が見つかりません(または値の不一致)といったところで、RcomageでonLoadと定義されているのに対し、RCO-SPTではonInitで定義されているために起こる現象。対処法は単純、定義ファイルの内容を一致させればいい。これはどちらに統一させてもよく、開発者の命名が気に食わなければ自分で好きなように命名してもいい

さて、以下に RCO-SPT v1.0 と Rcomage v1.1.1 の定義ファイルの比較を示す。

比較

この比較の見方は、まず RCO-SPT v1.0 に付属する定義ファイルを一覧し、その内容に Rcomage v1.1.1 で定義されている属性名称と異なるものがある箇所について比較表を入れている。定義ファイルは全13種類(追加していなければ)、うち8種類が何らかの相違点を持っている。

  1. Animation.txt
  2. Delay.txt
  3. Fade.txt
  4. FireEvent.txt
    属性名の比較表
    RCO-SPTRcomage
    eventobject
  5. Image.txt
  6. ModelObject.txt
    属性名の比較表
    RCO-SPTRcomage
    onInitonLoad
  7. MoveTo.txt
    属性名の比較表
    RCO-SPTRcomage
    posZunknownFloat4
  8. Plane.txt
    属性名の比較表
    RCO-SPTRcomage
    posZobjectScale
    onInitonLoad
    displayModeunknownInt18
  9. Recolour.txt
  10. Resize.txt
    属性名の比較表
    RCO-SPTRcomage
    elementScaleunknownFloat4
  11. Rotate.txt
    属性名の比較表
    RCO-SPTRcomage
    axisXx
    axisYy
    axisZz
  12. SlideOut.txt
    属性名の比較表
    RCO-SPTRcomage
    posXscalexspeed
    posYscaleyspeed
  13. Text.txt
    属性名の比較表
    RCO-SPTRcomage
    onInitonLoad

定義ファイルの保存先

RCO-SPT

定義ファイルはScriptフォルダ配下に保存されている。

RCO-SPT-v1.0
  ├ RCO_SPT.exe
  ├ profile.ini
  ├ MSCOMCTL.OCX
  ├ RICHTX32.OCX
  ├ bg.jpg
  ├ bg2.jpg
  ├ language/
  ├ Save/
  └ Script/
      ├ Animation.txt
      ├ (中略)
      └ Text.txt

Rcomage

定義ファイルはRcomageフォルダ配下に保存されている。

Rcomage-v1.1.1
  ├ GimConv/
  ├ readme.txt
  ├ rcomagegui.exe
  └ Rcomage/
      ├ rcomage.exe
      ├ animattribdef-ps3.ini
      ├ animattribdef-psp.ini
      ├ miscmap.ini
      ├ objattribdef-ps3.ini
      ├ objattribdef-psp.ini
      └ tagmap.ini

修正手法の例

RCO-SPTの定義ファイルを修正する場合

サンプルとしてSlideOut.txtファイルを修正してみる。まずはRcomageの定義ファイルを参照する、SlideOut要素はanimattribdef-psp.iniファイルで定義されている。内容を以下に示す。


[SlideOut]
object = ref
duration = float
accelMode = int
xspeed = float
yspeed = float
xcompress = float
ycompress = float

イコールで区切って左側が属性名称になる。右側は関係ないので気にしない、気になるならデータ型で調べれば何か分かるかもしれないし何も分からないかもしれない。

次にSlideOut.txtの内容を以下に示す。


<SlideOut object="object:plane_$list_var_number$" duration="0" accelMode="0x0" posXscale="0" posYscale="0" xcompress="1" ycompress="1" />

これらは属性の並び順が同じという共通項があるので、それぞれ順に比較すれば容易に特定できる。比較していくと以下の2箇所が抽出できる。

あとはこれらを書替えて保存するだけ。以下に修正後の記述を示す。


<SlideOut object="object:plane_$list_var_number$" duration="0" accelMode="0x0" xspeed="0" yspeed="0" xcompress="1" ycompress="1" />

Rcomageの定義ファイルを修正する場合

サンプルとしてobjattribdef-psp.iniファイルのPlane要素の項目を修正してみる。先程とは逆にRCO-SPTの定義ファイルを参照する、Plane要素はPlane.txtファイルで定義されている。内容を以下に示す。


<Plane name="plane_$list_var_number$" posX="0" posY="0" posZ="0" redScale="0" greenScale="0" blueScale="0" alphaScale="1" width="1" height="1" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x0" onInit="nothing" image="nothing" displayMode="0x0"></Plane>

次にRcomageの定義ファイルobjattribdef-psp.iniを参照する。該当箇所を以下に示す。


[Plane]
; -- BEGIN STANDARD POSITION DEFINITION --
posX = float
posY = float
objectScale = float
redScale = float
greenScale = float
blueScale = float
alphaScale = float
width = float
height = float
posUnknown = float
scaleWidth = float
scaleHeight = float
elementScale = float
iconOffset = int
onLoad = event
; -- END STANDARD POSITION DEFINITION --
image = image

以上を比較すると以下の3箇所が抽出できる。

あとはこれらを書替えて保存するだけ。以下に修正後の記述を示す。


[Plane]
; -- BEGIN STANDARD POSITION DEFINITION --
posX = float
posY = float
posZ = float
redScale = float
greenScale = float
blueScale = float
alphaScale = float
width = float
height = float
posUnknown = float
scaleWidth = float
scaleHeight = float
elementScale = float
iconOffset = int
onInit = event
; -- END STANDARD POSITION DEFINITION --
image = image
displayMode = int

他のファイルについても同様の手順で相違箇所をピックアップして修正していく。内容を自分で書替えてなければ上記の比較表のとおりのはずなので、そちらを参照のこと。

以上。

RCO-SPTの関連リンク集

公開: 2010年12月03日, カテゴリ: 雑談・小ネタ・資料集