[Qjingai]
 Qt jingaimakyo text file viewer for LinuxZaurus (開発中?) 2006/08/01〜 

注意
 ※本ソフトウェアはメーカー様とは無関係です。
 ご迷惑になりますので絶対に問い合せないでください。







はじめに

 このページではLinuxZaurusでNitro+の「塵骸魔京」のテキストファイルを閲覧するためのソフトウェアを公開しています。

 補助的機能としてテキストファイル内で指定されている一部の画像の同時表示, mplayerを使った動画やBGMの再生などを行うことができます。

 SL-A300で動作確認をしています。

 開発初心者なので変なことをやっているかもしれません。ご指導のほどよろしくお願いします。



おしらせ

2007/01/23  塵骸魔京&斬魔大聖デモンベイン>ONScripterコンバータ ページ作成しました。


2007/01/20  塵骸魔京>ONScripterコンバータ,斬魔大聖デモンベイン>ONScripterコンバータを「はてな」で暫定公開しています。


2006/11/16  「はてなダイアリー」でこのサイトで公開するほどではない作業の進展状況などを公開することにしました。
           http://d.hatena.ne.jp/Yu--S/


2006/11/01  こっそりと psx4zaurus を試してみましました。



ダウンロード
   Qjingai180921a.zip
     テキスト中に挿入されたコマンドの分離と実行(一部のみ)。
     コマンド[movie]の修正(title.aviの再生)。


内容
   実行ファイル
     Qjingai

      ./Qjingai [enter] で実行します(./ドットスラッシュをつけてください)。

   ソース
     Qjingai???????.cpp
     qjingai.h
     (???????は更新日)

   セーブファイル
     saveQdb.dat

   desktopファイル
     Qjingai.desktop
     行方不明にならないようにするためのダミーファイルです。


データ変換用 batファイル
   QjingaiBat180802.zip (2006/08/02)
   Windows98系の動作確認はしていません。


前のバージョン
   Qjingai180908a.zip
     画像表示のタイミングを改善しました。
   Qjingai180905a.zip
     画面中央上付近をタップするとタイトルバーを隠します。
     画面右上付近をタップすると(画像と重なっている場合)textwindowを隠します。
     BGMをループ再生するために,mplayerに[-loop 0]オプションを追記しました。
   Qjingai180828a.zip
     無駄にメモリを消費していた不具合を修正しました。
     (Qdemonbaneも対処しました。)
   Qjingai180827a.zip
     いくつかの不具合を修正しました。
   Qjingai180825a.zip
     コマンド?[layer]と[anim]に対応しました。
   Qjingai180814a.zip
     通常endingのフラグを記録するように修正。
     その他不具合を修正しました。
   Qjingai180810c.zip
     フラグの記録項目に不足があったのでsaveファイルを変更しました。
     その他いろいろ不具合を修正しました。
     まれに「メモリ不足警告」が出ます。とりあえずsaveしてソフトを立ち上げなおすと良いようです。
   Qjingai180803a.zip
     フラグを記録するためにsaveファイルを変更しました。
     BadendのフラグはFile1〜3で共通です。
     また,途中でやり直してもBadendのフラグだけは引き継がれるようにしたつもりです。
     KHさんとIさん(キャラ氏名は自主規制)のクリアフラグが立っている仕様にしました。
     その他いろいろな不具合の修正。
     画面のタップが効かないときはOKボタンで進められるようです。
   Qjingai180802a.zip
     初公開
     Qdemonbane180723a程度の仕様で動作します。
     サウンドのミキシングをしません。
     ほとんど動作確認をしていません。
     その他いろいろ省略しています。




必要なこと

1. *.pakファイルを展開する。

    各*.pakファイルを ”ExtractData” 使って展開します。
    「フォルダごと抽出」オプションを使って展開してください。



2. script.pak内のテキストファイルの圧縮を解凍する。

    ”ExtractData” を使えば自動で解凍してくれます。



