スポンサーサイト

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

ひとクセあるRCOファイル

今日もRCOファイルのXML編集についての小噺でもひとつ。RCOファイルにはいろいろな種類があります。まだ全てではないですが今までに結構な数のRCOファイルを弄ってきて、ほとんどのものは基本的なルール(XML・RCO独自の)を守っていれば特に問題は無かったのだけれど、たまにそのルールから外れた"例外"に出くわすものがありました。記述に問題は無く何のエラーも無いのにフリーズしたり画像が表示されなかったり...今日はそんな"例外"たちをちょっとまとめてみようかと。

さて、内容を簡単にまとめると次のような種類に分けられます。

過去記事で時々書いた事のある内容もあるので見覚えがあるかもしれませんが、それぞれ順を追って纏めていきます。

記述するとフリーズするもの

これは特定の箇所に記述を追加するとフリーズしてしまうという現象の事で、List系要素の前に追記した時によく起こる。以下はそれの一例


<Page name="photo_page_information_0" >
    <Plane name="ilist_background" ~/>
    <IList name="photo_list_information_0" ~/>
</Page>

赤字の部分が追記した箇所になる。これはphoto_browser_plugin.rcoの情報ページの一つでIList要素に背景をつけたくてこのような記述をしているのですが、この方法ではオプションメニューを開いて「情報」を選択したときにフリーズするようになってしまいます。

ちなみにIList要素っていうのはコンテンツの詳細情報を表示するものでメモステだとか画像・音楽・動画・その他諸々に関する情報を表示してくれます。実態はテキストとスクロールバー(テキストが表示しきれない時に表示される)で構成されていて、多分"Information List"の略ではないかと。

さて、このIList要素はいろいろなRCOファイル内にありますが全部が全部フリーズするってわけではないです。それともう一つ、IList要素以外にMList要素とXList要素の一部にもフリーズの原因になるものがあります。以下に私の知っている範囲でこの特徴を持つRCOファイルを書出しておきます。

フリーズの原因となるList系要素
RCOファイルの種類カテゴリ要素名要素の数
sysconf_plugin.rco設定MList41
photo_browser_plugin.rcoフォトXList, IList1, 2
music_browser_plugin.rcoミュージックXList, IList1, 3
savedata_plugin.rcoセーブデータ管理XList [*1]1
rss_browser_plugin.rcoRSSチャンネルXList, IList1, 4
recommend_browser_plugin.rcoインフォメーションボードXList1

* セーブデータ管理はちょっと特殊で、普通にXList要素前に追記してもフリーズせず、下記のように子要素にするとフリーズしてしまう。


<Page name="page_listdata" >
    <Text name="savedata_title_text" ~/>
    <Text name="detail_text" ~/>
    <Text name="detail_sub_text" ~/>
    <Plane name="xlist_parent" ~>
        <XList name="savedata_list" ~/>
    </Plane>
</Page>

記述しても反映されないもの

これはオブジェクトをいくら追加しても何も変化がない・表示されないというもので、主に「情報」ページでよく見られる現象のこと。これも全ての情報ページってわけではなく大体次のようなRCOファイルがこの特徴を持っています。

カテゴリを閉じると非表示になるもの
RCOファイルの種類関連するページ
photo_browser_plugin.rcoフォトの情報ページ
music_browser_plugin.rcoミュージックカテゴリの情報ページ
rss_browser_plugin.rcoRSSチャンネルカテゴリの情報・インポートページ
rss_downloader_plugin.rcoRSSチャンネル登録の全てのページ
radioshack_plugin.rcoインターネットラジオの全てのページ

全てのRCOのページに追加したわけではないので、これはまだ他にもあると思います。これらのページに表示させる方法についてはまた別の機会に纏めます。

オリジナルの記述を削除するとフリーズするもの

これはそのままの意味で最初からある要素を消してしまうとフリーズするという現象のことで、はっきりと確認しているのは以下の二つです。

よく上の二つを弄っていて原因不明のフリーズが多発して手に負えないという話を耳にしますが案外このパターンが多いような気がします。私も始めの頃は気付かずによくやっては「何で?」と頭を捻っていました。オブジェクトを削除したことを忘れてしまうと袋小路に迷い込んでしまうでしょう。OSKなんかではヘルプ画面のオブジェクトを大量に消去してフリーズさせてしまう例なんかをよく目にしてきました。

これ以外のRCOファイルでもevent属性にnative系の記述があるオブジェクトは間違えて削除しないよう気をつけた方がいいでしょう。それ以外ではどのオブジェクトを削除するとフリーズするかは把握できていないので私は極力削除しないようにして手を加える事にしています。

カテゴリを閉じても追加したオブジェクトが消えないもの

通常カテゴリを閉じるとそれに関連するオブジェクトは全て非表示になりますが、そのページを閉じても表示されたままになり消えないものがあるというものです。色々なケースがありますが、主にオプション・情報・削除ページ以外に追加したものが当てはまるものが多いです。カテゴリによっては無条件で閉じると非表示になるものもありますが、それ以外は確実に非表示にできる方法は分かりません。

カテゴリを閉じても非表示にならないもの
カテゴリ対応するRCOファイル
フォトphoto_browser_plugin.rco
ミュージック [*1]music_browser_plugin.rco, music_plaeyr_plugin.rco, visualizer_plugin.rco
ビデオmsvideo_main_plugin.rco
RSSチャンネルrss_browser_plugin.rco
PSNアカウント管理npadmin_plugin.rco
PSNインフォメーションボードrecommend_browser_plugin.rco
カテゴリを閉じると非表示になるもの
カテゴリ対応するRCOファイル
設定sysconf_plugin.rco, neyconf_plugin.rco, osk_plugin_500.rco
ゲームgame_plugin.rco [*2], savedata_plugin.rco, netplay_plugin.rco
インターネットサーチhtmlviewer_plugin.rco
ネットワークその他radioshack_plugin.rco, skype_main_plugin.rco, store_plugin.rco
特殊
カテゴリ対応するRCOファイル
フォト、ミュージック、ビデオ、RSSch共通common_page.rco

注釈

*1: ミュージック関連のRCOファイルは他にも変なクセが
ミュージック以外にフォト・RSSチャンネルを開いても表示される。ただし、オプションや情報、操作パネルやヘルプページは除く。
*2: カテゴリクローズで消えるのに...
ゲーム起動画面で何故か消えない。しかもgameboot.pmfの上に覆うように表示されるのでタチが悪い。

さて、このようにRCOファイルには全てに共通するルールとは別に独自の決まりごとがあるみたいですね。今回纏めた内容は私が知っている範囲のみなので、他にもまだあると思いますので何か分かればまた記事にします。

ではでは。

更新: 2010-11-19

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

現在の書き込みは、-件です。

現在の書き込みは、3件です。

392 :Ako:2010/06/17(木) 17:55:06 ID:X.Av9vec
質問なんですが
これはオプションメニューにfadeなどを入れると情報ページにも表示されるみたいな現象と同じですか?
393 :藍色:2010/06/18(金) 00:37:07 ID:aV/dabIU
その現象そのものについてはFadeの特性で
RCOファイルのクセってわけではないです。
これはどのRCOファイルでも同じような現象を引き起こすことが出来ますよ
使いようによっては非常に便利ですからね、あれは。重宝しますよ
394 :Ako:2010/06/18(金) 05:19:51 ID:X.Av9vec
そうだったんですか!
ありがとうございますm(_ _)m