THE PSP攻略+α ~SONYへの挑戦状~

PSP関連ブログ?いいえ、ただのゆとりブログです

スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[ --/--/-- --:-- ] スポンサー広告 | トラックバック(-) | コメント(-)

ASB形式のシナリオをデコードするツールver1.01 

連休だってのになかなか時間取れなかった…。
久々にコメントがいっぱい着てるってのに、返事書けないとかマジ喧嘩売ってんの?w
ブログタイトルを『神々への挑戦 ~奪われた楽園~』にでも変えようかしら。
最終的には次元の狭間云々で精霊界に行き、自らが神格化するとかいうオチにしよう。

というわけで、色々コメントが着ていたのでASBのデコードツールを更新。
詳しい更新履歴などは続きにて。
   
 
ver1.01での主な更新は以下の通り。

・失敗時に終了しないバグを修正。
「デコードに失敗しました」とか表示されてるのに「~に保存しました。」とか言って、空っぽのファイルが生成されたのはこれが原因。

・無関係なファイルを読み込んだ時と種類の違うASB形式を読み込んだ時の
 エラー表示が反転してたバグを修正。

これは報告が無かったが、分岐が逆だったのに気付いたので修正。
このツールでは、先頭4byteが"ASB(0x00)"のASB形式に対応していて、"ASB(0x1A)"には対応していない。
こいつをデコードするのは色々とややこしいのもあるが、手元で確認できてないので未対応となっている。
一応、先頭3byteが"ASB"だった場合のエラーは別にしてあるので、もし"ASB(0x1A)"を読み込んだ場合は「未対応のASB形式です。」というエラーが出るようになっているのである。

・カレントディレクトリが実行ファイルと違う場所の時、zlib1.dllが
 見つからないエラーを修正。

HSPは厄介なことに、DLLが存在していなくてもプログラムが実行できるようになっている。
もし、DLLが存在しないままDLLの関数を呼び出したなら、内部エラーが出て強制終了される。
これだと、ユーザーにはなぜエラーが出てるのかわからないので、独自にzlib1.dllファイルの有無を確認するようにしているのだが、「カレントディレクトリ」と「システムディレクトリ」しか確認していないので、カレントディレクトリが実行ファイルの存在するディレクトリでは無いところに移動していると上手く検出できない状態になっていた。
どうやら当方の環境では、システムディレクトリにzlib1.dllがあったのか、このバグに気付かなかったようだ。
というわけで「実行ファイルが存在するディレクトリ」も検索するように追加したので多分大丈夫なはず…。

・デバッグモード時の動作を変更。
以前は書いていなかったが、"debug"という名前のファイルをカレントディレクトリに置くと、各種エラー表示をダイアログで表示したり、内部データを表示するようになる。
標準でつけても良いのだが、大量のファイルを一気に変換したときに、すべて不正なファイルだとダイアログ地獄になってしまう恐れがあるのでデバッグモードの機能にしておいた。
ぶっちゃけ、エラーが出る場合はそのファイルを送ってもらった方が早い気がする…。

・100MB以上のファイルを読み込んだ時に停止するように変更。
ファイルをすべてメモリに読み込んで処理する仕様なので、間違えて1GBのアーカイブを選択したら大変なことに…、ということで、この手のツールでは度々導入してるサイズチェックを導入。
HSPだと、ちょこちょこ読み込むのが面倒やねん…。

・ヘッダサイズの異なるASBファイルに対応。
古いASBだとヘッダ、正確にはヘッダの後に4byte分CRCか何かのデータが入るので、拙作のツールではデコードできない状態だった。
というわけで、データの開始位置をずらして試行錯誤するように。
『Trample on “Schatten!!”~かげふみのうた~ 戦闘体験版』で動作確認済み。

・TBLファイルのデコードに対応。
すっかり言うのを忘れてたけど、ExtractDataでラムネを抽出するとTBLファイルがデコードされない。
このファイルには、シナリオスクリプトのファイル名やBGMのファイル名などが格納されていて、シナリオスクリプトからは、このtblファイルを参照してファイル名を取得する仕組みになっている。

・その他出力の表示を変更。
圧縮データと展開データのサイズを表示したり。
[ 2010/05/06 23:42 ] 自作ソフト類 | TB(0) | CM(8)
No.1027
>七次元様

旧作のasbに対応したソフトとがあるか探してみました。

枕の旧作、H2Oは・・・BGIでした。
アーカイブが同じarc形式だと紛らわしい・・・
と思ったら、本当に一本見つかった!

AlcotのTriptichです。こちらは正真正銘のAZSystemです。
時期からして旧タイプなので、試してみましたが・・・駄目でした。

script.arcはExtxxx120で「変換せずにすべて抽出」にて展開。その後、そのままの逆アセンブルは不可のため、dec_asbは試みるが、「未対応のASB形式」とはじかれます。

