« 2007年08月 | メイン | 2007年10月 »

2007年09月24日

●新型PSPでのONScripter起動

はてさて(その2)新型PSPが発売されました。
買うかどうか迷ってたのですが、本日地元淀にふらっと入ったところ黒白銀の在庫があったので
ついつい購入してしまいました。あいすしるばー
ざっと見た感じでは心配だったドット欠けなどもないようで満足。
まあとっくにPSPblog界における購入報告の旬は過ぎてるような気もしますけれども。
いえ、意外とONScripter起動報告が少ないようなので軽く記事にするため買ってくるぞと浅ましく?
りなざう、C3200はあったのですが…。

では本題。ONSは1.5カーネル上での動作だったのですね。
現状では直接起動はできないのですが、eLoader v1.000 をかますことで起動するようです。
http://pspupdates.qj.net/Noobz-release-eLoader-v1-000-for-PSP-Slim-and-old-homebrew/pg/49/aid/102534
モノは↑こちら。通称ビール?

使用方法はいたって簡単。
ms0:/PSP/GAME/hogehoge(任意) に今まで通りONSのファイル一式を置いておき
解凍した eLoader のファイルはメモステのルートにぶちこみます。(ms0:/PSP/GAME/eLoader)
XMBから eLoader を起動すると eboot.pbp の一覧が表示されるので、
ONS(ONScripter for PSP 20060729v7等)を選択して×ボタンで決定。
その後はもう変わらず動作します。…うん、あんまりにも簡単なので説明用のSSとか用意しません。
一応こんな感じで動きましたという写真だけ。

画質が悪くて新型なのかどうかよく分かりませんね…orz
※画面はハメコミ合成です

まだ起動させただけなので、今後は動作自体(重いとか軽いとか)の検証もしていきたいですね。

(追記)既にtales fan さまがONS含む自作アプリの動作検証を行っていました。残念流石!

2007年09月18日

●今更ですが(かにしの感想に非ず)