3. *.mpgファイルを縮小する。

    SL-A300の場合は携帯動画変換君を使用し,[AVIファイル,MPEG4一般設定] で [QVGA標準画質15fpsステレオ] を選択します。
    SL-C系は各自最適なサイズに変換してください。
    拡張子はaviにしてください。


4. 画像ファイルを縮小する。

    SL-A300用は37%(296*222,QVGA横画面表示向け)を推奨します。
    SL-C系のひとは任意のサイズに縮小してください(text windowがあるので,VGAより若干小さめが良いかも)。
    タイトル画像のサイズを取得しています。

    変換するファイル
       image.pak よりフォルダ毎に展開した cg/フォルダ内のファイル。
       たぶんcg/modeフォルダ内のデータは使用しません。


    推奨
      α値付きpng対応の高機能グラフィックビューア
      フリーソフト(非商用の個人利用か教育用途のみ。寄付歓迎,のようです)
      FastStone Image Viewer
        http://www.faststone.org/

      それさえもおそらくは平穏な日々
        FastStone Image Viewer の日本語化パッチを公開されています。
        http://hibiheion.seesaa.net/


     変換例:FastStone Image Viewer
       FastStone Image Viewerを起動。
       展開したcg/フォルダを右クリックして「一括変換(F3)」を選択。
        出力形式をpng,設定ボタンを押して圧縮をMAXに選択する。
        出力フォルダを選択する。
        アドバンスオプションのリサイズタブでパーセンテージをチェックして任意のサイズを指定する
       (SL-A300は37%を推奨します。また,うちのSL-A300はアドバンスオプションの調節タブでガンマ値を2.00前後にしたほうが見やすかったです。)
        リネームのチェックは外す。
        スタートボタンを押してしばらく待つ。



5. 全角ファイル名を半角英数にリネームする。

    リネームするファイル
      cgフォルダとsoundフォルダ内のファイル。

   強制的にリネームしますので必要な方はバックアップをとってから実行してください。

   cgフォルダ
     cg/bgフォルダに Qdemo_png.batと Rename.js を入れる。
     Qdemo_png.batをダブルクリックする。
     (ファイル名変換テーブル qdcg.dat とpngフォルダが作られ,リネームされたファイルが png フォルダに移動します。)
     各cg/bg,data,effect,ev,ev3d,ex_anim,st,sty,sty2,titleフォルダも同様に作業する。

   soundフォルダ
     soundフォルダに Qdemo_sound.batと Rename.js を入れる。
     Qdemo_sound.batをダブルクリックする。
     (ファイル名変換テーブル qdsound.dat とoggフォルダが作られ,リネームされたファイルが ogg フォルダに移動します。)

   各フォルダ内に作成された「ファイル名変換テーブル qd???.dat 」は文字コードをeucJPに変換してください。



6. 文字コードをeucJPに変換する。

    変換するファイル
       script ファイルより展開した*.npsファイル,ならびにcg,soundフォルダ内のファイル名変換テーブル qd???.dat。


  推奨
     KanjiTranslator.exeを使う。
       http://www.kashim.com/
       文字コードは eucJP 改行コードは L で変換してください。



7. 展開したファイルと実行ファイル,セーブファイル,desktopファイルを適切な場所にいれる。



8. mplayer for LinuxZaurusをインストールする。



9. QVGA横画面表示ソフト一式をインストールする(SL-A300のみ任意)。
    SL-A300でQVGA横画面表示を行うためにはqpe-rotation (またはrotate pluginSL-A300用 ) ,qpe-language,対応フォント(神木様のnagatenなど)が必要です。
    ターミナルを横画面モード(fontの左側を上)で起動後,本ソフトを実行してください。


進展状況について


2006/09/08

     画像表示の改善点
      恵登場,イグニス登場,フレーム[wframe13]の表示

     ノベライズ版塵骸魔京
      銀河刑事ベーオウルフについて知りたい方は(PC版をやってから)ご一読ください。