Triptichに対応してください、というわけではないのですが報告が少なすぎるので、一例として書かせてもらいました。

ブログの書き込みがご迷惑なら、今後はメールで対応しようと思います。

あと最後に・・・dec_asbはワイルドカードには対応していないのでしょうか?
[ 2010/05/14(金) 01:55 ] [ 編集 ]
No.1029
>script.arcはExtxxx120で「変換せずにすべて抽出」にて展開。
なぜ変換しない…。
ラムネと同じく、ExtractDataに対応してるゲームなのでそのまま抽出すればデコードしてくれます。
体験版で旧型用逆汗の動作を確認しました。
ですが、旧型用逆汗はラムネ用に命令を決め打ちしてあるので、テキストが16進コードのまま出力されます。
チャプター命令だけは同じバイトコードみたいで、出力されてますが^^;

>ブログの書き込みがご迷惑なら、今後はメールで対応しようと思います。
コメントする記事の内容に合っていたり、有意義な内容であれば構いません。
むしろコメント欄は記事の延長と考えているので、他の人の参考になるような内容は、コメント欄で書いてもらう方が良いぐらいです。
次回作のコンバータになる予定で名前を出したくないとかであれば、メールでも構いません。

>あと最後に・・・dec_asbはワイルドカードには対応していないのでしょうか?
わざわざCUIにしたのも、forで一気に変換できるようにするためなので、ワイルドカードには対応していません。
HSPなら標準機能でワイルドカードを使った検索も出来そうですが、Cなどで使われている正式なワイルドカードに対応する方法を知らなかったりします。
[ 2010/05/17(月) 22:53 ] [ 編集 ]
No.1030
ASBのデコードツールを更新お疲れ様です。

カレントディレクトリで実行していなかったのが原因でした

枕の「√アナザーアフター」を
再度デコードしたところ無事にデコードされました。
ご対応いただきありがとうございました。

[ 2010/05/23(日) 12:58 ] [ 編集 ]
No.1034
>七次元様

すぐに返事をしたかったのですが、パソコンが壊れたり、自身のブログの整理で遅れてしまいました、HARUです。

>tryptich

七次元様の通りに行ったところ、逆アセンブルに成功しました。

ただ・・・Extractdata側で変換時にエラーが出てしまい全シナリオの変換ができなかったので、そういう意味では残念な結果になってしまいました。
これはさすがに仕方が無いですね。


>剣乙女ノア

こちらはご指摘の通りの方法で逆アセンブルに成功しました、ありがとうございます。

>メールについて

AZSystemのことではなく最近の個人的な近況報告を出来れば送ってみたいな、と思っております。
ブログでは今書けないこととか、最近レスが滞っていたりするけど、結局本当にやっていることは何か?とか・・・
(全てONSがらみではあるのですが・・・)

結構いろいろ作っていたりします。

ただ七次元様にご迷惑でなければ、の話ですが・・・

最後に夏になってしまうと思いますが、ステラシアターの製品版の開発に入ろうと思います。
その時はお手数ですが、よろしくお願いします。


[ 2010/06/03(木) 05:55 ] [ 編集 ]
No.1039
このコメントは管理人のみ閲覧できます
[ 2010/08/30(月) 22:00 ] [ 編集 ]
No.1043
このコメントは管理者の承認待ちです
[ 2010/12/28(火) 03:26 ] [ 編集 ]
No.1052
このコメントは管理者の承認待ちです
[ 2012/01/21(土) 16:50 ] [ 編集 ]
No.1053
このコメントは管理人のみ閲覧できます
[ 2012/02/19(日) 08:13 ] [ 編集 ]
コメントの投稿













管理者にだけ表示を許可する
プロフィール

七次元

Author:七次元
永遠の18才
夢を追い求める学生
プログラミング初心者(笑)
愛用言語はHSP(スイーツ)
プログラマーを目指すものの「C言語?読むだけ^^」「C++?知らんがな。クラスって何?おいしいの?」
というゆとりっぷり。
Delphi入れたりVC++2008入れたり迷走中。
夢はコミケで何かやりたい。一般参加すらしたこと無いけど。
PSP-1000(CFW)持ち。PSP-4000マダー?
よく難波周辺のゲーセンに出没するらしい。
STGも格げーも初心者。
ろ、ロリコンちゃうわ!!!

連絡先:homepage_touroku[a]yahoo.co.jp
(メールはほとんど確認してません。掲示板に書き込むのが確実です)

関連リンク
そふとうぇあこうかいじょ
公開したファイルが置いてあります。

掲示板
連絡やら雑談やら適当にどうぞ。
カウンター



現在の閲覧者数:
ブロとも申請フォーム


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。