スポンサーサイト

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

RCOファイルの構造(21) sysconf_plugin.rco

sysconf_plugin.rcoファイルは『設定』カテゴリ全般に関わるGUIのリソースファイルである。このRCOファイルの構造上の特徴として、膨大な量のオブジェクト要素が挙げられる。『設定』カテゴリに属するサブカテゴリひとつが他のカテゴリに匹敵する記述量でありデータサイズが他のRCOファイルと比較してずば抜けて大きい。しかしオブジェクト要素の構造はよく見ると同じような記述のくり返しであるため内容の把握は比較的簡単であるといえる。例外として同カテゴリに属する『ネットワークアップデート』及び『ネットワーク設定』は別RCOファイルをリソースとしている(sysconf_plugin.rcoは動作の一部分にのみ関与する)。

この記事はRCOファイルのオブジェクト構造が非常に大きいため内容量も比例して大きくなっている。そのため、ObjectTree要素以下の内容についてはPage要素を簡単に並べ、詳細説明を要するものについては別途参照するための附属文書を作成している。必要の都度、該当箇所へのリンクを用意しているので参照されたい。

目次

  1. システムソフトウェア バージョン 5.00と5.50の相違点
    1. ImageTree要素
    2. TextTree要素
    3. ObjectTree要素
  2. XMLの要素構成
  3. 関連するリソース

システムソフトウェア バージョン 5.00と5.50の相違点

なお、6.xx系での変更点については附属書の『6.xx系で追加・変更された要素』を参照されたい。

ImageTree要素

変更無し

TextTree要素

  • 下記の4項目は5.00と5.50で項目は共通でテキスト内容が変更されたもの
    Text[name="msgshare_saving"]
    5.00: 保存中です。メモリースティック™を抜かないでください。
    5.50: 保存中です。しばらくお待ちください。
    Text[name="msgsysconf_console_init_ask1"]
    5.00: 設定を初期化しますか?
    5.50: 以下の設定を初期化します。
    Text[name="msgsysconf_console_init_ask2"]
    5.00: 設定がすべて初期化されます。本当によろしいですか?
    5.50: 設定が初期化されます。本当によろしいですか?
    Text[name="msg_custom_theme_copying"]
    5.00: カスタムテーマを取り込み中です。メモリースティック™を抜かないでください。
    5.50: カスタムテーマを取り込み中です。しばらくお待ちください。
  • 下記の18項目は5.00には存在せず5.50から追加されたもの
    Text[name="msgtop_sysconf_video"]
    内容: ビデオ設定
    Text[name="msgtop_sysconf_photo"]
    内容: フォト設定
    Text[name="msgtop_sysconf_console"]
    内容: 本体設定
    Text[name="msgtop_sysconf_security"]
    内容: セキュリティ設定
    Text[name="msgtop_sysconf_powersave"]
    内容: 省電力設定
    Text[name="msgtop_sysconf_sound"]
    内容: サウンド設定
    Text[name="msgtop_sysconf_network"]
    内容: ネットワーク設定
    Text[name="msgtop_sysconf_date"]
    内容: 日付と時刻設定
    Text[name="msgtop_sysconf_theme"]
    内容: テーマ設定
    Text[name="msgtop_sysconf_rss"]
    内容: RSSチャンネル設定
    Text[name="msg_display_setting"]
    内容: 外部ディスプレイ設定
    Text[name="msg_music_setting"]
    内容: ミュージック設定
    Text[name="msg_remoteplay_setting"]
    内容: リモートプレイ設定
    Text[name="msg_internetbrowser_setting"]
    内容: インターネットブラウザ設定
    Text[name="msg_psn_account_information"]
    内容: PlayStation®Networkのアカウント情報
    Text[name="msg_camera_settings"]
    内容: カメラ設定
    Text[name="msg_lftv_settings"]
    内容: ロケーションフリープレイヤー設定
    Text[name="msg_tool_ib_qa_server"]
    内容: Information Board QA Server
  • 下記の4項目は5.00のみに存在し、5.50では削除されているもの
    Text[name="msg_custom_theme_copying_umd"]
    内容: カスタムテーマを取り込み中です。UMD™を抜かないでください。
    Text[name="msg_install_extended_function_activate_internet"]
    内容: アナログ出力の拡張機能をインストールするため、インターネットに接続します。
    Text[name="msg_install_extended_function"]
    内容: アナログ出力の拡張機能をインストールする
    Text[name="msg_install_same_installed"]
    内容: この機能はすでにインストールされています。

