スポンサーサイト

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

[PSP™について]で表示される画像を全ての言語で同じ表示をさせる方法

要約: sysconf_plugin_about.rcoファイルの画像はsysconf_plugin.prxファイルを編集することでどの言語を設定しても同じように表示させることができる。 この方法を利用すれば、画像表示の容量不足に悩むことも少なくなることが見込まれるだろう。

  1. この記事は中盤までだらだらだらだらとした内容が続くので、さっさと本題をご覧になりたい方はリスト番号8から参照のこと。
  2. RCOファイルの構造(19) sysconf_plugin_about.rcoでも書いたことだが、[設定] → [本体設定] → 一番下までスクロールすると確認できる [PSP™ (PlayStation®Portable) について] とはPSP™ (PlayStation®Portable) システムソフトウェア ユーザーズガイドによるとこの項目の目的は下記の通りらしい。

    PSP™ (PlayStation®Portable)について

    PSP™およびPSP™に含まれる一部のソフトウェアの権利表記を表示します。

  3. はっきり言ってこんなものはユーザーとは無縁の代物で、そもそも存在すら知らない者も少なくないのではないだろうかと云々。それはさておき。
  4. ところがCTFを制作する者から見るとこれは格好の標的(?)となる。非常に地味なため、CTFユーザーにも気付かれない事は多々あるが、それはさておき。
  5. ここまでわざわざ変更しているテーマは国内にはあまり見られないが海外では多くの作品がここを変更している。
    • 変更してもあまり気付かれないから積極的になれないんだろうか。
    • 私はむしろ誰も気付かないところに誰も気付かないような仕掛けを仕込む事が大好きなんだけれど。
      • 他人から見たらどうでも良い物に、冗談みたいに技術力を突っ込むのがいいんじゃないか
      • いい言葉ですね、私もそう思います。それはさておき。
  6. どのように変更されるかは制作者次第だが概ねそのテーマのクレジット表記(このテーマはご覧の皆様のお陰で完成しました、的な)が大多数を占めているように見える。
    • それ以外では単にそのテーマに関連する画像で埋め尽くしてみたりだとか。
    • どちらかと言うと前者の方が『公開する』作品としての見栄えはよくなるんだろう。
    • 個人的には後者の方に魅力を感じている。まあ好みの問題なんだけど。
  7. さて、この[PSP™について]の具体的な特徴と何が変更できるのかについて考えられる項目をリストアップしてみる。
    • 特徴
      • この[PSP™について]を選択すると一定時間おきに決められた順序で各社の権利表記が記載された画像が切替え表示される。
      • 表示される画像は全7種類存在する。
      • 表示されない画像も保存されているが、何を意図しているのかは不明。
      • 言語設定を変更すれば対応する言語で書かれた画像が表示される(実際には一部を除き英語表記が大半を占めている)。
      • ○ボタンを押すとポーズ(一時停止)することができる。これは案外知られてないんじゃないかな。
    • 変更できる内容
      • 表示される画像
      • 表示される画像の大きさ
      • 画像の表示切替の速度
      • アニメーション動作の付加
      • 言語設定の内容にかかわらず同じものを表示させる
    • 関連するファイル
      • sysconf_plugin_about.rco
      • sysconf_plugin.rco
      • sysconf_plugin.prx
  8. さて、ここから本題。以下順番に説明を。
    • 必要なもの
      • sysconf_plugin_about.rco
        • Custom Firmwareのバージョンは5.00でも5.50でも内容に違いは無いのでどちらでも。また、RCOファイルはResurssiklunssiで変換済みのものを用意すること。
      • sysconf_plugin.prx
        • Custom Firmwareのバージョンは対応したものを使用すること
        • この記事ではCustom Firmware 5.50のものを使用する。
      • Rcomage
      • バイナリエディタ
      • テキストエディタ(notepadでも何でも使い慣れたもので)
    • 手順
      1. Stirlingを起動してsysconf_plugin.prxファイルを開く。
      2. [検索・移動] → [指定アドレスへ移動] を選択し、27B1Cを入力しEnter(移動する)。
      3. 以下の tex_about_psp_XXXX を全て同じ文字列に変更する。ここでは仮に tex_about_psp_WW とする。
      4. Rcomageでsysconf_plugin_about.rcoのDump処理を行う。
      5. Dump処理により取得したXMLファイルの編集を行なう。ImageTree内の記述を下記のように全て書き換える。
        <?xml version="1.0" encoding="utf-8"?>
        <!-- This XML representation of an RCO structure was generated by Rcomage v1.1.1 -->
        <RcoFile UMDFlag="0" rcomageXmlVer="1.1" type="psp" minFirmwareVer="1.5">
            <MainTree name="sysconf_plugin_about">
                <ImageTree>
                    <Image name="tex_about_psp_WW_0" src="Images\tex_about_psp_WW_0.gim" format="gim" compression="zlib" unknownByte="0" />
                    <Image name="tex_about_psp_WW_1" src="Images\tex_about_psp_WW_1.gim" format="gim" compression="zlib" unknownByte="0" />
                    <Image name="tex_about_psp_WW_2" src="Images\tex_about_psp_WW_2.gim" format="gim" compression="zlib" unknownByte="0" />
                    <Image name="tex_about_psp_WW_3" src="Images\tex_about_psp_WW_3.gim" format="gim" compression="zlib" unknownByte="0" />
                    <Image name="tex_about_psp_WW_4" src="Images\tex_about_psp_WW_4.gim" format="gim" compression="zlib" unknownByte="0" />
                    <Image name="tex_about_psp_WW_5" src="Images\tex_about_psp_WW_5.gim" format="gim" compression="zlib" unknownByte="0" />
                    <Image name="tex_about_psp_WW_6" src="Images\tex_about_psp_WW_6.gim" format="gim" compression="zlib" unknownByte="0" />
                </ImageTree>
            </MainTree>
        </RcoFile>

        面倒ならこれをこのままコピー・ペーストしてもいい。

      6. tex_about_psp_WW_0.gim ~ tex_about_psp_WW_6.gim を用意する。
        • GIM変換が面倒ならPNG形式でも可能。
        • その場合、src="Images\tex_about_psp_WW_0.png" のように書き換えておくこと。
        • format属性の値は常に変更せず format="gim" のままとしておくこと。
      7. RcomageでCompile処理を行いsysconf_plugin_about.rcoファイルを生成する。
  9. 以上で変更は終了。あとはsysconf_plugin_about.rcoファイルとsysconf_plugin.prxファイルを適用させれば、どの言語に変更しても同じ画像が表示されるはず。
  10. 注意点
    • 画像はGIM変換する・しないにかかわらず減色済みPNG画像を用意すること。減色にはpngquantを利用すると手軽にできる。
    • 減色していない場合、画像にも依るが2~3枚程度しか表示されず他は表示されなくなる(PSPのUI系画像の表示能力の問題)。
  11. 後書き
    • この方法、元を辿ると私が海外で公開されているテーマを使っているときに [日本語] 設定で使っていると [PSP™について] の画像が表示されないのが気に食わなくて何とかできないかと調べてみて辿り着いた。
    • 元のRCOファイルには多数の tex_about_psp_xx_n の項目がありそれら全てに画像を組込むと実際にはほとんど表示されなくなってしまう(画面が真っ白な状態になる)。
    • それで仕方なく(かどうかは知らないけど)日本語向けのJPが削られてしまっていたわけなんだけれど。
    • というわけで、これから変更してみようと思う方はぜひ実装してみてはどうでしょう。私の知る限りまだ実装しているテーマは無かったと思うんだけど。
  12. さて、次回はこの [PSP™について] をカスタマイズする方法について、更に詳しく掘り下げてみよう。
公開: 2011年01月23日, カテゴリ: 雑談・小ネタ・資料集