2006/08/28

     メモリ不足になる病(原因とその対処方法)
      QPixmapとQPainterを使いまわしていたのが原因のようです。
     まめに破棄するようにしたところ症状が緩和されました。

      なお,久しぶりにQdemonbaneを動かしてみたところ,同じ症状が出たので対処しておきました。


2006/08/26

     メモリ不足になる病
      実行中に徐々にメモリ使用量が増えてきて,メモリ不足警告を経て強制終了されてしまう病が治りません。
     Qdemonbaneなどでは落ちることはなかったので,どこかにバグがあるんでしょうねぇ・・・。
     とりあえず,メモリ使用量はソフトを立ち上げ直すと改善するので,あとはこまめなセーブ(Sキー)で対処してください。


     うらモード(想定外)
      シナリオクリア後は強制終了させる予定でしたが,タイトルメニューに戻ってから「うらモード」に入れるようです。
     想定外でしたが面白いので残しておきます。


2006/08/25

     コマンド[layer]と[anim]に対応。
      対決シーンや某変身アニメーションが表示できるようになりました。


     おまけ: ダブルバッファリングで画像の重ね合わせ

      setUpdatesEnabled( false );            //不要かも
      QPixmap *pixmap1;                 //pixmapを設定
      QPixmap *pixmap2;                 //pixmapを設定
      QPixmap *pmx;                    //pixmapを設定
      pixmap1 = new QPixmap();              //画像1。
      pixmap2 = new QPixmap();              //画像2。
      pmx = new QPixmap(240,320);            //背景画像サイズを指定する。
      pmx->fill(black);                    //黒で塗りつぶし。

      QPainter *paint;                    //painterを設定。
      paint = new QPainter(pmx);             //描画対象となるpixmapを指定。

      *pixmap1 = QPixmap("画像ファイル名");   //画像を読み込み。
      *pixmap2 = QPixmap("画像ファイル名");   //画像を読み込み。
      paint->drawPixmap(0,0,*pixmap1);         //pmxの座標0,0にpixmap1を書き込む。
      paint->drawPixmap(0,0,*pixmap2);         //pmxの座標0,0にpixmap2を書き込む。

      bitBlt(this,0,0,pmx);                  //pmx を Mainwindowの座標0,0に転送。
      update();                         //更新。

     (2006/08/28 追記:使い終わったら片付けましょう。)
      pixmap1 -> ~QPixmap();                  //pixmap1を破棄。
      pixmap2 -> ~QPixmap();                  //pixmap1を破棄。
      pmx -> ~QPixmap();                  //pmxを破棄。
      paint -> ~QPainter();                  //paintを破棄。



2006/08/14

   現在の仕様と不具合について。
    起動時は最大化表示,BGMのみ再生モードです。
    画面の左上をタップすると主要メニューを表示します。


   今さら新しく命令を覚えたので起動時に最大化表示させるようにしました。
     this->showMaximized();         //最大化表示(thisはMainwindow)
     wx=this->width();           //Windowの最大サイズを取得(int wx,wyしておく)
     wy=this->height();

   ついでにタイトル画像のサイズの取得方法。
     QPixmap *pixmap1;
     pixmap1 = new QPixmap();
     *pixmap1 = QPixmap("画像ファイル名");  //画像を読み込み
     cgx=pixmap1->width();         //pixmapのサイズを取得(int cgx,cgyしておく)
     cgy=pixmap1->height();



2006/08/10

   メモリ不足警告について。
    なにも考えずに変数や配列を確保しているのが最大の原因だと思いますが,他にも背景と立ち絵のほか常時フレーム(枠)を2面使用しているので他のソフトよりも負担が大きいのかも知れません。

   「ダメな人のための PS2/Zaurus Linux」でも紹介していただきました。いつもありがとうございます。
      http://osananajimi.net/ps2linux.html


2006/08/03

   このページを立ち上げた翌日に「りなざうテクノウ」で紹介していただきました。
     http://www.areanine.gr.jp/~nyano/zakki0608.html#20060803c
  nyanoさんは本当にすごい。そしてとてもありがたいことだと思っています。
  でも,うちの更新は半分はバックアップがわりなので更新の紹介は月に一回くらいで良いですよ。


