数えてみたのですが、NoNpDrmに関してのコメントやメールで私に以下の事を報告した人が14人いました。
「FFFTPではバブルが作成されず、FileZillaに変えたらバブルが作成された」
で、今日になって、なぜこれが起こるのか流石に疑問に思えて来たので少し調べました。
検証に使用したソフト
・FFFTP v2.00
・FileZilla v3.38.1
・WinMerge (ファイル比較)
結論から書くと、FFFTPの転送モードのデフォ設定(アスキーモード)がアカン、という事が分かりました。
もっと言うと、FileZillaのバイナリorテキストの判定システムの方が上、という結論になりました。
FTPの転送モードにはバイナリモードとアスキー(ASCII)モードの2つがあり、前者はバイナリで転送するというモードで、
後者はファイルをテキストとして転送するというモードです。(後者は、一般的にはクライアント側に拡張子判定の設定がある)
アスキーモードはOSによって異なる改行コードを自動で変換してくれる便利な物ですが、テキスト以外を転送すると
ファイルが壊れてしまいます。で、どうもFileZillaはアスキーモードを強制していても自動(拡張子判定)でも、ファイルが
テキストではないと判断するとバイナリモードで転送してくれる優れたソフトっぽい?です。
私としてはそう結論づけました。ここに関してはちょっとモヤっとしてるので分かる人がいたら詳しく教えて欲しい。
(もう1つの可能性として思い浮かんだのが、FileZillaはアスキーモードを使うべきでは無いと判断した環境に対しては
こういう動作をするのかも、という事。私には何が正しいのか分からん…)
Vitaのゲームのファイルは一部を除きPFSと呼ばれる暗号化が施されています。こいつがテキストファイルをテキスト
ファイルで無いファイル(バイナリファイル)に変えている諸悪の根源です。
私が調べた所、FFFTPはPCへの転送は特に問題無い(アスキーモードの拡張子でもバイナリで転送してくれる)のですが、
Vitaへの転送では拡張子判定に従ってそのままアスキーモードで転送してしまうようです。
この問題の対処法は以下です。
1、"オプション" → "環境設定" を開く
2、"転送1" タブを選択
3、転送モードを "常にバイナリモード" にして "OK"
FFFTP v2.00のデフォは "ファイル名で切り替え" でした。横に "*.html" とかあったので実質拡張子判定です。
ちなみにここを "常にアスキーモード にしていてもPCへの転送は問題ありませんでした。
常にアスキーモードでは、Vitaに転送するとほぼ全てのファイルがぶっ壊れます。PFSがあるので。
拡張子判定にしていると "PFS+その拡張子" という条件でファイルが壊れます。
で、何がバブルを作成しない原因になっているのかと言うと、"/sce_sys/livearea/contents/template.xml" でした。
このxmlはバブルではなくLiveAreaの背景画像とかの設定を担当しているファイルですが、どうもこいつが壊れていると
VitaShellはリフレッシュしてもバブルを作成してくれないようです。
これが無いhomebrewもあるので必須では無いんでしょうけど、あったらあったで壊れていてはダメという事ですね。
問題が解決してそれなりにスッキリした。
まあ、こういう事があるんで、みなさんFFFTPなんて使わずFileZilla使いましょうよ…
私はずっとFileZilla使ってます。この記事は「それでも俺はFFFTP使いたいんだ」とか言いだす人向けに書きました。
いやまあそんな事を私に言って来た人なんていませんが、FFFTPが好きな人もいるんでしょうし…
vita無知 2018/11/04 08:04
いつも拝見させてもらってます☆
この方法だと文字化けみたいにならないって事でしょうか?
MOD入れたくて色々調べてますがイマイチ理解できなくて‥
>>vita無知さん
それはファイル名の文字化けですか?それとも中身の文字化けですか?まずそれが大事です。
文字化けに関しては転送モードだけが原因とは言えません。MODなのでファイル名の話とは思えませんが、ファイル名の話なので
あればFFFTPでは "ホスト一覧" の "設定変更" で "文字コード"タブの設定を変更すれば解決すると思われます。
基本はデフォで問題無いはずですが、環境によっては環境に合わせて変更する必要があります。
ファイルの中身の話なら、転送モード、アスキーモードの際に使用する文字コード、ファイルの暗号化、テキストエディタがどういった
文字コードで開いているか、等々いろいろな原因が考えられます。まず転送モードですが、アスキーモードの改行コード変換が原因の
文字化けはクライアントソフトによってはあるかもしれませんが、私はそういうのはほとんど聞いたことが無いです。
むしろアスキーモードでは転送時に使用する文字コードが原因の可能性が高いです。これは環境設定の転送4タブで設定可能です。
ファイルの暗号化は、PFSです。ゲームデータは一部を除いてPFSが施されています。ですから、txtファイルをPCに転送したけど読めない、
なんて話ならこれを疑った方が良いかもしれません。VitaShellでタイトルIDフォルダにカーソルを合わせて△を押し、"Open decrypted"で
そのフォルダを開けば解決します。その機能は一時的にPFSを復号出来る機能で、フォルダから出ると再度暗号化されます。
その機能を使ってフォルダを開いた状態で転送すれば、PCに対しては復号状態で転送出来ます。
次にテキストエディタですが、復号されていても使用する文字コードが違うと文字化けします。これに関してはテキストエディタによって
設定なんかが異なるので使用しているテキストエディタの名前でググってください。(一般的には、UTF-8をANSIで開いてる事が原因)
文字化けに関してはこれ以上の事はそちらで調べてください。人それぞれ環境が違うのでこれ以上の事は私には…
MODはrepatchを有効にして "ux0:repatch/タイトルID/" に置き換えたいファイルを復号状態で配置すればそれでOKです。
そうすればゲーム内ではそちらのファイルが使用されます。ディレクトリ構造は "ux0:app/タイトルID/" 内と同じにします。
vita無知 2018/11/04 14:22
ありがとうございます☆
色々試してみます!
通りすがり 2018/11/06 16:04
FFFTPは更新が古く、ファイルが多かったり容量が大きかったりしたら、たまに転送失敗でファイル破損することがあるみたい。その可能性もある?
まぁ基本使わない方が良いってプログラマーに昔教えてもらった事があるから、無難にFileZilla使うのがベストよね。
名無し 2019/10/13 13:24
NoNpDrmってそもそもバブルが出る物なんですか?
>>名無しさん
NoNpDrmはプラグインなのでNoNpDrm自体のバブルというのはありません。
NoNpDrmを扱う上でバブルというと「NoNpDrmが有効になっていてゲームデータや偽ライセンスが正しい場所に
配置されている状態でVitaShellで"Refresh LiveArea"を実行した時に作成されるバブル」を指します。
ゲームデータが壊れているとRefresh LiveAreaを実行してもバブルが作成されません。
この記事はゲームデータが壊れる原因とその対処法の1つを紹介した記事となります。
NoNpDrmに関しての詳細は以下の記事をご確認ください。
http://cmd0725.blog.fc2.com/blog-entry-2087.html
大臣 2019/10/31 12:59
これまで、どうしてもバブルが出てこなかったのですが、投稿記事を参考に再度バイナリモードで転送したところ、無事にバブルが出てきて、動作も確認出来ました。
原因不明だったので、スッキリしました!
おりがとうございます。
≪ 次の記事 | HOME |
前の記事 ≫