実はかにしの、殿子シナリオだけやってその後、栖香シナリオの途中で積んでいたりします。
人の著作物を勝手に利用している立場としてはあまり言ってはいけないのですが…いや、殿子の中の人は歌が大変上手いですね?(逃
ググるとなかなかに賛否激しいというか何というか甘く陥りやすい罠だということを理解しました。

それはひとまず置いておいて、一通り終わらせようと思って再プレイを始めたところ
ONS20060729版だと立ち絵表示に不具合が出ることに今更気付きました。
かにしのではスクリプトの関係上、立ち絵等を表示する前に csp 命令で現在の立ち絵を消去してから
次の立ち絵を読み込むようになっています。
加えて消去した後に毎回背景を print 0 扱いで読み込んでいるため、通常ならクロスフェードで立ち絵1→立ち絵2と表示される筈が、
0729版ではバグ(むしろ仕様かな)で立ち絵1→消去→立ち絵2 と間に消去の表示処理が挟まってしまうようです。

□最新版と20060729vX系との違い
最新版はテキスト表示状態から非テキスト表示状態に移るとき、
もしくは非テキスト表示状態からテキスト表示状態に移るときに、
未描画のスプライトが強制的に描画されてしまうバグが修正されている。

と最初から明記されていたのですが…。霧雨の降る日にさまでの醜態には目をつぶってくださいませ。
一々立ち絵がチカチカして鬱陶しいという向きには通常版を推奨ということで対応とさせていただきます。

またあやかしびとも似た記述を使用しています。
ただ、こちらは連続表示処理が多いため0729版を推奨。その際は0.txtに

game
erasetextwindow 0  ← この一文を書き加えてください。

常にテキスト表示状態とすることで、立ち絵に関する表示不具合の一部分が改善されるかと思います。
もう割と遅いような気もしますが、今後プレイされる方はご注意願います。

さ、分校を進めないと。殿子出てこないよ殿子

2007年09月17日

●『ひめしょ!』のNスク化コンバーターが公開

『ブログ書いてゲームやって、ブログ書いて…(以下繰り返し...)な日々』しゃぶおじさ…ま?のサイトでひめしょ!のNスク化コンバーターが公開されました。
http://d.hatena.ne.jp/u_shabu/20070917/p1

ソフトは持っていないのですが、公式を見た限り『おとボク』や漫画版『舞‐乙HiME 』がツボだった自分にはなんだか合うのかも!?
所持している方や同じく興味がおありの方は是非。

2007年09月12日

●唐突に新しモノが欲しくなる

はてさて、新型PSPでのパンドラバッテリーを利用したCFWが公開されました。
詳しくはこんな場末のPSPblogもどきに流れ着く方々は既にご存じ(もしくは端から興味ない)
かと思うので割愛。

自作ソフトが実行可能、つまり ONScripter for PSP も動作する筈なのでこれは期待大です。
(ONSは1.5カーネル限定じゃなかったよね)
メモリも倍の64MBになって、今まで制限されていたことが色々出来そうですね。
ONSに限らず、自作アプリ関係が活性化するんじゃないでしょうか。

うん、これは購入決定…と思いきや、現在私の物欲アンテナはPSPからちょっとずれていたりします。
今は何だか唐突にPDAが欲しい!
ONSforPSPについては旧型のままでも進めるつもりですが、別の環境でもやってみたくなりました。
とはいえ一言にPDAと言っても色々選択肢があって迷います。

りなざう
なんと言ってもOgapee様謹製のONS本家。安定して最新版の恩恵が受けられるのは魅力です。
あと、Linuxだから当たり前ですがPerlも問題なく使えるのがいいな。
実機でぺちぺちPerlスク組んで出力したり0.txtを修正してそのまま動作検証とかわくわくてかてか。
惜しむらくは開発が終了していること。折角なので新しいモノが欲しかったのですが…
今買うならSL-C1000あたりになるのかな?

WindowsMobile系
元WindowsCE、PocketPCですね。
ONSはまだ完全動作していないのですが、ポケットの中の妹たち様の豊富な資産を活用できるのが大きいです。
雪希v4用に拙作を調整してみるのも面白そう。
またスマートフォンでWM5・6搭載品が積極的に出ているので、将来性は高いのでしょうか。
PerlCEなんてのもあるみたいですし、その辺りもグッド。

機種も多彩なのですが…スマートフォンはあんまり好みじゃないため
先日発表された純粋なPDA iPAQ200に食指が動きます。
ただメモリが64MBとのことで、流石にPSPならともかく5万以上するPDAとしては弱いかなぁ。
…うーん、悩みます。あとはアドエスとかEM・ONEなどのスマートフォンですね。

Palm、は、ちょっと勉強不足で今回は外しています。

こんな感じで発売時期とお財布を考慮しながら物欲のはけ口を探している現状。
って、blogにこうやってつらつら書くことで何だか割と発散してしまったような気がします(汗
目先の新型PSPを衝動買いしてしまうかも

2007年09月11日

●PerlでONS 応用編 日本語ファイル名の置換

ONS等への移植をする際に、元のゲームで日本語のファイル名が使われていることがあります。
ONScripterでは基本的に日本語ファイル名は使えるのですが、
雪希4であったり、稀にONSでも使用出来ない文字列(0823でFIXされてますが)もあるので
一気に英数ファイル名へ置換するスクリプトを組んでみました。

題材は吉里吉里、Fate/stay night
日本語が画像ファイルだけだとつまらないので、勝手に音楽も日本語ファイル名に代えていたり。

@fadein file=oアインツ洋館-(夜) time=800 rule=シャッター左から vague=64
@play file=洋館 time=200

こんな感じで元スクリプトがあるとします。

if ( $line =~ /^@fadein file=(.*) time=(\d*) rule=(.*) / ){
	my $file = $1;
	my $time = $2;
	my $rule = $3;
	print OUT "bg \"$file.png\",18,$time,\"$rule\"\n";
}
elsif ( $line =~ /^@play file=(.*) / ){
	my $file = $1;
	print OUT "bgm \"$file.ogg\"\n";
}

と今まで通りにマッチさせると

bg "oアインツ洋館-(夜).png",18,800,"シャッター左から.png"
bgm "洋館.ogg"

と出力。ここで、ファイル名を常に変更していくサブルーチンを加えてみます。

(略)
open (REN,">rename.bat");#リネーム用のBATファイルも同時に作成
%file;
%count;
(略)

if ( $line =~ /^@fadein file=(.*) time=(\d*) rule=(.*) / ){ my $storage = &filename($1,"png");#サブルーチンにファイル名と拡張子を渡し、その返値を受け取る my $time = $2; my $rule = &filename($3,"png"); print OUT "bg \"$storage.png\",18,$time,\"$rule\"\n"; } elsif ( $line =~ /^@play file=(.*) / ){ my $storage = &filename($1,"ogg"); print OUT "bgm \"$storage.ogg\"\n"; } (略)
;#サブルーチン sub filename{ if ( defined($file{$_[0]}) ){ #このファイル名が既出がどうかチェック $result = $file{$_[0]}; #既に代入した置換後のファイル名へ }else{ #初出ならば $file{$_[0]} = "$_[1]\_$count{$_[1]}"; #今後、このファイルは (拡張子)_(番号)とする (ex. png_105) print REN "ren \"$_[0].$_[1]\" \"$file{$_[0]}.$_[1]\"\n"; #BATファイルへ出力 $result = $file{$_[0]}; $count{$_[1]}++; #拡張子ごとに番号プラス1 } return $result; #サブルーチンの返値 }

これで、

bg "png_105.png",18,800,"png_36.png"
bgm "ogg_9.ogg"

#rename.bat ren "oアインツ洋館-(夜).png" "png_105.png" ren "洋館.ogg" "ogg_9.ogg" 以下略

となりました。ハッシュ(連想配列)に入れていくのが肝ですね。
今後使う機会があるかどうかは微妙ですが、何かしら応用できるといいかも。

9/12)
改めて考えると、この方法だとスクリプトに変動があるとファイル名が変わってしまいますね…。
完成してからならともかく、作成中だと結構難がありそうです。
基本的な考え方は同じですが、やっぱり別にリスト化したものを読み込んで
それをハッシュのキーとして扱った方が良いかも知れません、ですよ?

2007年09月10日

●ONScripter for PSP&WIN 20070823が公開

『霧雨の降る日に』すとーむ様により、(ほぼ?)最新版のONSバイナリが公開されました
相変わらずPSP用にかなり弄っていると見受けられ、常々ながら感謝してもしきれません。

ざっと試したところでは、

08. AnimationInfo::blendOnSurface2() において、アフィン変換行列の逆行列を整数演算で求める際に正しく計算できない場合があるバグを修正

こちらのFIXにより魂響の拡大動作が正常になりました。
補正をかけていた計算を元に戻し 20070910 として更新。
どんな感じかは、検証用のようつべ動画をご覧いただけると嬉しいです。

06. アーカイブのインデックス作成時のメモリの確保方式を変更
Bullet Butlers 終盤の銃撃戦などでちょくちょく落ちていたのが全く落ちなくなりました。(20060729v7使用) うちのモノではかにしの、あやかしびとなどのファイル数が膨大で落ちやすいものに効果が絶大?

他にも色々ありますが、うみねこ関連が特に強化されてるみたいですね。

拡張スプライトがPSPで現状対応できないのは残念ですが、今回の分だけでもかなり助かります。
改めてお疲れ様です。