ObjectTree要素

Page[name="page_psp_config_analog_out_ext_install"]及び子要素全てが5.00のみに存在しており5.50では削除されている。

XMLの要素構成

sysconf_plugin.rcoのMainTree要素は以下の3種類の子要素から構成される。

  • MainTree[name="sysconf_plugin"]
    • ImageTree
    • TextTree
    • ObjectTree

ImageTree要素

以下の通り20種類のImage要素により構成される(一部記載を省略している)。

Image[name="tex_sysconf_icon"]
第2階層アイコン
Image[name="tex_sysconf_usb"]
USBデータ転送時に表示される画像
Image[name="tex_bar_init_icon"]
初期設定時のインフォバーアイコン
Image[name="tex_bar_usb_icon"]
USB接続時のインフォバーアイコン
Image[name="tex_"text_field"]
文字入力欄の枠
Image[name="tex_videoout"]
外部出力設定
Image[name="tex_ms"]
メモリースティックアイコン
Image[name="tex_arrow_l"]
左矢印
Image[name="tex_bar_side_1"]
テーマ設定メニューリスト背景1
Image[name="tex_bar_side_2"]
テーマ設定メニューリスト背景2
Image[name="tex_original_preview"]
標準テーマプレビュー画像
Image[name="tex_default_theme_icon"]
クラシックテーマプレビュー画像
Image[name="tex_broken_theme_icon"]
テーマの破損データアイコン

ObjectTree要素

以下の通り76種類のPage要素により構成される。表記については、記述順はそのままにサブカテゴリ毎に切り分けて行なう。

USB接続

Page[name="page_usb_mass_storage_mode"]
サブカテゴリ『USB接続』

なお、このPage要素の子要素に関する情報は附属書の『USB接続』の項目を参照されたい。

ビデオ設定

Page[name="page_video_config"]
サブカテゴリ『ビデオ設定』で第二階層の各項目を表示するためのXList要素を子要素に持つ。以下のPage要素は第二階層メニューである。
Page[name="page_video_config_menu_lang"]
『UMDメニュー言語』
Page[name="page_video_config_voice_lang"]
『UMD音声言語』
Page[name="page_video_config_subtitles_lang"]
『UMD字幕言語』
Page[name="page_video_config_volume"]
『UMD音量』
Page[name="page_video_config_lr_button"]
『L・Rボタン』
Page[name="page_video_config_list_play_mode"]
『連続再生』
Page[name="page_video_config_title_display_mode"]
『タイトル表示』

フォト設定

Page[name="page_photo_config"]
サブカテゴリ『フォト設定』で第二階層の各項目を表示するためのXList要素を子要素に持つ。以下のPage要素は第二階層メニューである。
Page[name="page_photo_config_slideshow_speed"]
『スライドショーの速さ』

本体設定

Page[name="page_psp_config"]
サブカテゴリ『本体設定』で第二階層の各項目を表示するためのXList要素を子要素に持つ。以下のPage要素は第二階層メニューである。ここは複数のRCOファイルに干渉されるため他の第二階層より若干複雑になる。
Page[name="page_psp_config_user_name"]
『ニックネーム』
なお、このPage要素の子要素に関する情報は附属書の『ニックネーム』の項目を参照されたい。
Page[name="page_psp_config_disp_lang"]
『表示言語』
Page[name="page_psp_config_code_page"]
『文字セット』
Page[name="page_psp_config_umd_autoboot"]
『UMD自動起動』
Page[name="page_psp_config_umd_cache"]
『UMDキャッシュ』 …有効にすると使用頻度の高いデータをPSP本体のメモリに記憶させUMDからの読み込みを削減し、高速化させる。
このPage要素はPSP-2000及びPSP-3000のみ有効になり、PSP-1000では項目自体が存在していない。
Page[name="page_psp_config_color_space_mode"]
『カラースペース』 …液晶画面で表示する映像の色味を設定する。
このPage要素はPSP-1000及びPSP-3000のみ有効になり、PSP-2000では項目自体が存在していない。
Page[name="page_psp_config_usb_charge"]
『USB充電』
Page[name="page_psp_config_usb_auto_connect"]
『USB自動接続』
Page[name="page_psp_config_battery_information"]
『バッテリー情報』
IList要素により各々の情報が表示される。表示項目は以下のとおり。
  • バッテリー残量
  • バッテリー残り時間
  • 使用中の電源
  • バッテリーの状態
Page[name="page_psp_config_ms_format"]
『メモリースティックのフォーマット』
Page[name="page_psp_config_wma_activation"]
『WMA再生を有効にする』 …WMA形式の音楽データを再生できるようにするため、インターネットに接続して認証手続きを行なう。
Page[name="page_psp_config_flash_activation"]
『Flash® Playerを有効にする』 …Flash® Player対応コンテンツを再生できるようにするため、インターネットに接続して認証手続きを行なう。
PSP-1000のみ存在する項目。
Page[name="page_psp_config_default"]
『設定の初期化』
Page[name="page_psp_config_information"]
『本体情報』
IList要素により各々の情報が表示される。表示項目は以下のとおり。
  • システムソフトウェアバージョン
  • ニックネーム
  • MACアドレス
Page[name="page_psp_config_about_psp"]
『PSPについて』
子要素の Plane name="plane_psp_config_about_psp" が表示される画像のPlane要素でイメージデータはsysconf_plugin_about.rcoファイルをリソースとしている。
子要素の Button name="button_psp_config_about_psp" はonPushイベント event:native:/OnPushPspConfigAboutPspPauseButton による一時停止のための要素で○ボタンを押すと有効になる。 onContextイベントの event:native:/OnContextMenuPspConfigAboutPspOptionButton については不明。
なお、このPage要素の子要素に関する情報は附属書の『PSPについて』の項目を参照されたい。
Page[name="page_activation"]
『WMA再生を有効にする』か『Flash® Playerを有効にする』のどちらかを選択するとこのPage要素が有効になる。私は便宜上、第三階層と呼んでいる。
アクティベーションページのベースとなるPage要素で、次へ進む・前へ戻るなどのナビゲーションアローはここに配置されている。
Page[name="page_activation_license"]
使用許諾契約の内容が表示される。オブジェクトとして設定されているのはこの「使用許諾契約」のテキストとスクロールバーのみで、本文のオブジェクトはここには存在しない。
Page[name="page_activation_license_ask"]
使用許諾契約の同意選択が表示される。配置オブジェクトは「使用許諾契約に同意しますか?」のテキストと「同意する」、「同意しない」のメニューテキスト。
Page[name="page_activation_start_activation"]
「同意する」を選択するとこちらのPage要素が有効になる。表示されるテキストは、「WMAの再生を有効にするためインターネットに接続します。
Page[name="page_activation_license_consent"]
「同意しない」を選択するとこちらのPage要素が有効になる。表示されるテキストは、「使用許諾契約に同意しないとWMAの再生を有効にすることはできません。

テーマ設定

Page[name="page_theme_config"]
サブカテゴリ『テーマ設定』で第二階層の各項目を表示するためのXList要素を子要素に持つ。以下のPage要素は第二階層メニューである。
Page[name="page_theme_config_theme"]
『カラー」』
Page[name="page_theme_config_wallpaper"]
『背景』
Page[name="page_theme_config_customtheme"]
『カスタムテーマ』
なお、このPage要素の子要素に関する情報は附属書の『『テーマ設定』のメニュー背景』の項目を参照されたい。
Page[name="page_theme_config_customtheme_preview"]
『カスタムテーマ』設定ページ内のテーマプレビュー画像が表示される。子要素のPlane要素がプレビュー画像本体である。

日付と時刻設定

Page[name="page_date_time_config"]
サブカテゴリ『日付と時刻設定』で第二階層の各項目を表示するためのXList要素を子要素に持つ。以下のPage要素は第二階層メニューである。
Page[name="page_date_time_config_set_date_time"]
『日付と時刻設定』
Page[name="page_date_time_config_date_format"]
『日付表示設定』
Page[name="page_date_time_config_time_format"]
『時間表示設定』
Page[name="page_date_time_config_timezone"]
『タイムゾーン設定』
Page[name="page_date_time_config_summer_time"]
『サマータイム設定』
Page[name="page_select_setting_dialog"]
『日付と時刻設定』内のダイアログを表示させるためのPage要素で内容は「手動で設定する」と「インターネット経由で設定する」のメニューテキストと上下のラインオブジェクト、背景用オブジェクトがある。私は便宜上、第三階層と呼んでいる。

パスワード設定

Page[name="page_powersave_config"]
サブカテゴリ『パスワード設定』で第二階層の各項目を表示するためのXList要素を子要素に持つ。以下のPage要素は第二階層メニューである。
Page[name="page_powersave_config_active_backlight_mode"]
『自動バックライトオフ設定』
Page[name="page_powersave_config_backlight"]
『自動バックライト調整画面』
Page[name="page_powersave_config_auto_suspend"]
『自動スリープ設定』
Page[name="page_powersave_config_wlan_powersave"]
『ワイヤレスLAN省電力モード』

外部ディスプレイ設定

Page[name="page_display_config"]
サブカテゴリ『外部ディスプレイ設定』で第二階層の各項目を表示するためのXList要素を子要素に持つ。以下のPage要素は第二階層メニューである。
Page[name="page_display_config_select_video_out"]
『映像出力切りかえ設定』
Page[name="page_display_config_tv_type"]
『テレビタイプ設定』
Page[name="page_display_config_component_out"]
『コンポーネントD端子出力設定』
Page[name="page_display_config_screensaver_start_time"]
『スクリーンセーバー設定』
Page[name="page_display_config_pi_blending_mode"]
『ちらつき低減』
このPage要素はPSP-3000及びPSP-N1000(PSPgo)のみ有効になり、PSP-2000では項目自体が存在していない。

ミュージック設定

Page[name="page_sound_config"]
サブカテゴリ『ミュージック設定』で第二階層の各項目を表示するためのXList要素を子要素に持つ。以下のPage要素は第二階層メニューである。
Page[name="page_sound_config_avls"]
AVLS設定』
音量上限の設定を行なう。制限を有効にすると30段階中の20段階までしか音量を上げることができなくなる。
Page[name="page_sound_config_dnormal"
『ダイナミックノーマライザ設定』
音量の異なる曲や音声を再生するときに、自動的に音量レベルをそろえて再生する機能。
Page[name="page_sound_config_se_mode"]
『操作音設定』

セキュリティ設定

Page[name="page_security_config"]
サブカテゴリ『セキュリティ設定』で第二階層の各項目を表示するためのXList要素を子要素に持つ。以下のPage要素は第二階層メニューである。また、以下の3項目は毎回パスワードの入力を要求される。
Page[name="page_security_config_password"]
『暗証番号変更設定』
Page[name="page_security_config_parental_lock_level"]
『視聴年齢制限レベル設定』
Page[name="page_security_config_browser"]
『インターネットブラウザ起動制限設定』

RSSチャンネル設定

Page[name="page_rss_config"]
サブカテゴリ『RSSチャンネル設定』で第二階層の各項目を表示するためのXList要素を子要素に持つ。以下のPage要素は第二階層メニューである。
Page[name="page_rss_config_download_items"]
『保存するアイテム設定』

???(詳細不明)

Page[name="page_misc_config"]
詳細不明。
Page[name="page_misc_config_np_environment"]
詳細不明。

ネットワーク設定

Page[name="page_network_connect"]
『設定』カテゴリ内からネットワーク接続したとき(アクティベーションなど)だけ有効になる。
『ネットワーク設定』の各設定項目については別のRCOファイル(netconf_dialog.rco)をリソースとしている。

なお、このPage要素の子要素に関する情報は附属書の『ネットワーク接続』の項目を参照されたい。

初期設定

Page[name="page_first_config"]
この項目は第二階層メニューとして存在せず、新品購入時の初期設定もしくは『本体設定』内の設定の初期化を実行した後に有効になる。初期設定関連はこれ以外に6項目ある。なお、次へ進む・前へ戻るのナビゲーションアローはここに配置されており初期設定関連全体のベースとなるPage要素である。
Page[name="page_first_config_disp_lang"]
『表示言語の設定』
Page[name="page_first_config_timezone"]
『タイムゾーンの選択』
Page[name="page_first_config_set_date_time"]
『日付と時刻の設定』
Page[name="page_first_config_nickname"]
『ニックネームの入力』
Page[name="page_first_config_information"]
『設定一覧の確認』
Page[name="page_power_off_first_config"]
詳細不明。

全般

Page[name="main"]
一部を除いて全体に影響するPage要素。私は便宜上、0階層またはベースレイヤーと呼んでいる。
このPage要素に追加した要素は『ネットワークアップデート』、『PSPについて』、『初期設定』を除く全ての範囲に表示させることができる。
『設定』を経由して『ネットワーク設定』へアクセスするとそちらにも表示されてしまうため配慮が必要。表示階層はsysconf_plugin.rcoの方が上のため覆い隠してしまう場合がある。

なお、このPage要素の子要素に関する情報は附属書の『Page要素 "main"』の項目を参照されたい。

公開: 2011年02月05日, カテゴリ: RCOファイルの構造

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

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

598 :巻き寿司:2011/02/23(水) 19:35:09 ID:yh.SW7OY
分かりやすい記事をありがとうございます、いつも見させていただいてます。
細かいんですが誤字(?)を見つけたので一応報告させていただきまね。
sysconf_plugin.rcoファイル補足資料、USB接続の要素構成で「plane_usb_connect_status2」が2つあるような気がします。

あとコメントの書き込み欄の『消しコム』は『書き込む』とかけているのか誤字なのか分からないです。お邪魔しましたー
599 :藍色:2011/02/23(水) 23:02:50 ID:aV/dabIU
念の為オリジナルソースを確認した上でtypo訂正しておきました。ご指摘有難うございます。『消しコム』はただのネタのつもりでしたのでtypoではありません。ちなみに『書き込む』と『ケシゴム』の掛け併せだったりします。
600 :ツェネダ:2011/02/27(日) 18:15:51 ID:JBFGtPPo
遅くなりましたが、検証&編集お疲れ様です。
あの一部でラスボスと呼ばれていたRCOがここまですっきり纏まってしまうとは、驚きです。
page_mainについては存在すら知らなかったのでとても参考になりました。
pageを最下層に移動させれば超便利に!と思いついたんですが、すでにあのテーマに実装されておりました・・・w
601 :藍色:2011/02/27(日) 20:43:48 ID:aV/dabIU
 実を言うとずい分前から記事の下書きはしていて、その時は一つの記事に全部突っ込んでてずっと寝かしてました。それから今のようなスタイルで記事を書くようになってから別文書に分割しようと思いついて今の形で公開しました。
 mainページについてはP3TやGoldenWitchで利用すればかなり楽ができるのではないかなと思います。…この件どこかで書いたような気がするんですけど思い出せない。それはさておき。このネタも記事にして紹介しようかなと思ってるんですけど、これ理解するにはまず要素の重なり合いの概念を説明しておいた方がいいですよね。

 それはそうと、ついでに一つお尋ねしておきたいことが。GoldenWitchで使っているモデルデータって流用してもいいでしょうか? あのテーマのウェーブ綺麗で気に入ってしまって。予定は未定なんですけど解説用のサンプルに使う機会があればどうかなと思ったので。
602 :ツェネダ:2011/02/27(日) 22:06:46 ID:JBFGtPPo
総情報量が多いのはどうしようもない所ですが、関連情報を求めて来た人が閲覧するのには十分すぎる充実っぷりかと。

自分のテーマに限らずともpage_mainを使えばsysconfのリスト製作は今後とても楽になるでしょうね。
前に確か雑念・・・で見た時にはさっぱりでしたが、これから色々と試してみようと思います。

ウェーブの件ですが、どうぞ使ってやってください。
確か元ネタの画像データを少し弄ったものだったと思いますので、オリジナルという訳ではないのですが、自分的には全然問題無いです。
603 :藍色:2011/02/28(月) 00:30:43 ID:aV/dabIU
 ああ、そうでした。残留思念に残ってましたね、私のノイズが。確かにツェネダさんのテーマに限らずあれは非常に利用価値の高い手法だと思います。表示させたくなければonActivate属性とtransparency属性で操作すればいいだけですし。慣れると重宝すると思いますよ。それとウェーブは機会があれば有難く利用させて頂きます。