AIRNovel&ANBooks更新:暗号化をGUI化、テンプレ総チェック

●AIRNovel更新 桜(過去Ver等)
3.92
* upd:暗号化画像ロード時、ファイルが壊れているか、復号化に失敗した場合のエラーを表示。
* upd:ロードエラー時、URLエンコードされているファイルパスを日本語や英数字に。
* add:レイヤ追加済みかどうかを示す「const.an.lay.(レイヤ名)」を追加。
* upd:is演算子を使うべき処にas演算子を使っていた箇所を修正。
●ANBooks更新(Windows版 Mac版 過去Ver等)※ANBooksを起動するだけで自動更新
2.19
* add:ファイル暗号化を手軽に(iOS版ではほぼ無意味なので提供見合わせ)
* add:詳細画面タイトルの右クリックにも「フォルダ絶対パスをクリップボードへ」
* chk:全プロジェクトビルド環境を一通りテスト
* chk:全テンプレートを再チェック、修正
* add:(桜・空テンプレ)ブラウザローカル実行時、設定画面を差し替えるよう警告を表示。
* add:(桜・空テンプレ)ブラウザローカル実行時、本文前で黒画面で止まる不具合にも警告
→設定画面でHTMLレイヤを使っているせい
* add:(桜・空テンプレ)栞を挟むときにボタンの表示位置の不具合で一つしか表示されない不具合修正(_saveload.anを更新)
* add:iOS・Android版では詳細画面のボタンを専用にカスタマイズ
* add:OS個別インストーラー(exe、dmg)ビルドボタンを追加
* add:iOS版で必須の縦長iPhone起動画面のDefault-568h@2x.png(640 x 1136)を追加。
* add:その他アイコン追加。【[iOS 7] iOSアイコンファイル早見表(2013/9)】
* add:iOS版のipa作成で*.mobileprovisionファイルが無い場合に、Macで準備する手順をターミナルに表示。
★テンプレートなど更新
古いプロジェクトフォルダを丸ごと保存し、テンプレートから作り直していただくと最新環境になり、後々トラブルが少ないと思います。
あまりANBooksユーザーの皆さんに「このファイルをこうして下さい」と繰り返すのも心苦しかったですし、そろそろ大変更が無くなると思いますので、割としっかりテストしたこの機会に。
★暗号化をGUI化
【素材暗号化】のとこでスイッチを切り替えると、例えば上図の matフォルダ内の素材を Work/before_anc/mat に移動させます。そのままビルドすると元の matフォルダ内へ自動的に暗号化した素材を生成します。
素材を暗号化したまま実行形式パッケージを生成出来、これでインストールフォルダを見られても画像や音声が盗み見られません。(暗号が破られなければ……)
暗号キーは絶対変えて下さいね!! 最長で256文字まで意味があり、以下のようなサイトで自動生成出来ます。
◆パスワード生成(パスワード作成)
◆みんなの知識【ちょっと便利帳】 - ランダムパスワードを作るパスワード作成プログラム/複数パスワード作成/Password Maker
◆パスワード・ジェネレータ
◆パスワード作成(文字をランダムに抽出)
「ダブルクオーテーション(")」文字とかは使わないで>< エラーが出たら、使えない文字だということで。
「クロスフェード用ルール画像が入った ruleフォルダ」や「systemフォルダ内のシステム効果音」とかは暗号化してもいいのですが、まぁあんまり意味ないかなと思いまして「暗号化対象外ファイル名パターン」に入れてたり。復号化処理も軽いとはいえ、無駄な処理は省いた方がいいので初心者ユーザー向け設定として。
正規表現はこういうサイトでビジュアルに検討出来ます。
PHP正規表現チェッカー
ActiosScriptの正規表現とはちょっと癖が違うかも? シンプルめにした方が方言がないと思います。
★iOS版

あと、iOS版プロジェクトの疑似環境実行では、画面サイズ別のボタンを表示するように。
上から「プロジェクトそのもののサイズ」
「画面(ここではウインドウ)サイズをretina環境に」
「画面サイズをiPhone5 retina環境に」(iPhone5以降の縦長のやつ)

実行形式パッケージも「*.air」を生成せず、「*.ipa」を生成するボタンを表示するように。
必要な設定がある場合(*.mobileprovisionファイルが無いとか)に手順をターミナルに表示。あらゆる場合のヒントを表示する……ほどではないですが。
★Android版

同様に「*.apk」ファイルを生成するボタンなどを。

AndroidならUSB接続して実機にデバッグ設定をすれば、ボタン一発でインストールまで可能です。
★iOS版「桜の樹の下には」不具合対応と、現状でのテンプレなど再チェック
iOS7への更新などで顕在化した不具合に対応しました。12月ぐらいには更新されるかも?

テンプレなど一通り見ましたが、時間的に見送ったモノもあります。が、深刻な不具合は無いはずです。
★業務連絡など
utibenkeiさま、有用なお話だったので無断ながら一部本文を引用させて頂きます。
・(トリッキーな方法にて?)「plgCSV」の暗号化ファイル対応
プラグインでも暗号化ファイルを取り扱う方法が無いのか試行錯誤の末、少々トリッキーな方法ですが実現することができました。
AIRNovel本体ソースには手を入れない方法なので大丈夫だとは思っているのですが、セキュリティやファイル隠蔽の観点から問題がありそうでしたらスルーしてくださって結構です。
動作確認はADL上での実行しか行っていません。
将来的にStarlingやAwa3Dライブラリを使って描画をStage3D上で行う機能を追加するプラグインを作れないかなぁと思い、手始めに作ってみました。
ちょっといま余裕が無いのでまた来年、改めてゆっくりと検討させて頂きます(_ _)
StarlingやAwa3Dは夢が膨らみますね! 特にスマホでパフォーマンスが有利かもですが、文字表示がFlexなのでそこ次第ですね……。
モバイルだけ特別な文字レイヤにする案も開発開始直後からあったんですけど、端末の性能が上がってきて気にならなくなってきたので立ち消えになったのですが、StarlingやAwa3Dと組み合わせられる特別な文字レイヤを作成する必要が出来るかもですね。
・「anbookパッケージ作成」不具合
最新版ANBooksの「anbookパッケージ作成」の項目で「パックに含めないファイル名パターン」のテキストエリアを空白状態(デフォルト)のままで「anbook形式にパック」を実行すると、全てのファイルが含まれない状態で出力されるようです。
あー、直さないと……
・暗号化設定をデフォルトに
新規プロジェクト作成で生成される雛形のプロジェクトのconfig.anprjの設定に、デフォルトで<coder len="0x360"/>要素を含めておいたほうが初心者ユーザーに判りやすいと思いました。
(拡張ビルド「anc」で簡単に暗号化できたのですが、そこの要素の設定ですこしハマったので)
これ、偶然? かもですが(我ながら朦朧としてて……)今回の更新で修正しました。
ご指摘有り難う御座いました!!
★今後の予定
来年作業でフォントの扱いを自動化したら、ANBooksは一つの節目を迎え、枯れる段階(不具合修正のみのメンテで大更新は無くなるような状態)にしようと思います。
今後 AIRNovelとしては、別プロジェクトの別アプローチに注力します。