2006/08/01

   6月頃に途中まで作ったあと,不満点を改善するため放置していました。
  しかし,このままだと自分が変換方法を忘れてしまいそうなのでまとめておきます。

   とりあえず,Qtによるサウンドのミキシングは大変そうなので,しばらく対応しないことにしました。
  同じ苦労をするなら onscripter用の変換プログラムを書いたほうが良いのではないかと考えています (今のところonscripter対応予定はありません)。




スクリーンショット




VGA画面で66%縮小画像の表示。
上下が切れているのでもう少し小さいほう(60%くらい?)が良いかも。
なお,画像ファイルだけで600MBくらいになりました。(2006/08/27)




VGA画面でQVGA用(296*222)画像表示。
SL-C系はもう少し大きめのほうが良いかも。(2006/08/11)


フォルダ構成(2006/08/01,暫定)


Qjingai(フォルダ名適当)
   ├cg 
   | └bg,data.effect,ev,ev3d,ex_anim,st,sty,sty2,title(各フォルダ毎に展開・変換する)
   |   ├png
   |   | └*.png  (α値を維持したまま縮小,ファイル名変更)
   |   └qdcg.dat  (全角ファイル名−>半角英数ファイル名変換テーブル,eucJPに変換)
   ├sound
   | ├ogg
   | | └*.ogg    (ファイル名変更)
   | └qdsound.dat  (全角ファイル名−>半角英数ファイル名変換テーブル,eucJPに変換)
   ├mpeg
   | └*.avi      (動画サイズを変換)
   ├script
   | └*.nps      (文字コードをeucJPに変換)
   ├voice
   | └*.ogg     (フォルダ毎に展開してください)
   ├Qjingai      (実行ファイル)
   └saveQdb.dat   (セーブデータ)


  Qjingai.desktop (Homeボタンを押しても行方不明にならなくなる)
   LinuxZaurusの /home/QtPalmtop/apps/Applications に入れる。



参考文献など

URL

Aurora Wall
http://atelibet.s11.xrea.com/side_yuu/
 http://atelibet.s11.xrea.com/side_yuu/tool/
 ExtractData
 Nitro+ の*.pak展開プログラムがあります。
 テキストファイルの圧縮を自動で解凍してくれます。


mplayer for LinuxZaurus
http://atty.skr.jp/mplayer.html
 mplayerが無いと音楽が再生できません。


携帯動画変換君を公開されています。
 http://www.nurs.or.jp/~calcium/3gpp/


frog.raindrop.jp
http://frog.raindrop.jp/
 JScriptの作成にこちらを参考にしました。
 連番の拡張子にリネームするJScript
 http://frog.raindrop.jp/knowledge/archives/000679.html#more


FastStone Image Viewer
http://www.faststone.org/
 α値付きpng対応の高機能グラフィックビューア
 フリーソフト(非商用の個人利用か教育用途のみ。寄付歓迎,のようです)


それさえもおそらくは平穏な日々
 http://hibiheion.seesaa.net/
 FastStone Image Viewer の日本語化パッチを公開されています。


kashim.com
http://www.kashim.com/
 文字コード一括変換用ソフト KanjiTranslator.exe を公開されています。
 文字コードは eucJP 改行コードは L で変換してください。


Qt-2.3.2 のドキュメント(日本語)
http://www.kde.gr.jp/~ichi/qt-2.3.2/
 これが無いと開発できません。
  http://www.kde.gr.jp/~ichi/qtref-ja-2.3.2.tar.bz2
  ドキュメントのアーカイブ


書籍
 Qt GUIプログラミング
 Cの絵本



ご意見・ご感想など

 掲示板かメールでお願いします。
 ※本ソフトウェアはメーカー様とは無関係です。
 ご迷惑になりますので絶対に問い合せないでください。

 Email: ykiys あっとまーく(@) yahoo.co.jp


もどる

C-マンション
Since:2006/08/01