したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

PSPへの移植関連専用雑談スレ

1七次元★:2008/11/04(火) 04:25:54 ID:???0
PCゲー、コンシューマ機ゲーのPSP移植関連の雑談専用スレッドです。
ONScripterへの劣化移植などの雑談はこのスレになります。
ゲームの内容に関する雑談は各雑談スレで。

2シマウマ:2008/11/15(土) 02:49:47 ID:G.cqweGsO
しまいまのBGMがうまく展開出来ないんですがオススメの展開アプリとかないですかね?

3七次元 ◆/7th/O83GE:2008/11/15(土) 06:14:16 ID:oskAKMy20
確かSPIユティリティを配布しているところのsusie pluginだとファイル名がおかしくなったはず。
ですが、拙作のコンバータは元ファイルを参照してファイル名を決めるので支障は無いです。
中途半端に名前が切れてますが、拡張子を.wavにしてoggにエンコしてやればおk
自分がざっと探したところ、アリスソフト系susie pluginは3つほどありました(配布停止してる分を入れるともっと)
検索すればすぐ見つかるのでファイル名が気になる場合は他のpluginを試してみたらいいかと

あと、内容的に質問スレかブログの米欄に書くのが適切かもしれません

4七次元 ◆/7th/O83GE:2008/11/15(土) 06:24:25 ID:oskAKMy20
ごめんなさい、よく見るとデータのオフセットが間違っていて正しく抽出できてないですね^^;;
とりあえず、自分はいのうえひろし氏のプラグインを使用しました

5インザライス:2008/12/16(火) 04:03:07 ID:WE0W5kFU0
どうも初めまして。この度七次元様をはじめとするコンバタ職人様方に触発される形で自分も作ってみよう! と一大決心した者です。
その為に¥8000の出費を惜しむことなく自分に投資する形で教本三冊購入しました。ええ、自分で自分の首を絞めました^^ 本に¥8000とか・・・(汗
それで質問させて頂きますが、何だか今自分がやってる方向性が著しく間違っている気がしてなりません。どうせやるならとBGIとか選んだのが間違いだったか・・・(汗
今デバッガを使用しているんですが、七次元様のサイトを見させて頂いてもしかしてこれバイナリエディタで十分? とか思ってしまった訳です・・・。
ようはバイトコードの規則性を(自分のようなゆとりは死に物狂いで)見出していけばいい訳ですよね? もしそうならこの数週間が目汗で霞んで見えません・・・(ぇ
まあノリが某次期大統領の名フレーズばりだったので早くも挫折しそうですが(ぉぃ 出来たらご教授願いますm(_ _)m

6七次元 ◆/7th/O83GE:2008/12/17(水) 08:13:50 ID:R.v6djj20
初めまして。返事が遅れてしまってすみません。
自分は最近になってデバッガの本を1冊買った程度で、ほとんどデバッガは
使いこなせてません^^;(本もまだほとんど読んでない)
移植に関してはバイナリエディタが使えれば十分だと思います。
あとはPCやプログラミングの基礎(エンディアンやbyte,word,Dword、引数など)を
理解していれば大体のものは規則性が見えてきます。
ですが、元のデータやアーカイブが暗号化されてたりする場合はデバッガが無いと
復号方法がわかりません。(他所様のツールでシナリオも一緒にデコードしてくれるのもある)
他にも、デバッグモードの付いているエンジンでデバッグモードを起動するのにも使えます。
デバッガは使えて損は無いので良いと思いますよ。自分はまだ全然使えない^^;
他にもプロセスメモリエディタがあればフラグチェックなどに便利です。

自分はまだコンバータ作者としては初級者なので大したことは言えませんが
コンバータの作成は非常に根気の要る作業です。
デバッガのようなアセンブリ言語レベルの作業を数週間続けられるのなら
十分コンバータが作れるでしょう。
あとは時間が無駄になっても後悔しないことですw
趣味でプログラムを組んでるとすべてが無駄な時間に思えてきます('A`)

長ったらしく書きましたが、まとめると
・テキスト形式ならメモ帳でおk。バイナリ形式ならバイナリエディタで十分。
 デバッガが使えるならなお良し。
・バイナリ形式なら何か1つは言語が使えるほうがいい。
・PCの中の人が行ってる作業を把握する。
・移植する時は完成までのスケジュールを考えて根気よく作業する。転んでも泣かない。
・要はキャラ愛。「PSPで○○を持ち歩ける…」「俺、PSPに移植できたら○○と結婚するんだ…」
 ぶっちゃけ、やる気があれば何でもできる。1(ry
 というか、データを復号するところが一番難関。これさえ突破すれば移植できたも当然。
という感じに。
作業は
バイナリエディタとにらめっこ→解析結果をメモ→プログラムに起こす→Nスク仕様にする
の繰り返しです。
最近のエンジンは高性能で、Nスクに移植するには限界があるので、そこらへんを
誤魔化すのが難しいですね^^;

コンバータ職人としてはまだまだ未熟な私でよければ、今後も困った時などに
助言(笑)しますよ^^

7インザライス:2008/12/17(水) 22:52:19 ID:ynOj2aho0
御返答どうもです^^
ううむ・・・非常に申し難いんですが、デバッガとかアセンブリ言語は今勉強中の身なんですよ(汗
なのでそこまで使える訳ではないという・・・なんか語弊恐怖症になりそうです(ぇ
いや自分のせいなんですがw とにかく、根気作業なら結構好物ですので頑張ってみます。
七次元様のブログの方にもためになる話が一杯ありましたから、そちらの方も今後チェックしてみますね^^

8七次元 ◆/7th/O83GE:2008/12/17(水) 23:05:23 ID:R.v6djj20
自分はディスクレス化や簡易的なデコード処理の解析など、初歩的なことにデバッガを使うぐらいで
大して使えませんね^^;
最近はEntisGLSのnoaアーカイブの解凍パスワードを調べるのに使ったぐらいかなぁ…
(noaは一般人向けにも使える圧縮アーカイブなので、公式で配布されてるツールがそのまま使える)
ブログの内容は偏ってるので、わかりにくかったりするかもです。
基本的に私はクローズドソースなので具体的な参考にならないかもしれません。
それでも私の記事や発言が参考になれば幸いです。

9ヒロミ:2009/03/02(月) 04:46:19 ID:wGH8sKJ60
しまいま。コンバーターを使ってみたのですが、
しばらくすると画面が真っ黒になり文字で埋め尽くされて消えてしまいます。
なぜでしょうか?

10ヒロミ:2009/03/02(月) 04:55:24 ID:wGH8sKJ60
解決しました…

11七次元 ◆/7th/O83GE:2009/03/02(月) 06:35:01 ID:CzXBtqdg0
今度からはちゃんと読んで下さいね^^

12ment:2009/03/25(水) 20:07:31 ID:JZ28meic0
質問なのですがFAのコンバーターはそのうち公開するのでしょうか?
FAを今パソコンでプレイしようか迷っているのですが!

13七次元 ◆/7th/O83GE:2009/03/25(水) 21:38:12 ID:0rQm0VYs0
現在は高機能なPSP用ノベルエンジンが無いので移植を中断してる状態です
FAの移植をするのは、高機能なノベルエンジンが出来た後になりますね
いつ、誰が開発するのかわからないので、私にもいつになるかわかりません
画像を縮小したりと必ず劣化してしまうので、PCでプレイ後にPSPでマターリプレイ
するのが理想的だと思いますので、まずはPCでプレイすることをオススメします

14fu:2009/03/27(金) 21:34:54 ID:Za5mN1LA0
七次元さん

返信が遅れて申し訳ありません。
画像の表示の件ですが
ゲーム開始してからその問題画像のところで
公式版の ONS for PSP 20080121では表示され

七次元さんのビルドしたの物は
七次元さんの仰る通り
メモリー不足で表示が出来なくなりました
その表示されるちょっと手前でセーブしてまた新たに
ロードしてみたところ無事に表示されました
参考画像サイズはマスク画像を含む
1114×1048のnjpgです
メモリーの容量なのですが
getmenで取得した数値を文字スプライトにして
表示させてみたところ
ゲーム開始してからその問題画像のところで
5312492でした
5312492=メモリー残量5.3MBなのかな?
そして問題画像表示は出来ず
その後ちょっとして表示された
メモリー残量は変わりませんでした


そしてその表示されるちょっと手前でセーブしてまた新たに
ロードしてみたところ問題画像表示前の
メモリー残量は9867244でした
9867244=メモリー残量9.8MBなのかな?

そして問題画像表示後は7679980で
無事表示されました。
これによるとどうやら 
1114×1048のnjpgの表示は
メモリーを1MB位 消費される模様です。
でもこの計算なら以前の空きメモリーでも表示できる筈ですが
何故だか原因不明です

15七次元 ◆/7th/O83GE:2009/03/27(金) 23:22:42 ID:qF4UPsoA0
oggのストリーミング用に小さいバッファを用意するので
メモリの断片化が原因かもしれません
改悪する前から断片化により、メモリ不足になることが多かったですし
あと9867244-7679980=2187264なので2MBぐらいですね
ですが、読み込み時にはもっとメモリが必要になります
・元のJPEGのサイズ(?byte)
・1114x1048の画像を読み込むのに1114*1048*3=3502416(約3.3MB)
・読み込んだ画像を画面のフォーマットに合わせるのに
 1114*1048*2=2334944(約2.2MB)
5312492は5MBぐらいなので、この時点でメモリが足りません
他にも色々メモリが必要になるし、断片化した空きを再利用
したりしてることもあるので使用容量は増えたり減ったりして
そのときによって変わります
最終的には1114/2*1048*2=1167472(1.1MB)ぐらいだと思います
SDLの仕様とONSのソースを把握してないので一部間違っているかもしれません
試しにαPNGを使うと読み込めると思います
PNGの場合だと
・元のPNGのサイズ(?byte)
・1114/2*1048*4=2334944(約2.2MB)
・1114/2*1048*2=1167472(約1.1MB)
ただ、PNGの場合は元のファイルサイズも大きいので
空きメモリがぎりぎりだと無理かもしれません

PNGだと容量的に厳しいのでJPG+マスクPNG(画像タグm)だと
なんとか読み込めるかもしれません

16fu:2009/03/28(土) 00:28:05 ID:R8FKhlJs0
七次元さん

丁寧な解説ありがとうございます
なるほどPNGの方がメモリーにやさしいのですね
知りませんでした
でも困りましたPNGは全ファイルで2.32GBあります
なので容量制限に引っかかってしまいます。
これをなんとかする為のJPG+マスクですが
うーーーーん
メモリーに一番やさしいなら、
やはりaPNGを使うしか・・・・
メモリーを使用する大きい立ち絵画像はpng
にして普通のサイズはajpgにすればもしかしたら
持ちこたえられるかもしれません
試してみますね

それでは失礼します

17七次元 ◆/7th/O83GE:2009/03/28(土) 00:52:34 ID:dzbPmd2w0
>>15の最後に書いてますが、JPG+マスクPNGだと
NJPGより省メモリになります(NJPGとPNGの中間ぐらい?)
ファイル容量はNJPG並みで、読み込み速度はPNG並みなので
使える組み合わせだと思うんだけど、誰も使わないんだよなぁw
詳しくは"クリスマス中止のお知らせ.txt"に書いてます
最終的には同じサイズになりますが、NJPGは画像としては幅が2倍なので
その分容量食いますからね

18fu:2009/03/28(土) 02:43:37 ID:R8FKhlJs0
あうう・・(><)
すいません!! 
しっかりと読んでなかったですorz

それでよく読んだら興味深い事が書いたありました
それは画像フォーマット別 読み込み数の検証なのですが

なんこのpngの最強さは・・・・
伊達に最近の主流フォーマットなっていませんね。

NJPGは何故にこんなに読み込みが・・・・
そうかこれは自分にメモリーなど無視して
for PSPではなく for WINで移植をしなさいと
神のお告げですね?
それならばメモリーなぞいくらでm(ry

うう・・(泣き)
いつになったら立ち絵の問題を解決できるんだろうorz
すいません 
少し 自分を見失いましたorz
それと教えて頂いたJPG+マスクPNGは今夜中試してみますね

確かにあの読み込み速度は目を見張るものがあります
七次元さん 検証お疲れ様です

19七次元 ◆/7th/O83GE:2009/03/28(土) 03:12:21 ID:dzbPmd2w0
通常、デコードに掛かる時間はJPG<<<<<PNGと、圧倒的にJPGの方が高速ですが
NJPGは幅が2倍なのでデコード時間が増え、さらに右半分のα値を左側に
合成する必要があるので処理が増えます
これはα値がある場合のみなので、画像を連続で表示させる場合は(通称連番動画?)
PNGを使うとWin版でも話になりません
以下、PSPで(ryの前スレに上げた検証結果
>BGM無しで360x270の画像をbltで描写
>PNG:4.5fps
>JPG:7.0fps

>おまけ(Win版)
>PNG:35.3fps
>JPG:83.9fps

>for PSPではなく for WINで移植をしなさいと
>神のお告げですね?
Win用ゲームをONSforWin向けに移植ww
PSPに限らず、他の小型端末でプレイするというのもありw
なんかWii用のONSまであるし、PS3でLinux動かしてONS起動したりとか

あと、少し重要なことを思い出したのですが、PSPは新型を使ってますか?
当方、新型を所持していないので拡張メモリを使用する改変をしてませんでした
空きメモリを参照するだけのスクリプトを読み込んで、確認してみてください

20fu:2009/03/28(土) 17:02:09 ID:R8FKhlJs0
返信が遅れて申し訳ありません

おお!!

ajpgじゃなければ、デコードの速さは最速ですね
連番ではjpgを使うわけです。
恥ずかしい話ですが、そんなにPNGが早ければ連番も
pmgを使おうと思っていました。

興味深い話をありがとうございます。
それと他のプラットホームでの移植は
自分がヤケを起こしただけなので
お気になさらないでください
変なことを書いてしまい申し訳ありません

それと使用PSPは自分は2000です。
そういえば、2000で試しても 1000で試しても
最初のメモリー残量は9MBとちょっとでした。
これは七次元さんの仰る通り、拡張メモリーが有効に
なっていないかもしれません
もしそうなら2000は希望の光が
1000では死亡フラグにorz

21七次元 ◆/7th/O83GE:2009/03/28(土) 19:20:12 ID:dzbPmd2w0
某掲示板にも「連番もPNGにしたら早いんじゃね?」って言う人が居たので
一応検証してみたw
アルゴリズム的に見てもJPEGの方が高速ですからね
PNGより高速で高圧縮な吉里吉里独自形式のTLGは少し興味深いです

私はPSP-2000を持っていないのでうまくいってるか確認できませんが
設定を変えてビルドしました
ttp://www1.axfc.net/uploader/File/so/20451&key=psp
他の方のコンバータにもメモリ的に2000専用とかあったような…
シナリオスクリプトのサイズもMB単位になってくるとメモリに影響してきますので
省メモリ設計なスクリプトを組むことも必要になってきます。
引数の少ない自作関数を使うようにしたり、関数の名前を1〜2文字にしたり
するだけでもそこそこサイズが減ります

<!--/*
前回はコメントにURL貼ったのにDL数が5回だったということは
他にも最高3人は誰か見てるのかな?
*/-->

22fu:2009/03/28(土) 20:17:47 ID:R8FKhlJs0
七次元さん

2000対応版 ワイドONSの公開ありがとうございます
試してみましたら、初期メモリー残量は38587658で
約 38MBほどありました

問題画像も難なく表示されその時のメモリー残量は33337324
で約 33MBほどありこれはすごいです
以前に比べてメモリが6倍以上あります
これなら以前のままでいけそうな予感(感動)
同時に1000は試合終了しましたorz
あとはこれにクロスフェードが加われば最強に!!

それとスクリプトサイズは七次元さんの言うとおり
なるべく変数を多用することで減らしています
でもそろそろ限界・・・・・


あとワイド対応ONSは色々な方が期待しているんでは
ないでしょうか? 
これから対応ソフトが増えますからね

自分はありがたくこのONSを使用させていただきます
色々ありがとうございました

23七次元 ◆/7th/O83GE:2009/03/28(土) 21:33:09 ID:dzbPmd2w0
ちゃんと拡張メモリに対応できてたようなのでよかったです

byte→MBは1048576で割った数なので
38587658byteは約36.8MBになります
PSP-1000は32MB、PSP-2000は2倍の64MBのRAMを積んでますが
そのうち16MBほどはシステムやONSのプログラムで使われるので
PSP-1000では16MBぐらいしか使えません
PSP-2000だと追加の32MBが丸ごと使えるので実質3倍になります

PSP-2000用として割り切るなら、メモリに余裕がありますし
画面を32bppにした方が良いかもしれませんね
せっかくフルカラーの画像を使ってるのに16bppに減色するのは勿体無いですし
フォントをメモリーに読み込めばスムーズになりますね

勝手に流用して良いのかわからないけど、すとーむ氏の独自機能である
ons.iniを実装した方が便利かもしれない…

24七次元 ◆/7th/O83GE:2009/03/28(土) 21:47:39 ID:dzbPmd2w0
32bppにすると若干処理が遅くなるかも
スプライトを動かしたりしてるならきついかもしれませんね

25fu:2009/03/28(土) 22:33:12 ID:R8FKhlJs0
なるほど、バイト計算はそうやってやるんですね
勉強になります。

それと32bppは確かに魅力的ですよね。
自分はメモリーの関係で使用していませんでしたが
物は試しですよね。
今度 やって見ようと思います。

ちなみにoni iniの機能は確かに便利ですよね
自分もあれのお陰で今回の移植に踏み切ったわけですし
入れて頂けると色々な解像度で遊べる為便利です

それと以前あげた問題
>問題点はonscripter-20080121の問題点でもある
>クロスフェードが200msとか短い時間で再生させる場合
>何故かフェードが瞬間表示になってしまいます。

これはクロスフェードに限ったことではなく
全てのスプライト表示命令にも問題が出る模様です

lsp 0,"bg/bg123.png",0,0
print 10,200← ここではフェードのエフェクト200msで表示する所
ですがなぜかprint 1と同義です
これではエフェクトの意味が・・・・・・・・
なんとか改善できないでしょうか?

26七次元 ◆/7th/O83GE:2009/03/28(土) 23:08:01 ID:dzbPmd2w0
一度、最新版のソースを改悪してみたいと思います
oggのストリーミング再生や、独自命令の追加はONSのソースを詳しく読んでない頃に
追加したものなのでうまくいくかわかりませんが…
そもそもC++がわからんので無理やり実装してるしw
うまくいけば、数々のバグも無くなり、拡張スプライトも使えるようになりますね
あと、32bpp限定でちょっと使える命令を追加するつもりです

改変に時間が掛かると思いますし、うまくいかない可能性もあるので期待しないでください

27fu:2009/03/28(土) 23:19:13 ID:R8FKhlJs0
無理言って申し訳ありません
それと対応ありがとうございます

28ホタテ:2009/04/04(土) 00:06:44 ID:8ATutDzwO
移植したゲームをPSPで、プレイするときに使うフォントなんですが、今はシネキャプション(?)を使ってるのですが、対応してない漢字がまあまあでてしまいます、他にオススメとかないですか?

29七次元 ◆/7th/O83GE:2009/04/05(日) 00:25:22 ID:Oj15XXpk0
フォントはあまり詳しくないですが、みかちゃんフォントを使用されるのをよく見かけますね
ONScripterのページで紹介されてるためだと思いますが
ゲームによっては、みかちゃんフォントだと字体が軽い感じなので自分はDFパブリフォント
を使ったりしてます(適当に検索して出てきたフォントです^^;)
小さい文字でも読みやすいフォントを探してたと思いますが、なかなか見つからなかったようなw
今見てみると登録しないとDLできないフォントだったのか…
その後、IPAフォントというものを知って、これも導入してみましたがなかなか良い感じです
ですが、ゲームによっては稀に特定の文字で原因不明のフリーズに会う事も
(某掲示板に不具合あるという書き込みで知ったフォントという話w)
ファイルサイズが大きいですが、MSゴシックを使う人も居るみたいです
良いフォントがあったら自分も知りたいですw

30ホタテ:2009/04/06(月) 01:51:55 ID:xsbzzlrQO
ありがとうございます
とりあえず、みかちゃんフォントあたりを使ってみます

31Joke:2009/04/06(月) 23:51:46 ID:goHAkgqM0
dwaveのoggストリーミングはすごいですね.
同じアイディアで修正して見たが結果が良くなかったです.
diffファイルは公開しないですか?

32Joke:2009/04/08(水) 19:10:07 ID:RDGw4v5g0
何とかしてdwaveをストリーミングされるようにしました.
今度は,bgmが鳴らさなくなって, 失望 orz
どこかのクラッシュでしょうか...
CPPを学んでからやっと数週間だけだから,難しいですね.

33七次元 ◆/7th/O83GE:2009/04/09(木) 01:40:32 ID:tXxs8cyQ0
返事が遅れてしまいました。すみません。
自分もC++はよく分からないので、ソースがかなりぐちゃぐちゃになってます^^;
他のプラットフォームの分岐を無視して組んでるのでPSP用のソースになりますね
他の方に比べて経験も無く、C言語を覚えたての自分が組んだソースで良いのなら
差分をメールで送ります。

自分はBGM周りを弄ってないので、他の部分に支障が出たりはしませんでした
コールバック部分に処理を追加するという単純な方法で実装してます

34Joke:2009/04/09(木) 02:21:35 ID:fZkcfyGE0
それでも大きい役に立ちます
失礼ではないならメールをお願い致します. (_ _)

35七次元 ◆/7th/O83GE:2009/04/09(木) 21:14:35 ID:tXxs8cyQ0
送信しました
お役に立てば幸いです

36Joke:2009/04/12(日) 14:28:36 ID:dHV6SMSA0
何日間学会にデニョワッギのため昨日確認しました
ありがとうございます^^

37fu:2009/04/23(木) 06:22:59 ID:NwVvk7RE0
すいません七次元さんのコメレスはこちらに書きますね


あっなるほど 画像暗号はナギサのからなんですね
しかも鶴も出ていたんですね。
知りませんでした。
教えて頂きありがとうございます

それと興味深いお話ありがとうございます
七次元さんのスレを読んで暗号化にする理由が
分かりました 
自分自身こう言ったことは全然考えてなかった為
そこまで考えられる七次元さんってやっぱりすごいですね
自分なんて暗号化はやめて〜〜〜と叫ぶしか
能が無いですorz

でも不思議ですよね。
ナギサのは自分で言うのは
何ですが コットンでは一番の良作だと思っています
(サブキャラではシゲオに劣る)
なのに今まで移植の話は出てきませんでした
こんな良作なら移植されていてもおかしくない筈なのですが・・・
それで次回作に踏み切ったわけですが
思えば水平線も上がらなかった
もしや自分の移植物は万人に好まれていないのかも知れませんね

38七次元 ◆/7th/O83GE:2009/04/25(土) 04:39:37 ID:uM0btHck0
わざわざこちらに移行してもらってスミマセン^^;

>自分自身こう言ったことは全然考えてなかった為
>そこまで考えられる七次元さんってやっぱりすごいですね
自分は少し気にしすぎなのかもしれません
ツールやコンバータを公開する責任がどうのこうの言う人なら
そもそも公開しませんしねw

>でも不思議ですよね。
>ナギサのは自分で言うのは
>何ですが コットンでは一番の良作だと思っています
>(サブキャラではシゲオに劣る)
>なのに今まで移植の話は出てきませんでした
>こんな良作なら移植されていてもおかしくない筈なのですが・・・
"コットンソフト"は過去に実績のある"ねこねこソフト"のスタッフが集まってるので
購入している人は多い方だと思います
ですが、コンバータを公開している人が持っているとは限りません
また、持っていても移植しない人も居るでしょう
ONSでの再現が難しい(手間がかかる)ので諦めた人や、Majiroエンジンの
解析で躓いてる人も居るかもしれません
コットンソフトのゲームは将来的に全部移植しようと考えてる人も居ます

>それで次回作に踏み切ったわけですが
>思えば水平線も上がらなかった
>もしや自分の移植物は万人に好まれていないのかも知れませんね
万人に好まれているものでも、コンバータが作られてないゲームはたくさんあります
コンバータが無いゲームは、いずれ誰かが作ることになりますが
それがfuさんだったというだけの話です
けよりななんかも誰も作ってませんでしたからねw
FAも今のところ誰もコンバータを作っていませんし

39fu:2009/04/26(日) 06:25:05 ID:zEB4.euk0
>コットンソフトのゲームは将来的に全部移植しようと考えてる人も居ます

これは本当でしょうか?
それならばこちらとしては移植を諦めです
他の方が作成するコンバータに期待ですねww

40七次元 ◆/7th/O83GE:2009/04/26(日) 20:26:14 ID:aSfHtlXo0
どうやらいらんことを書いてしまったようで…
本当に申し訳ない
時期が不確定かつONS移植とは別の話なんでこのことは忘れてください

41fu:2009/04/28(火) 01:47:27 ID:EMkp0Wfw0
う〜〜〜〜ん
とりあえずナギサのは一旦 休止した方が良いですねww
他の方が作成するのを期待します

やはり自分は吉里×2から抜け出さない方が良いみたいです

42NGSW:2009/05/01(金) 00:01:44 ID:cZDWEih20
七次元さん
これってコンバータになるんでしょうか?
シナリオテキスト X スクリプトテキスト =1.TXT
みたいなパッチはどうなんでしょう…
よろしければ返答お願いします。

43七次元 ◆/7th/O83GE:2009/05/01(金) 01:59:16 ID:WkWXzd6g0
ごめんなさい、ちょっと意味が分からないです
「コンバータになる」というのは
「コンバータと呼べる」という意味なのか「コンバータを作れる」という意味なのか
シナリオテキストとスクリプトテキストはどう分かれていて、Xは+の同意なのか
パッチは、変換というか書き換えなのでコンバータと呼べないと思います

44NGSW:2009/05/01(金) 19:06:08 ID:sxMCRMlo0
ごめんなさい。説明不足でした。(uu)
シナリオのテキストにスクリプトのテキストを合わせて
1テキストみたいなのはできるんでしょうか?

45七次元 ◆/7th/O83GE:2009/05/03(日) 04:21:59 ID:TalFkqpM0
「シナリオのテキスト」は画面に表示する文章のことで
「スクリプトのテキスト」というのはエンジンを制御する命令のことで
「1テキスト」というのは1行分(一区切り)ということでしょうか?
文章の表示中に命令を実行する意味であるのなら可能です

1テキストという部分の解釈がおそらく間違ってるな^^;
スクリプトとテキストが分離していて、それを1つに合わせるということかな?
例文的なスクリプトを添えてもらえると理解しやすいです

46七次元 ◆/7th/O83GE:2009/05/03(日) 04:41:11 ID:TalFkqpM0
>>42での1.txtというのは、完成されたNS用スクリプトの意味で
シナリオテキスト=画面に表示される文章
スクリプトテキスト=制御命令のみ
それぞれファイル単位で分離されてるということですか?
mjdisasmでMajiroのシナリオファイルを分離して出力した物や
CHIKAMA Masaki氏のsystem4.0デコーダーで出力された物のように

どういう分け方をしてるのか見てみないとわかりませんが可能です
メッセージ文がスクリプトでの出現順に記録されてるなら、上から順番に取り出せば
良いですし、対応した番号が行頭に書かれてるなら、対応したものを探せば良いと思います
変換時に読み込むのが面倒は場合は、先に対応した場所にメッセージ文を追加してけば
並列してファイルを読み込む必要がなくなります
元のスクリプトがバイナリ形式なら、変換時に随時読み込むしかないですね

47NGSW:2009/05/03(日) 10:25:38 ID:odkFPkRw0
シナリオテキスト=画面に表示される文章
スクリプトテキスト=制御命令のみ
その通りです。このテキストを合わせて完成されたNS用スクリプトを
作るにはどうしたらいいんでしょうか?それともシナリオテキストにスクリプト
テキストを書いたほうがいいでしょうか?
長々と質問させていただいてすみません…

48七次元 ◆/7th/O83GE:2009/05/04(月) 06:53:04 ID:86niBQoI0
どうしたらいいと言われましても、どういう風に分かれているのか見てみないと分からないです
上で書いたように、スクリプトを解析しながらメッセージ文が必要な時に随時読み込むのが
オーソドックス(?)なやり方だと思います
>それともシナリオテキストにスクリプト
>テキストを書いたほうがいいでしょうか?
という文を見ると手書き臭い気がしますが、何かしらのプログラミング言語を使うのが
一番簡単で楽な方法だと思います
置換とかだけじゃシナリオとスクリプトの結合は無理に近いですからね…
もし、デコーダーで出力されたファイルなら、元のファイルを元にコンバータを
組んだ方がやりやすいということもあります
(一般人向けにシナリオと分離してる可能性があるので)

49NGSW:2009/05/04(月) 09:46:56 ID:RgaCcj/k0
七次元さん
わざわざ返答してもらってすみません
>一般人向けにシナリオと分離してる可能性があるので
SEEN.TXTですから分離されていますね。
スクリプトの抽出を抽出できてもONSとは違う命令ですから困った。
(もしかしたら勘違いかもしれませんが)
もう少し頑張ってみます。
返答ありがとうございます。m(_)m

50七次元 ◆/7th/O83GE:2009/05/04(月) 10:35:28 ID:86niBQoI0
もしかしてRLDevを使ってますか?
このツールはMJDev(mjdisasm)の作者と同じ人が作ったもので、オプションの指定により
ファイルをひとつにすることができます
行頭に番号が振ってあるので、そのままでも使えますが

>スクリプトの抽出を抽出できてもONSとは違う命令ですから困った。
普通はONSと同じ命令なんてことはありませんよ^^;
しかもこのRealLiveはスクリプトがバイナリ形式なのでテキストですらありません
ツールの逆アセンブラ機能で、テキスト化してるだけです

51NGSW:2009/05/04(月) 18:07:31 ID:RgaCcj/k0
RLDevを知りませんでした。OTZ
排出されたtxtにはEmpty RealLive archiveしか書かれていません…
長々とご迷惑をおかけしてすみません。
C:\tmp>RLdev\bin\kprl -o seen.src -d R:\Seen.txt
(c:\tmp\seen.srcが存在することを確認する)でエラーが出てしまいます。
RをCにしてtxtをC直下に置いてもエラーが出てしまいます。
ここで書く事じゃありませんがよろしければご教授お願いします。

52七次元 ◆/7th/O83GE:2009/05/04(月) 19:06:03 ID:86niBQoI0
RLDevが使えないならRealLiveじゃなくてAVG32かもしれませんね…
エンジン名を書いてもらえると分かりやすいです
あと試したツール名も
とは言っても今手元にAVG32のSEEN.TXTが無いので試せませんorz
Vadecodeで展開できたと思うけど、バイナリ形式のままだったかなぁ…

53NGSW:2009/05/04(月) 20:23:40 ID:RgaCcj/k0
REALLIVE ExE (実行ファイル名)
RealLiveエンジンと思います。
試したツール名は
RLDev-1.40-win32とcsp2_v1.15です。
環境の問題でしたら申しわけないです。

54七次元 ◆/7th/O83GE:2009/05/04(月) 22:18:18 ID:86niBQoI0
csp2はPS2版CLANNADからボイスを抽出するツールだったと思うのですが…
>(c:\tmp\seen.srcが存在することを確認する)でエラーが出てしまいます。
というのは、csp2の説明のページに書いてあることのような気がしますが
RLDevを使って出たエラーを書いてもらわないと原因が分からないです

55NGSW:2009/05/04(月) 23:00:18 ID:RgaCcj/k0
説明不足でした。申し訳ないです。
C:\tmp>set RLDEV=C:\tmp\RLdev
C:\tmp>RLdev\bin\kprl -o seen.src -d C:\Seen.txtで
Error: not a dytecode file.と出てしまいます。
seen.srcフォルダは作成されますが中には何も出来てません。
という現状です。
わざわざ返答していただいてありがとうございます。

56七次元 ◆/7th/O83GE:2009/05/05(火) 21:05:58 ID:qH26ENfk0
対応していない命令があった時に出るエラーと違うので
Seen.txtのバージョンが上がってるのかもしれませんね
NGSWさんが最初に使っていたツールでしか展開できないかもしれません…
最近のRealLiveのゲームを持ってなく、あまり詳しくないので
これ以上はわからないです。すみません

57NGSW:2009/05/05(火) 21:23:24 ID:RI/qu4Lo0
いえいえ…お気になさらずに
面倒をかけたのはこちらですから返答ありがとうございます。m(_)m
七次元さん
ONS解とても役に立ってます。ありがとうございます。

58NGSW:2009/05/06(水) 11:45:39 ID:GRQMyBko0
七次元さん
ようやく確証が出来たので報告します。
RLDevがそのSeen.txtにどうやら対応していない模様です。
ご迷惑をおかけしました。

59fu:2009/05/16(土) 19:32:20 ID:h/GMtVyc0
七次元さん

少々相談にのっていただきたい事があります
それあるゲームTの事なのですが


あるゲームTのデータを展開してみたところ
立ち絵の状態が下記の様になっていました

tou001.png
詳細
24ビットのpng
外枠がRGBコード000000
に固められた画像ファイル

tou001m_.png
詳細
8ビットのpng
外枠がRGBコード000000
に固められた画像ファイル
上の画像を透過させる為に
必要なマスクファイル

このような状態です
これなら画像タグ:mを
使用すれば問題ないと
マスクファイルが思ったらなんと
上に表示されいるだけで立ち絵が
出ていないという感じになりました

なるほどこの方法は使えないと
理解した自分が今度試したのは
imagemagickで透過させる試みでした
外枠のRGBコード000000を透過させ
スプライトにて表示させたら今度は
画像の輪郭がギザギザにorz
これは画像タグの:l;とかを使用した時と同じです
あまりにおかしいと思いまして
今度はマスクをimagemagickで透過させて
マスクだけを表示させてみたら輪郭がギザギザに
なっていないです・・orz

それで理解したのが立ち絵マスクは
透過させる為ではなく
輪郭をちゃんと表示させる為の
ファイルと言う事でした

この場合はどうすればちゃんと綺麗に
立ち絵を表示させる事が出来るでしょうか?
立ち絵の地味なボディブローが効いてきて
泣きそうですorz

60fu:2009/05/16(土) 19:36:48 ID:h/GMtVyc0
>使用すれば問題ないと
>マスクファイルが思ったらなんと
>上に表示されいるだけで立ち絵が
>出ていないという感じになりました
↑上は間違いで

↓が正しいです
使用すれば問題ないと思ったらなんと
マスクファイルが上に表示されいるだけで立ち絵が
出ていないという感じになりました

すいません日本語が壊れているようですorz

61七次元@自重中 ◆/7th/O83GE:2009/05/17(日) 00:58:50 ID:CM9ZZtJ.0
実際に画像を見てみないとよくわからないのですが、Nスクではマスク画像が
白に近い方が透明で、黒に近い方が不透明になるので、反転する必要があります
(拙作のツールでαPNG→NJPG時にα値を反転するのはこのため)
マスク画像の縁がギザギザになっていないということは、段階的に透過度を
上げてるからだと思うので、そのままα値に使えると思います

α値が逆の状態で画像タグmを使うと中抜き状態になり、マスク画像がそのまま
表示されるということは無いので、画像タグの使い方が間違ってるのかもしれません

62fu:2009/05/17(日) 04:23:46 ID:/q06UMgE0
な・な・なるほど・・・
書き式ミスを疑ってなかったです
ご指摘感謝です

それと使い方ですが

lsp 800,":mfgimage/toi001m_.png;fgimage/tou001.png"0,0
これで合っているはずなのですが・・・

63fu:2009/05/17(日) 04:44:20 ID:/q06UMgE0
追記で申し訳ありません

七次元@自重中←このHNは一体・・・・
何が七次元さんの身起こったのでしょう?
心配です

64七次元 ◆/7th/O83GE:2009/05/18(月) 01:15:56 ID:.P51wgNw0
画像タグの使い方は間違っていませんね
背景を白にしてるのならマスク画像がそのまま張り付いてるように見えますが
それ以外なら中身に背景が表示されてるはず…
マスク画像を反転させても上手くいかないのなら、原因がよくわからないです

以前に余計なことを書いたので、全体的に書き込みを自重してるだけです…
そしてまた余計なHNの追記で色んな人に迷惑を掛けているという…
もう死ねばいいのに俺

65fu:2009/05/18(月) 02:29:54 ID:275I/5..0
七次元さん

すいません
七次元さんの書き込みにより
原因がわかりました
確かに透けた人の部分に
背景が出ています

ちなみに下記が詳細です

通常 NSの立ち絵マスクは下記の様になります

背景は白

人形部分は黒

これなら正常に表示されます


このゲームのマスクは

背景は黒

人形部分は白

なのですorz
これなら人形部分だけが透過され
他の部分がマスクで覆われるのも
頷けます

でも原因が分かったのですが
今度は対処方はどうするかですね・・・・
ImageMagickで対処できるかどうか・・・・
これが何とかすれば移植は簡単に行えるのですが・・・

それとHNにはそんな意味が
その余計な事と言うのは
まさか前の・・
すいません あれは自分が余計な事を
聞いてしまった自分がいけないと思います
七次元さんが気を病む事なんてありません
その節は大変失礼しました

それともう死ねばいいなんて
書かないで下さいよ〜〜七次元さ〜〜ん
自分は以前も書きましたが七次元と
お話しするのはとても楽しいので
そんなことを言われると自分も悲しくなります
気を持ち直してください!!
どうかよろしくお願いします

66七次元 ◆/7th/O83GE:2009/05/18(月) 04:30:06 ID:.P51wgNw0
上で書いたように反転すれば良いので、ImageMagickなら-negateなどを使えば
Nスク用のマスクとして使えるようになるかと思います。
32bitBMPやPNGのα値は0x00(黒)が透明、0xFF(白)が不透明なのでNスクが特殊ですね

自虐厨なんですみません…
呼吸の度に自虐してるんじゃないか?ってぐらいなので気にしないでください
悪いのは自分なんで
相変わらずブログでは余計なことを書きまくりなので学習してませんがw
今は何も活動してないただの学生なんで、発言や行動は話半分で聞いて貰えると気が楽です
大したことしてないのに持ち上げすぎですよw皆様方

なんだか賞賛乞食な文章になってるが気にしない

67fu:2009/05/18(月) 19:05:42 ID:275I/5..0
アドバイスありがとうございます
試してみたところやはりダメみたいです
もうこのゲームは立ち絵に関しては放置プレイする事にしました
自分には手におえない・・・・

それと今。思うと自分も自虐厨なんですよね・・
その事で結構自己嫌悪に陥る事も少なくないですorz

68NGSW:2009/05/18(月) 22:41:01 ID:TCjfUn3g0
自分も自己嫌悪ですよ…
存在の意味すら…おっと誰か来たようだ。
と…
気を取り直して、七次元さん
ちょっと気になり質問です。
ONSではフラグ関係とか
0.txtに(movなんたら)を書かないと
addが効かないんでしょうか?

69七次元 ◆/7th/O83GE:2009/05/19(火) 21:24:22 ID:7muUPytM0
>>fuさん
どういう風に駄目だったのでしょうか?
そのままマスク画像を使って中抜き状態になるなら、反転すると
その逆の状態になるはずなんですが

>>NGSWさん
define節で初期化しなくても、変数の代入とかは行えます(addもできるはず)
たしか初期値は0だったので、フラグとして使うならそのまま使えると思います
クリアフラグなど、グローバルな変数は*start以降に初期化すると起動の度に初期化されて意味が無いですが
ローカルな変数はゲームを中断してスタート画面に戻る場合に初期化したり、resetしないと
そのまま再プレイした場合に前の値が残っていて不具合の元になります


自分の存在意義や周りからの評価に関しては誰もが不安を抱えてますからね…
以前、先達の方のブログのコメントでそんな話をしたら
「存在意義なんて周りの人がいくらでも見つけてくれるのでポジティブに」
とお偉い方が言ってくれましたw
自分は心理テストによると未来志向型らしいので「これが完成したらきっと役に立てる」
と考えながら、作業に取り組んでモチベを維持してますね

70NGSW:2009/05/20(水) 00:14:37 ID:j42fF4sk0
なるほど…どおりで何度やってもフラグがループするわけですね。
参考になりました。m(_ _)m
七次元さんも新型インフルやGENOにお気をつけください。

71fu:2009/05/20(水) 11:33:57 ID:ExOyobTo0
七次元さん

すいません
詳しく書いてなかった
みたいですorz

それと本題ですが
反転はしてみたものの
確かにマスクとしては普通に
使用できるのですが、ギザギザが残るのです

これは少し特殊なのでもう放置ですね・・・
すいません

72七次元 ◆/7th/O83GE:2009/05/21(木) 02:39:53 ID:Lwvf5rYA0
>>NGSWさん
初期化云々は予想して書いたことなので、挙動がおかしいなら別のところに
原因があるかもしれません

新型インフル流行で1週間休校になったので暇です(ぉ
いや、課題や提出物があるのでやることはあるのですが、学校帰りに難波周辺をぶらぶらするのが
楽しみでもあり、運動(笑)でもあったので家にずっと居るのは退屈ですね
GENOに関しては元々あちこち飛ばないのでGENOの情報も最近知ったりw
avast!タソを愛用しているので、もし遭遇してても大丈夫だったかもです

>>fuさん
ギザギザが残るということはゲーム中に随時境目を半透明にしてるんでしょうかね…
元の立ち絵の透過具合がよくわかりませんが、縮小したときに消えてしまった可能性もあります

73NGSW:2009/08/10(月) 18:22:54 ID:SEd2bzWs0
七次元さん
お久しぶりになります。
スプライトをスクロールさせつつ、
別のスプライトをアニメーションさせるにはどうすればいいんでしょう?
縦セルをどうやれば、アニメーションさせられるのかも、難解です。
質問ばかりで申し訳ないです。><

74七次元 ◆/7th/O83GE:2009/08/10(月) 19:45:58 ID:6M2OpHzc0
お久しぶりです。
ONS関連のこともやりたいのに、まとまった時間がなくて最近疎遠気味の七次元です。

さて、質問についてですが、スプライトのスクロール処理もアニメーションと考えられるので
要約すると複数のアニメーションを同時にしたいということでしょうか?
実験版のONS(Lua)ならそこそこ簡単に実装できそうですが、メジャー版のONSだと場面が限られますね。
とは言っても、1枚だけのスクロール処理ができる場面なら複数のアニメーションも容易に実装できます。
簡単に言えば、大体使われるスクロール処理はループで少しずつ移動させますが、そのループ内に
他のスプライトの移動処理を追加するだけです。
複数のアニメーションが同時に開始するとは限らないので、アニメーションを登録型にして、クリック待ちや
指定時間ループを回し続けるwait命令を作ってやれば、スクリプトの実行中にもアニメーションを実行、追加
したりできると思います。
スクリプトを組んでる途中にもっと賢いやり方が見つかりそうなんですが、今はあまり時間が無いので
サンプル的なものが作れません。
縦セルの画像は、事前に画像編集ソフトで横並びにするしかないと思います。
もしかして上でのアニメーションというのはセルアニメーションのことだったのかな…
セルアニメーションはほとんど使ったことが無いので、挙動がよくわからないのですが、スクロール中に
止まるような仕様なら、セルアニメーションも自分で実装するという方法で対処できるかと思います。

75NGSW:2009/08/11(火) 00:26:01 ID:T161eIME0
質問にお答えいただきありがとうございます。
とても、参考になります。
セルアニメーション画像を配置しましたが、
他のスプライトがスクロール中だと、やはりアニメーションが
止まりますね…。lsp2などをやると、onsが終了してしまいます。(記述が間違ってるのかもしれませんが…)
lspを同時にやると、1枚目のほうのみ表示されますね。2枚目のほうは、
裏とでも言うべき?な、配置です。同時に同じ断層にするのは、
透過されてないと、無理ですかね?

76七次元 ◆/7th/O83GE:2009/08/11(火) 01:15:11 ID:vdaVrUsY0
スクロールさせながらセルアニメーションをしたいのなら、セルアニメーションも
自分で実装する必要がありそうですね。
lsp2は元々セルアニメーションに対応してないようです。
lsp2用のcell命令も無いようですし。
スプライトは若い番号の方が上に来る仕組みなのでそうなりますね。
透過されていれば重ねても見えますが、移植元のゲームと同じように重ねているのなら
問題は無いはずです。
透過状態がおかしいのなら重ねる順番が違うか、透過情報の付け忘れだと思います。

77NGSW:2009/08/11(火) 23:18:46 ID:T161eIME0
お忙しい中、お答えいただきありがとうございます。
セルアニメはスプライトと立ち絵とカーソルのみ実装できるようですね。

ご指摘のとおり、重ねる順番を間違えていたようです。><;
ご教授ありがとうございます。m(_ _)m

78NGSW:2009/08/31(月) 21:59:47 ID:OnUq7SRg0
某体験版コンバータ試してみました。
製品版でも内部エラーが何度か出ましたが、ファイル自体は作成できました
念の為、PSPで確認してみましたが、ちゃんと動きました。
キャラによって、文字色が違うとことか最限度高いです。^^
BGMのループだけは、いろいろいじりましたが、原因不明でした。
お忙しい中、作成お疲れ様でした。

79名無しさん:2009/09/01(火) 11:18:57 ID:McFWBX7o0
シナリオの分岐を実装してないので、ルートは固定になると思います。
これの少しあとのバージョンを使ってるけよりなとそこそこ似てるので
0x00A3〜0x00A8あたりが分岐命令かと思います。
キャラ名による文字色の変更は直打ちなので、製品版では足りないかも
しれないので、シナリオアーカイブ内のfontファイルを参考にすれば
色がわかります。(コンバータで読み込めばよかったけど別にいいや^^)
NSでは影の色が指定できないので、影を使うと通常時のテキストがダブって
見えて、影をつけないと色変更時に薄く見えて非常に見にくいです。
BGMは元の命令を上書きしてる部分にバグがあるようです。
bgm命令を違う名前に置換して(defsubやラベル名も)サブルーチン内の
_bgmをbgmに書き換えれば正常に動きます。
WIN版、PSP版の両方にこのバグがあるようなので、ONS本家のバグでしょう。

それにしてもDL数から考えると需要が無かったようで…

80七次元 ◆/7th/O83GE:2009/09/01(火) 11:19:35 ID:McFWBX7o0
おっと
酉付け忘れてましたが私です

81NGSW:2009/09/01(火) 23:06:35 ID:q/USYjrs0
いろいろ教えていただきありがとうございます。
今のスレでは一切、レスしていませんので、
開発しようとした人はいるんでしょうね。(というかあのスレは元々こっち側のスレと思いますが^^;)
需要はあると思うんですけどね。いろいろ大変ですが頑張ってください。

82NGSW:2009/09/24(木) 18:53:10 ID:QtregHIk0
七次元さん
質問ですがよろしいでしょうか?

差分パッチについてですが、

一度、元のシナリオファイルをシナリオテキストだけを並べたテキストに変換し、そこから差分を取ればスクリプト部分の差分になり、著作権の侵害にはならないであろう。

上記のように書かれていますが、どのように作成すればいいのか、よくわかりませんでした。
お忙しいと、思いますが、ご教示いただければ、嬉しいです。

83七次元 ◆/7th/O83GE:2009/09/26(土) 05:34:31 ID:tw.XZQ5s0
まずは差分の仕組みを考えてみるとよくわかると思います。

line1:「俺がシナリオだ!」
line2:「な、なんだってー!?」
↓ 上から下に差分を取る場合
line1:「俺がシナリオだ!」
line2:dwave 0, "voice.ogg"
line3:「な、なんだってー!?」

一行目の後に「dwave 0, "voice.ogg"」を追加
という差分情報をファイルに書き出します。
上記の例ではvoice.oggというファイル名を書き出すことになりますが、シナリオの
テキストの順番が整ってないと、会話文や選択肢の文字などが差分ファイルに
書き出されてしまいます。(ファイル名も出力しないようにするべきですが)
理想の差分ファイルは以下の形式です。

文章が長いのでtxtに収めて7zに包んで揚げました
ttp://www1.axfc.net/uploader/Sc/so/39872.7z&key=iiotoko

WindowsやLinuxに付いてるdiffコマンドと同じ感じです。
(diffを知っていればそもそも差分の仕組みを聞きませんよね^^;)

元のシナリオがバイナリ形式なら、そこから必要なテキストデータのみを切り出す。
他の開発者が作ったツールでテキスト化してる場合は、他の情報も書き出されるので
テキストのみ書き出すようにソースを改変するか、perlなどで必要なテキストのみを抽出します。
※ここでの必要なテキストは、ファイル名も含む。

元のシナリオデータがテキスト形式ならそのまま差分を取っても良いのですが、例の元テキストのように
必要な部分だけ切り出した方が確実な差分が取れます。

また、選択肢などでシナリオテキストの順番がバラバラになったりすると、差分が取れない
可能性が高いです。
シナリオのコンバート時に、元のファイルと同じ順になるように注意してください。
差分ファイルをバイナリエディタなどで除いて、シナリオテキストが混入してないか
確認するのも重要です。
上手く変換できていれば、差分データのサイズは小さくなり、追記されるテキストは
Nスクのスクリプトのみになるので、配布時の圧縮効率も高くなります。
まあ、私は差分パッチによる配布をしたことが無いので、テキストが混入する理由が
解明できてないのですが…
暗号化されたままのシナリオデータや、複数のファイルを無理に連結させたもので
差分を取ると、まるごと差分にコピーされる可能性が高いです。
途中までperlスクリプトで変換して、そこから手直しした物の差分を取る。
という形式だとより安全です。

今回も長文レスです。
寝ますです。

84NGSW:2009/09/26(土) 19:29:29 ID:F/7hsgCk0
長文レス、ありがとうございます。大変感謝です。


差分パッチを当てると、当てる前のテキストは上書きされるのは仕様なのでしょうか?
WDiffの場合ですが…
やり方が間違っているのでしょうか?
重ね重ね質問すみません。

















うほっ!いい男

85七次元 ◆/7th/O83GE:2009/09/28(月) 06:37:56 ID:ebgnhKWs0
差分パッチは本来、ソフトウェアの修正などに使われるので同じ名前になる必要があり
必然的に上書きされるようになってます。
一応元のファイルを.OLDという拡張子をつけたファイルにしてバックアップを取るオプションも
ありますが、あまり関係ないですね。
名前を変えたい場合は、batファイルにパッチの実行とrenコマンドを書くという初歩的な方法が
楽だと思います。

それにしても、こっちで上げたファイルでも数人DLした形跡があるのが面白い。
そろそろヤマジュンオールスターズという名前の格ゲーを出すべき。

86NGSW:2009/09/28(月) 22:48:16 ID:fhfTIU4w0
返信ありがとうございます。

参考になりました。
差分パッチ以前にスクリプトの修正が終わらない…
画像を一切同梱しないようにしなくてはならないです。





ガチムチ兄貴のレスリングが浮かんだ自分はもうだめだ…rzo

87七次元 ◆/7th/O83GE:2009/09/29(火) 21:33:26 ID:cUjnIvfM0
画像は何かしらのソフトで自動生成するスクリプトを組めば大丈夫でしょう。
それではスクリプトの修正の方を頑張ってください。


古参気取り厨としては、どうしてガチムチレスリングがあそこまで発展して
来日したのか分からない…

88fu:2009/10/02(金) 20:35:36 ID:COH9f6Kk0
七次元さん

コンバータ変換完了です。
試してみて驚いたのが文字色に
対応になっていましたww
うむむ・いい仕事です^^
これからPSPで楽しんでみますね

bgm関係はNSのバグで_これで本来のbgm命令を
読み出すと本当にループしない模様ですね
ここら辺は下記の様に変更しました
それにしてもこのバグは前にもGで体験しましたね・・
あのゲームは結構な方が変換してるのに誰も本家に報告していません・・・
何故なのか理由が不明です

if ( $line =~ /bgm \"([a-zA-Z_0-9]*)\"\n/ ){
print OUT "bgm1 \"$1\"\n";
}

defsub bgm1
getparam $0
find_sound_file $0
_bgmvol 100
bgm $0

89七次元 ◆/7th/O83GE:2009/10/02(金) 22:29:27 ID:vde7uq2w0
文字色は影の色が設定できないので非常に見難いんですよね…
確かシナリオスクリプトと一緒に入ってるファイル名がfontだかの中に文字色と影色などが設定されてました

BGMはNSじゃなくてONSのバグですね。
NSでテストしたら正常に再生されたので。
Gでもこのバグに遭遇していたのですか。
BGMが無いと大分違和感あるだろうになぁ…
ちょっとONSのソースを見たところ、原因がわかりました。
かなり軽度なミスで修正は容易なはずですが、誰もバグトラッキングしてなかったのでしょうか…

90七次元 ◆/7th/O83GE:2009/10/02(金) 22:36:08 ID:vde7uq2w0
おっと、スクリプトのことを書くのを忘れてました。
製品版で動作させる場合は、分岐処理とエンディング処理を適当に追加してください。
フラグ処理はちゃんとできてるはずですが、ゲームによっては細かい分岐があって
1キャラに複数のフラグがある場合は対応できませんが、普通にフラグ値を比較して
一番大きいキャラのルートに飛ばしてやるのがよくあるパターンなので、その方法で
試してみてください。
フラグを格納してる変数は最初の方にnumaliasで定義してあります。
もしかするとグローバル変数の処理もあるかもしれませんが、そもそもクリアフラグが
関係するようなものが体験版には無いので、CGモード系は大目に見てください。

ほぼ重要な命令は実装できてると思うので、製品版があればすぐ完成しそうなんですが…

91fu:2009/10/02(金) 22:50:24 ID:COH9f6Kk0
七次元さん

返信ありがとうございます。
あのバグはNSではないのですか!!
無責任な発言をして申し訳ありません
しかもソースをみてもう原因解決とは恐れ入ります^^
でも軽度なミスならば自分の方で本家に報告してみますね

それとスクリプト処理法を教えて頂いて感謝です
製品版は試してみたいのですがお金の関係で
来月になりそうです。

自分のブログのコメにも書いたのですが
神と一緒で値段がとても高いです・・・
この値段では確かに製品版対応は厳しいですよね・・
うむむ・・困った物です

92魔王:2009/10/03(土) 01:52:30 ID:UJqVyAv.0
そふとうぇあこうかいじょの
七次元様の作ったONScripter for PSPがリンク切れ
になっているのでUPお願いします

93七次元 ◆/7th/O83GE:2009/10/03(土) 02:39:53 ID:LfFkizrg0
>>fuさん
具体的な修正方法を書くと、ONScripterLabel::parseLineで"_"を検出してcmdのポインタを
ずらしてるだけなので、コマンドの実行前にstring_buffer内の"_"を消す必要があります。
ちょっと覗いて見ると、スパムだらけで対応してる様子はなく、修正されるかわかりませんが…

>>78にて製品版でも動作するとの報告を貰いましたが、出だしの部分だけかもしれません。
途中からは上手いこと動かないという可能性も高いので、コンバーターのために製品版を買うのは
あまりオススメはできません。

>>92
ロダに上げてるわけではないので、基本的にリンク切れになることはまず無いです

94魔王:2009/10/03(土) 02:44:39 ID:UJqVyAv.0
すいませんなんか勘違いしてました
また、質問なのですがONScripter4PSP_7th_ver1.01
はどこでDLできますか?
できればご回答お願いします

95七次元 ◆/7th/O83GE:2009/10/03(土) 08:12:07 ID:LfFkizrg0
その「そふとうぇあこうかいじょ」にある「ONScripter for PSP」なのですが…

96魔王:2009/10/03(土) 15:08:56 ID:UJqVyAv.0
ご対応ありがとうございます。
リンク切れ?かわからないですけど403何とかってでてきてDLが
できなかったので・・・

97チタン:2009/10/06(火) 23:35:04 ID:5i/H6bdM0
はじめまして、チタンといいます。
このたびこちらで紹介されているsystem4.x用シナリオデコーダーとsystem4.x用逆アセンブラ+αを使わせてもらったので動作報告をしておこうと思います。
・妻しぼり
・パステルチャイムC
・AliveZ
変換可能

・ランス6
最初に
違う型
11(0x0000000B)
5458976(0x00534C20)
と出て変換が出来なかった

・パステルチャイムC+
未知のオペコード
154(0x0000009A)
803994(0x000C449A)
処理を続けますか?
と出るので変換を続行すると
未知のシステム関数です
26(0x0000001A)
1123660(0x0011254C)
と出て途中で強制的に変換終了する

以上です。七次元様の方で確認済みのものは省略させていただきました。

98七次元 ◆/7th/O83GE:2009/10/07(水) 05:59:11 ID:UtyiDh7M0
はじめまして、動作報告どもです。
今やってる作業が終わったら対応してみますので、のんびり待っていてください。

99NGSW:2009/10/08(木) 19:04:11 ID:UqAroa1E0
最近、コメント…
                  /ヽ      /ヽ
                  /     ヽ__/   ヽ
 ┏━━┓  ┏┓      /               \     ┏━┓
 ┗━┓┃┏┛┗┓    /     /         \ |   .┃  ┃
     ┃┃┗━┓┃┏━|      ○      ○ |━┓┃  ┃
     ┃┃  ┏┛┛┃  |.         (__人__)   |  ┃┃  ┃
     ┃┃┏┛┗┓┗━ヽ         |__|    /.━┛┗━┛
 ┏━┛┃┗┃┏┛   /               \   ┏━┓
 ┗━━┛  ┗┛    /         ̄ ̄ヽ / ̄   ヽ  ┗━┛
               .ヽ_______/ \__/
で、モチベが減少中のNGSWです。

七次元さん
毎度毎度の事ですが、質問です。
blt命令は命令の前にbtndefを読み込んでおくと
書いてありますが…、具体的には、どのようなスクリプトにすれば
いいのでしょうか? 
台風など、いろいろ大変ですが、よろしくお願いします。

おまけにもうひとつ質問してよろしいでしょうか?
DirectXエンジンのゲームは移植可能でしょうか?
これからの参考に是非聞いておきたいです。
長文失礼致しました。

100七次元 ◆/7th/O83GE:2009/10/09(金) 05:38:59 ID:T3RlFfKk0
コメントなんて都市伝説だろ…
私のモチベはもうマイナスに差しかかろうとしています。
モチベ変数の型が符号なしだと一気に有頂天になりますが…。

こっちでは台風は大したことなかったですね。
場所によっては死者が出たみたいなので、ネタは自重しておきますが…。
bltはボタンに指定された画像をバッファを経由せずに画面に書き込む命令です。(NS本家では)
まずは「btndef "画像ファイル.jpg"」という感じに画像を定義して、bltで描画します。
bltの引数は以下の通り。
blt dx, dy, dw, dh, sx, sy, sw, sh
d*は画面、s*は元画像の設定。
x,yは座標(PSPの画面ではなく、ONS上の左上基準)、w,hは幅と高さ。
例) blt 0, 0, 800, 600, 0, 0, 800, 600 (800x600サイズの画像を画面に転送)
元と先で幅が違う場合は、拡大縮小されるらしいです。
また、バッファを経由しないのでセーブデータに反映されませんし、画面が不安定です。
もし、これで描画した後に他の画像をクロスフェードしたい場合は、ofscpy命令で
バッファに転送できます。
ここからbgなりでエフェクトを使って画面を切り替えることができます。
詳しくはマニュアルを見てください。


>DirectXエンジンのゲームは移植可能でしょうか?
これはノベルゲームなのか、それ以外なのかで返答の仕方が変わってきますね。
話の流れ的にノベルゲーム関係だと解釈します。
ういんどみるさんとこのCatSystem2なんかはDirectXによる描画をしてるようですが
3D背景とか以外ならONSでもそこそこ移植できるかと思います。
DirectXで描画していなくても、ONSでは厳しいゲームも多いので、元のゲーム次第ですね。

101NGSW:2009/10/09(金) 22:00:16 ID:C7z2.AB20
教えていただきありがとうございます。

bltは
実際に使ってみて把握してみます。

DirectXエンジンのほうは、大方はノベルタイプですね。
3D演出やら非同期が組まれてますが…やはりゲームによりそうですね。
そこそこ移植できるらしいなら、参考にさせてもらいます。

   あえてチャーハン作るよ!!
`∧,,∧
(;`・ω・)  。・゚・⌒)
/  o━ヽニニフ))
しー-J

     アッ! 。・゚・
`∧,,∧て   。・゚・。・
(´゚ω゚)て  //
/  o━ヽニニフ
しー-J   彡

         イ ""  ⌒  ヾ ヾ
............... ..ヽ . ;: . / .⌒ _,,..__ ヽ  ) ;. :ノ......... .........
:::::::::::::::::::::::::::ゞ (.   (::.! l,;::) .ノ ノ ./::::::::::::::.......:::::
        ._ゝ,,. .-ー;''""~ ';;; − .._´,
       ._-" ,.-:''ー''l"~:|'''ーヾ  ヾ
      ::( ( .     |:  !     )  )
        ヾ、 ⌒〜'"|   |'⌒〜'"´ ノ
          ""'''ー-┤. :|--〜''""
              :|   | 
              j   i
            ノ ,. , 、:, i,-、 ,..、
スレ汚しでしたらすみません。

102七次元 ◆/7th/O83GE:2009/10/11(日) 21:04:17 ID:8AkqabRM0
百聞は一見にしかず、ですから実際にマニュアルを見て動作させてみるのが一番です。
DirectX(Direct3D)といっても、結局は画面に描画するAPI群でソフトウェアでも再現できるものなので
逆を言えばDirectXを使わなくても同じようなことができます。
PSPはハンディ型ゲーム機の中では性能の良いGPUを積んでるので、ソースコードレベルから
組むのであれば大概のものは再現可能かと思います。
とは言っても、PSPでHomebrewが出来るようになってからもう何年か経っていますが
未だにONSとわっふるの移植ぐらいしかされてませんね…

103NGSW:2009/10/14(水) 19:37:38 ID:C8A7y02U0
レスが遅れてしまい申し訳ありません。
ある程度は、実現可能ですか…モチベが上がりますね。
今のが終わりましたら、取り掛かりたいと思います。
新しいエンジンは気になりますね。可能性が増える事に期待です。

104NGSW:2009/12/18(金) 22:50:44 ID:XzdIvW7I0
寒くなり、お腹の調子が悪い感じのNGSWです。

先日はどうもありがとうございました。m(_ _)m
励みになりました。
今回は、前回のDirectX系独自エンジンのゲームのほうですが
展開したところ、立ち絵が顔パーツと立ち絵に分かれていました。
この場合、スプライトで表示したほうがいいのでしょうか?
それとも、立ち絵命令で処理させたほうがいいのでしょうか?
ご教示お願いします。
さらに質問です、シナリオを展開してみましたところ
シナリオテキストと命令文スクリプトのファイルが別ファイルに別れて
おりました。この場合、どのように、やるべきでしょうか?
度々、質問をしてしまい、お手数をおかけしますが
出来ましたら、お答えいただけると、助かります。

105七次元 ◆/7th/O83GE:2009/12/19(土) 23:00:40 ID:EJ04R1ks0
私も体調が崩れたままですが、お互い気をつけましょう^^;

>先日はどうもありがとうございました。m(_ _)m
>励みになりました。
私の書き込みでモチベが維持できたのなら幸いです。

さて、前回仰っていたDirectX系のエンジンの話とのことですが
ゲーム名を教えてもらえれば、体験版などでこちらでも確認できるので
差し支えなければ教えてください。メールでも結構です。
絵に関しても、シナリオに関しても、実際に見た方が適切なアドバイスが
できると思いますので。

立ち絵のことで、スプライトか立ち絵命令のどちらが良いかという話ですが
これはスプライトで立ち絵を合成するか、前もって合成した立ち絵を表示
するか、ということでしょうか?
これはエンジンの合成方法によっては、ONSで前者を再現できないことも
ありますが、アーカイブサイズは小さくなります。
ですが、ONSで使用するメモリ量が増えますし、スクリプトが面倒になるので
後者の方法で実装する人が多いですね。
大体のゲームはcsvなどの外部ファイルに定義されていて、NSにもcsvを読み込む
機能がありますが、ONSには実装されてないのでスクリプトで実装する必要が
あります。
確か、ef体験版の目パチ口パク対応移植をしたときには、スクリプト上で差分
を合成する方法を使っていたと思います。

シナリオの方は、NULL文字(0x00)を区切りとしてシナリオテキストが格納
されてるかと思います。
制御スクリプト側からは、オフセット値か何個目の文字列かを指定して
読み込んでいるのでしょう。
こちらは見てみないことには、詳しいフォーマットが分かりません。

106NGSW:2009/12/20(日) 15:38:40 ID:zNTVzpUg0
確かに、ゲームが分からないとお答えようがないですね。
失念でした。申し訳ないです。
立ち絵に関しては、後者のほうが管理しやすいようですね。
参考になりました。ありがとうございます。
ゲームタイトルですが、非公開コメにて、書いておきました。
まだ、立ち上げ出来るか、分からない状態なので、タイトルを載せるべきか
迷ってしまいました。返信に困るでしたら、公にしてもらっても構いません

107七次元 ◆/7th/O83GE:2009/12/30(水) 02:25:09 ID:2DbxOYHg0
すいません、返事が遅れました。

実を言うと、丁度そのゲームと同じエンジンをこの前調べてたところなので
大体の構造は把握してたりします。
なので、シナリオデータの仕組みを解析してから返事を書こうと思ってたのですが
どうにも解析するタイミングが無くて…
というわけで、まだ詳しいフォーマットが分かってない状態です。

仕組みとしては、シナリオスクリプトでテキストのオフセットを指定して
読み込んでる形です。
何度も出てくるキャラ名なんかは、最初に出てきたものを再度参照してるので
テキストファイルを上から順番に吐き出しても上手くいきません。
ファイル名も別ファイルに表記されていて、こちらは上から順番に番号が
割り振られており、シナリオスクリプトからは番号で指定しています。
上のレスでこの2種類の方法を書きましたが、まさにこのエンジンを見て
考察したものだったりしますw

前に調べて、今確認したものはこれぐらいです。
シナリオスクリプトはバイナリ形式なので、にらめっこするところが重要に
なってきますね。

108NGSW:2009/12/31(木) 22:44:19 ID:VKe046TU0
レスが遅れてしまいました。申し訳ないです。
>実を言うと、丁度そのゲームと同じエンジンをこの前調べてたところなので
大体の構造は把握してたりします。
驚きました。少しマイナーかなと、思いましたが
調べられていらっしゃったとは…ただただ、凄いの一言です。
仕組みの返答、とても参考になります。複雑な感じですね。
シナリオとのにらめっこを、気長に少しずつやってみようと
思います。ありがとうございました。m(_ _)m

今年は、いろいろとお世話になりました。
来年も出来ましたら、よろしくお願い致します。
よいお年を迎えられること願います。

109ハム:2010/01/02(土) 22:07:14 ID:3391BIw60
去年の記事にて
「FORTUNE ARTERIAL」が動作しているのを見ました。

自分オーガストの作品が大変気に入り、FORTUNE ARTERIALを購入しました。
最初はPCでするつもりでしたが、できることなら、PSPでやってみたいのです。

こちらで作成されたけよりなのツールを使用すればできるのでしょうか?

110ハム:2010/01/04(月) 22:24:45 ID:6addwphM0
すみません。
過去レス読みました。

今後移植するかどうかは未定で、まだできないということのようですね。
七次元さんの活動は拝見させていただいております。
頑張ってください^^
応援しています。

>109の下手な質問失礼しました。

111悟空:2010/01/05(火) 11:31:52 ID:Jsvfi0EMO
東方紅魔郷についてなんですけどPSPに劣化移植が出来そうって書いてあったんですけど七次元さんは移植するつもりはありますか?僕はパソコンもってないのでPSPでやりたいです・・

112七次元 ◆/7th/O83GE:2010/01/06(水) 04:07:42 ID:cW.VRnV20
家の用事とか色々で返事が出来なくてすみません。


>>108 NGSWさん
このエンジンはメーカーが作ったものなので、確かに使われてるゲームが
少ないですね。
私が凄いというより、偶然にお互い手を付けてたことが凄いですねw
あれからもまだ手を付けられていない状態で、こちらでは全く進展が
無い状態ですが、解析の方を頑張ってください。
そのゲームも買おうかなと思ってたので、コンバータに期待!(無駄にプレッシャー)

新年早々出遅れてしまった感じですが、今年もよろしくお願いしますね^^


>>109-110 ハムさん
同じオーガストの作品で、同じエンジンを使用してますが、シナリオデータの形式が
全く違うので個別に作る必要があります。
自分も気に入ってる作品なので、移植することは確定してますが、PSP向けエンジンの都合で
時期は未定といったところですね。
最近のゲームの機能を再現できるレベルのPSP向けエンジンが、なかなか出てきそうに
ないですが…
応援ありがとうございます。
なんとか今年中にはリリースさせたいところですね。


>>111 悟空さん
紅魔郷や妖々夢はちらほら移植してる人が居る(と思う)ので、自分がやるとしたら
別のタイトルを移植したいところですが、それ以降のものには紅魔郷や妖々夢と
上位互換のあるシステムが多く含まれるので、システムの流用はできるかもしれません。

あと、PSPだと再現率が下がりますし、画面も小さくてクオリティーも半減しますので
PCでプレイすることをオススメします。

113ミコ:2010/01/11(月) 13:28:27 ID:wDol9w7E0
初めまして、ここで質問していいのかわかりませんが、
Photo Editorで立ち絵の顔パーツを合成したときのxとyの座標と
ons上で合成させようとしたときの座標が結構ずれているのですが
なぜなのでしょうか?

114七次元 ◆/7th/O83GE:2010/01/11(月) 23:31:18 ID:Ql7kx5jU0
始めまして、七次元です。
Photo Editorは、Microsoft Officeツールに付属のソフトでしょうか。
α値がある画像を貼り付けると、背景が真っ黒になったり色々不具合があるので
自分はあんまり使ってませんが、その座標は正しいものですか?
ONS以外のソフトで正しく合成できるのなら、原因はONS側のスクリプトだと思います。
まず、ONSで立ち絵を合成するときに、lspとlsp2のどちらを使っているか。
また、ONSは画面を縮小させて表示させているか。(元は800x600だが360x270で表示など)

lsp2で表示させているときは、画像の中央座標の指定なので右下にずらす必要があります。
ONSの画面を縮小してる場合は、"縮小前の座標"を指定する必要があります。
スクリプトの先頭に何も書いてないのならば、640x480を基準に。
mode800を使用しているのならば、800x600を基準にした座標になります。

あと、スレ的にゲーム移植のための立ち絵合成だと思いますが、大体は元ファイルや
元スクリプトに座標データが入ってると思うので、それをそのまま使えばちゃんと
合成できるかと思います。

115ミコ:2010/01/12(火) 01:17:03 ID:OClobCtI0
お返事ありがとうございます。
画像を0,45倍したから座標も0,45倍してました。
mode800で座標そのままで問題なかったんですね、どうもご迷惑おかけしました。

116ぼ~る:2010/01/13(水) 00:58:49 ID:ni.umIzo0
初めまして。
七次元様作成のONSには、pmf再生機能がついているとあるコメント欄にて七次元様がおっしゃっているのを拝見しました。
導入してみようかと思うのですが、どのようにtxtを書き変えればよろしいのでしょうか?

117七次元 ◆/7th/O83GE:2010/01/13(水) 02:45:24 ID:/skiwlhs0
どうも始めまして。

えーっと、pmf再生機能は昔公開してた奴に強引な方法で取り付けたものだったので
現在公開してるものにはついてなかったりします…
pmfは普通は一般人には作成できないフォーマットなので、pmpやmp4に対応するのが
良さそうなんですが、まだ手をつけてない状態です。
一応、溜まってる記事が書き終われば調べてみようかと思っていますが、自分に
実装できるかはわかりませんので、本家に期待した方が良いかもしれません。

118ぼ〜る:2010/01/14(木) 21:16:13 ID:IdDkKZYg0
そうですか・・・・
了解しました。^^;

119ヒユ:2010/02/04(木) 15:00:02 ID:.z7bIGnM0
はじめましてv早速ですが、七次元さんに質問があってきました。
七時元さんが(PSP東方のケロちゃん)作成に使われたIED環境は
[C++ 2008 Express Edition]でしょうか?

120ヒユ:2010/02/04(木) 15:07:06 ID:.z7bIGnM0
お騒がせしてすみません(*=д=;>
下の記事に書いてありましたー。

121七次元 ◆/7th/O83GE:2010/02/04(木) 15:50:24 ID:5/1K2pSM0
どうもはじめまして。
IEDじゃなくてIDE環境ですよ^^
と言っても自分はcygwinにpspsdkを突っ込んで、TeraPadでソースを書いたので
IDEは使ってないですね。
一応VC++2008EEでの開発環境も構築してますが、メモリ食うのであんまり
使ってなかったり…
もともとC言語のソースは書かなかったので、TeraPadは標準設定のままで
使い勝手は良くなく、VC++の方が使いやすいとは思うんですけどね。

122ヒユ:2010/02/04(木) 17:25:59 ID:.z7bIGnM0
おっ!TeraPadで出来たんですか〜、いやはや宝の持ち腐れでした。
その作り方に興味があります(=wもう少し詳しくお願いします^^/

123ヒユ:2010/02/04(木) 17:28:53 ID:.z7bIGnM0
IDEでした;

124ヒユ:2010/02/05(金) 11:14:27 ID:MaV3r6KM0
IDEなしでやるとは…、スゴイ!やろうと思えばできるのか〜。
なぜ使用している環境を聞いたかというと、自分の運のせいか古いC++から
[C++ 2008 Express Edition]に環境変えてからビルドおよびデバッグができない!
いわゆるエラーしか出なくなってしまいまして……(*−。−;
それで、七次元さんに別の方法を聞きに来た、と言う訳なんです。

125ヒユ:2010/02/05(金) 15:09:39 ID:MaV3r6KM0
今更だと思う方達もいますが、Cygwinの環境で頑張りたいと思います!
七時元さんお忙しい中、メール返答ありがとうございました〜(*・∀・)/

126NGSW:2010/02/08(月) 20:34:28 ID:bsI0f0eo0
どうもご無沙汰しています。
体調の程はいかがよろしいでしょうか。

今回は、立ち絵の定義などについてお伺いしたいと思います。

定義ブロックで立ち絵を



(サブルーチン名) "ファイル名"
で表示させるには、どういう風に定義で書けばよろしいでしょうか?
出来れば、スプライトは無しで、表示したいです。
そこから、さらにその定義で立ち絵を動かす定義の書き方が
どう書くべきか、悩んでいます。



(サブルーチン名) "ファイル名"
(動かす為のサブルーチン)
上下左右を動かす命令を使いたいところ。

説明不足な質問ですが、体調がいい時で構わないので
ご回答をよろしくお願いします。m(_ _)m

127七次元 ◆/7th/O83GE:2010/02/09(火) 04:48:22 ID:OfWtM9020
>>ヒユさん
TeraPadは標準で付いてるメモ帳が使い物にならないから入れてるだけで
何も設定は変えてないので大して工夫をしてるわけではないです
IDEの方が作りやすいと思いますが、上にも書いた通り元々C言語で
プログラムを組んでなかったので、IDEの使い方が良く分からないですし
C言語も読むだけで書いたことは無いので、PSPでプログラムを組むために
初心者向けサイトで適当にC言語の基礎を覚えました
というわけで、C言語に関しては他の方に聞いたほうが良い返事が
返ってくるかと思います
VC++2008EEでビルドが出来ないのは、PSPSDKのパスが通ってないかもしれません
cygwinでの構築は面倒だった気がしますが、wikiなどの解説通りにやれば
上手くいくと思いますので頑張ってください
あと、メールじゃなくて掲示板のレスです^^;


>>NGSWさん
どうもお久しぶりです。
体調は良いとは言えませんが、休暇中なのでマシにはなってきてます。
相も変わらず他の方のブログなどの巡回は出来てませんが…

さて、立ち絵の定義方法とのことですが、defineの方の定義ではなく
サブルーチンの中身をどうするか、という質問でしょうか?
>定義ブロックで
というのが少々引っかかります。
スプライトは無しで、というのはlsp命令ではなくld命令を使うという
ことでしょうか?
もう少し詳細を書いて貰えると助かります。

ちなみに、上の意味で合っているのであれば、lspを使わないと
立ち絵を動かすことは出来ません。
可能なことは左、中央、右の3箇所のどこかにエフェクトを利用した
スライドイン、スライドアウトぐらいです。

128NGSW:2010/02/09(火) 19:00:01 ID:JZ0Ruul20
七次元さん

レスありがとうございます。
サブルーチンの中身のスクリプトのほうです。説明不足でした…

やはり、ld命令では動かす事は難しいようですね。
いざ、表示してみると、画面サイズより大きい立ち絵だったので、ldでの表示は
諦めました。

そこで、lsp2で表示させてみましたが、

*ld1
getparam $0
lsp2 103 "image\"+$0+".png",400,350,100,100,0
print 1
return

*ld2
getparam $0
lsp2 104 "image\"+$0+".png",200,300,100,100,0
print 1
return

*ld3
getparam $0
lsp2 105 "image\"+$0+".png",600,300,100,100,0
print 1
return

どうやら、キャラにより、画像の高さが違うのでずれてしまいます。

定義的には、レイヤーで表示して、ポーズ定義で座標を移動で表示しているようです。
もう1つ問題が、あります。

スクリプトに書かれているファイル名と立ち絵のファイル名が合いません。

スクリプトに
AB_C12_34Aと書かれている場合、
立ち絵のファイル名には
この場合、C12 と _34Aの間に、a.b.cと昼・夕方・夜用の
画像ファイル名になっております。

どのようなルーチンを組めばよろしいか、ご回答お願いします。
分かりにくい説明で申し訳ないです。

129七次元 ◆/7th/O83GE:2010/02/10(水) 04:32:13 ID:ccqpnrPk0
>いざ、表示してみると、画面サイズより大きい立ち絵だったので、ldでの表示は
>諦めました。
足元を基準にしてるゲームなら、アンダーラインを設定することで一応下にずらすことは可能です。

>どうやら、キャラにより、画像の高さが違うのでずれてしまいます。
おそらく足元を基準にしているので、画像の高さを取得してY座標を計算する必要があります。
これはlspを利用した立ち絵表示スクリプトを参考にしてください。

次に移動方法ですが、スプライトの座標を取得する命令というのが無かったと思いますので
自分で用意した変数で管理する必要があります。
中央から右に、などのようにピクセル単位で移動場所を指定するものでないのであれば
決め打ちでサブルーチンを作っても良いかと思います。
あと、ld1、ld2のように別のサブルーチンにするより、ファイル名と識別番号の2つの引数を
取って、1つのサブルーチンで処理する方が、後で修正した時に誤植する危険性が無くなります。
多少ですが、スクリプトサイズの節約にもなります。

>スクリプトに書かれているファイル名と立ち絵のファイル名が合いません。
>スクリプトにAB_C12_34Aと書かれている場合、
>立ち絵のファイル名にはこの場合、C12 と _34Aの間に、a.b.cと昼・夕方・夜用の
>画像ファイル名になっております。
時間帯やその他のフラグでファイル名を変更すれば良いのではないでしょうか。
おそらく、システムスクリプトにその処理があるので、そっちを見てもらえれば正確
だと思いますが、2つ目の"_"(アンダーバー)か最後の"_"のどちらかで区切ってます。
他の画像もすべて"_"が2つしかないのなら、どちらでも良いです。
"_"の個数が固定の場合は、split命令で楽が出来ます。
split 元ファイル名, "_", $0, $1, $2
mov $画像ファイル名, $0 + "_" + $1 + 時間帯 + "_" + $2
個数が固定で無い場合は、mid命令をループで回すなりしてください。

130NGSW:2010/02/10(水) 21:12:17 ID:BHzrQELI0
大変適切なアドバイス、ありがとうございます。<(_ _)>
解決の方向に向かう事ができると思います。
split命令は、ムービー命令やバックログなどで、主に使用されていました。
とても、参考になりました。ありがとうございました。
体調などにお気をつけて、頑張ってください。応援しています。

131七次元 ◆/7th/O83GE:2010/02/11(木) 04:20:12 ID:ZvpW3KKQ0
今回の内容はPSP関係というより、Nスクが関係してくる内容なので
Nスクの解説や小技、リファレンスが載ってるページを参考にすれば
良いかもしれません。
ONSに実装されて無い命令とか使う場合は色々と面倒ですが…

NGSWさんも移植の方を頑張ってください。
掲示板のレスぐらいなら出来るので、何かあった時はまたどうぞ^^

132今宵の空:2010/02/20(土) 02:19:04 ID:xmQ1fVZY0
お久ぶりです。

体調が悪い時に聞くのはどうかと思ったんですが、教えて下さい。
PSP用のEBOOT.PBPをビルドするのにOGGで音楽を鳴らしたいときに、七次元さんは
どのような関数を使って処理してるんでしょうか?
ライブラリはビルドして用意したんですが、PCでしか使えない気がします。
PSP用だとカーネルとかをインクルードしないとダメだと思うんですが。
いろいろと調べてもよく分からなかったんで、お願いします。

133七次元 ◆/7th/O83GE:2010/02/21(日) 08:06:30 ID:OGI4zxFk0
どうも、お久しぶりです。
最近は、ブログの更新や他サイトの巡回がまともにできてない状態ですが
どうやら11eyesのコンバータも順調に進んでいるようですね。

さて、PSPでOggVorbisを鳴らす方法ですが、これはハードを利用したデコードができません。
FW内蔵のXMBから再生できるものが、ハードでデコードできるフォーマットだと思ってください。
OGGを再生するには、公式のライブラリを使ってソフトでデコードします。
cygwinならばPSP用のライブラリ集を導入し、コンパイル済みのpspsdkをIDEで使用している
ならばそのまま使えるはずです。
Windows用にコンパイルしたライブラリは使えませんが、使い方はWindows用のサイトを
参考にできます。
ONSのソースを覗いてみるのも良いかもしれません。
ブログの方を拝見したところ、DXLPで龍神録のサンプルをコンパイルしてるようですが
CPUに余裕が無いのならば、OGGの使用は推奨できません。
というのも、わざわざデコード用のハードを積むだけあって、ハードとソフトでは
負荷がかなり違います。
そういうわけで、自分が作った弾幕テストではmp3を採用することになりました。
DXLPはまだ試していませんが、VBRのmp3には対応していなかったと思います。
音質とファイルサイズの削減を両立したいなら、AACかatrac3を利用することになります。
個人的にはOGGもサポートしてもらいたかったんですけどねぇ…

PSPのHomebrew開発者が増えるのはうれしいことなので、これからも頑張ってください。
龍神録のサンプルのPSPビルドは、前に変な因縁を付けられたので避けてましたが
やっぱり面白そうですね。
自分も4月までには色々作りたいところ…

134今宵の空:2010/02/21(日) 13:16:39 ID:miQY6cN60
>PSPでOggVorbisを鳴らす方法ですが、これはハードを利用したデコードができません。
なんとなくですが、やはりそうなんですか。ググって調べたときにメモリに読み込んでから
変換させてPCM音源とかで再生させているようでしたのでハード使用があればと思ったんですが。

どうやら、OGGの使用は避けたほうがいいみたいですね。
今はmp3をストリーミングで再生させて見ましたが、めちゃくちゃ遅くなってしまいました。
やはりAACかatrac3で再生させるほうがいいような気がします。
いろいろググって調べて見ます。

>龍神録のサンプルのPSPビルドは、前に変な因縁を付けられたので避けてましたが
確かにそうですね。こちらとしてはC++のこういうソースでこういう動きになるという勉強の
過程のつもりなのですが、メモリ節約とかPCとの違いとかいろいろ学べますし。もともとの
プログラムの出来がいいので試したくなります。
けど一番はやっぱり面白いことですよ。

今回教えていただきありがとうございました。
体調よくなり、復活するのを待ってます。

135七次元 ◆/7th/O83GE:2010/02/21(日) 14:33:02 ID:OGI4zxFk0
BGMを付けたら遅くなるのは、ファイルからのデータ切り出し、PSPでの再生処理が
増えるので仕方の無いことだと思います。
atracはSONYが開発したコーデックなので相性が良いかもしれませんが、弾幕STGでの
負荷では微々たる差でしかないかもしれません。
ストリーミング再生より、すべてメモリに読み込んで再生する方が負荷が減ると思うので
そっちの変更は実行する価値があります。
RAMに関しては、旧型の20MB程度でも十分足りるのでCPUを優先したコーディングが必須です。
龍神録のサンプルは元々PC向けで負荷やメモリの制限はほとんど無く、初心者にも分かりやすい
内容にしてるので、どうしてもそのままPSPに移植すると無駄な処理が多くなりがちになります。
使用する画像もそのまま縮小するのではなく、PSPのグラフィックエンジンに合わせて整えたりと
色々工夫が必要かと思います。

体調が安定しつつあるので、近々更新したいところです。
ちょっと息抜きな内容になりそうですが。

136ミコ:2010/02/21(日) 21:52:35 ID:ov3fCUS20
こんにちは、質問なんですが
ボイスの再生が1ずつ増えていく形で、ボイスの名前が下みたいなのなんですが
OP_オープニング_000
OP_オープニング_001
テキスト中には明記されておらず、
人の名前の時に1増やすって感じなんですが、
色々試してうまくいかず、アドバイスいただけたら嬉しいです。

137七次元 ◆/7th/O83GE:2010/02/21(日) 22:49:15 ID:OGI4zxFk0
自分も前にそういうゲームの移植をしたことがありますね。
ゆずソフトのExEなんかが、そういうやり方でした。
吉里吉里2のゲームならば、同じシステムスクリプトを使用してる可能性があります。
まず、元スクリプト側にどれだけの情報があるかでやりやすさが変わってきます。
名前だけの場合は、各キャラに数字が被らないように番号を設定してください。
数値エイリアスを利用すれば、視覚的にわかりやすいです。
numalias chara1, 0
numalias chara2, 1
シナリオスクリプトを変換するとき、コンバータ側で各キャラに対応するエイリアスに
置き換えてください。
【キャラ1】 → voice chara1
【キャラ2】 → voice chara2
以下のようなvoice命令を作成すればほぼ完成です。
*voice
getparam %0
mov $0, "voice\"
;フォルダ及びファイル名の設定
if %0 == chara1 add $0, "chara1"
if %0 == chara2 add $0, "chara2"
add $0, "_"
add %0, 100;注1
;1〜2桁の場合、0で埋めて3文字に
itoa $1, %%0
len %1, $1
for %1=%1 to 3 step 1
add $0, "0"
next
add $0, ".ogg"
dwave 0, $0
inc %%0
return
注1:ここでは%100以降をボイス用変数として使用。
   キャラの数だけ空けておくこと。
あとは、ボイスの無いキャラの除外や、ゲーム固有の処理などを付け足せば完成です。

138七次元 ◆/7th/O83GE:2010/02/21(日) 22:55:20 ID:OGI4zxFk0
タブだと表示できないから半角スペース使ったけど、半角スペースも
HTMLの仕様で表示されないんだった…
ソース覗いたらちゃんとスペース入ってるんだけどなぁ…
スクリプト部分がちょっと見にくいので、手元でタブを追加して見てください。

139ミコ:2010/02/23(火) 20:51:16 ID:DLPKT.Sk0
アドバイスありがとうございます。
上のスクリプトを参考にしたらうまいこといきました
うまく鳴ったときは感動しました。

140名無しさん:2010/03/12(金) 04:02:44 ID:XlcLikpA0
DSでNスク?(変換済みゲーム)が動くらしいのですが、やらないのですか?

141七次元 ◆/7th/O83GE:2010/03/12(金) 09:53:35 ID:fSLENmH60
DSでNスクを動かしてみたという話は聞きましたが、不完全&メモリ不足みたいなので
DS向けに移植する予定は無いです。
そもそもどこで公開していたのかも分からない…。
DSは確かRAMが4MBしかないので、GBAスロットに突っ込む拡張メモリが無いと
ONSがまともに動かないという話も聞きました。
小さい画面が2つという特殊なハードでもあるので、個別にプログラムを
組むなりしないと、操作性も文字の読みやすさも著しく低下しそうです。

一応、PSP向けとして公開されてるものでも、画像の圧縮比率を変えれば動く可能性は高いですよ。
画像なんかの座標は、エンジン内で画面サイズに合わせて補整される仕組みになってますし。

142今宵の空:2010/03/21(日) 17:55:23 ID:2v8V7uYM0
BGMの件ありがとうございました。
いろいろやって何とか再生させながら雑魚キャラも出てくるようになりました。
ありがとうございます。

それとメール送ったので出来ればお願いします。

143七次元 ◆/7th/O83GE:2010/03/22(月) 14:08:23 ID:fna6.Z8w0
C言語の習得の方も頑張ってくださいね^^

メールを返信しました。

144NGSW:2010/04/14(水) 20:01:52 ID:DnfyxQK.0
また、行き詰ったので
度々申し訳ありませんが
質問をさせていただきます

ボイス,キャラ名スプライト,「シナリオテキスト」
の場合は
voice "":lsp "":「テキスト」で
組むしかないのでしょうか?
それと、

立ち絵ファイルが

「キャラ判別,服装判別,全身判別,時間判別,ポーズ番号」で
構成されていた場合。

どのようにルーチンを組めばよろしいでしょうか?
ルーチンに漢字とかは使えないのが悩みの種です。

スクリプトはキャラ名,ポーズ番号,場所or全身判別
で書かれております。

splitで組むべきでしょうが、
連結がうまくいきそうにありません。

お時間があれば、ご教示いただけると
大変ありがたく思います。

145Flandre.R:2010/04/18(日) 17:16:34 ID:9bCmOGWg0
ちょっと聞きたいのですが、PSPに
東方移植するのに言語はどれがいいとかありますか?

146コンバート済み:コンバート済み
コンバート済み

147七次元 ◆/7th/O83GE:2010/04/22(木) 22:59:30 ID:WdhbcpY20
大分返事が遅くなってしまいましたが…

>>144 NGSWさん
>ボイス,キャラ名スプライト,「シナリオテキスト」
>の場合は
>voice "":lsp "":「テキスト」で
>組むしかないのでしょうか?
マルチステートメントでテキストの表示が出来たかどうかの記憶はあやふやですが、それらの要素が
かならずセットで記述されているなら、サブルーチンにして1つの命令にすれば良いかと思います。

>立ち絵ファイルが
>「キャラ判別,服装判別,全身判別,時間判別,ポーズ番号」で
>構成されていた場合。
>スクリプトはキャラ名,ポーズ番号,場所or全身判別
>で書かれております。
ちょっと内容が分かり辛いです。
スクリプトの内容からファイル名が割り出せるのなら、コンバート時に直接ファイル名を
指定してやれば良いかと思います。
番号での指定ならば、NS側でテーブルを用意してやっても良いかと思います。


>>145
言語はどれと言われましても、当方ではCやC++以外の言語でPSP用のプログラムを生成できるかわかりません。
普通にCかC++で作成すれば良いのではないでしょうか?
すべてアセンブラでガリガリ書くというのならそれでも良いですが…
ちなみに、Cは私の専門分野ではないですし、東方の移植に関してもあまり関わってません。

148NGSW:2010/04/24(土) 00:58:09 ID:CcjTY6B60
七次元さん

お忙しい中、アドバイスしていただきありがとうございます。

説明不足でした。すみません
各テキストの最初の部分でキャラの立ち絵の服装が判別されて
その後、立ち絵命令+キャラ名+番号がスクリプトに書かれています。
立ち絵のバストアップか座標が変更ある時に付加されている形ですね。
昼用夜用などは定義のほうで判別されています。
そこで、ルーチン的にはどのように書いたらいいか困っております。


getparam $0
getparam $1
getparam $2
add $0,$1,$2
という形で書けばいいのでしょうか?
常々、お手数をお掛けして申し訳ないです。

149NGSW:2010/04/24(土) 13:44:04 ID:dJpj8BTg0
いろいろ錯誤して組み込みました。

*chara
getparam $0
gosub *cnem
gosub *cnem2
lsp2 200 "image\"+$1+".png",400,300,100,100,
print 1
return

*cnem
mov $1,""
if $0 >= "キャラ名" :mov $1,"キャラ判別名_"
return

と、ここまではよかったのですが、
やはり立ち絵の高さが違います。
underlineを定義しても、スプライトには反映されません。
ld命令でやるしかないのでしょうか?
ld命令の場合ルーチンにどうように記述すれば、

lc=270
rc=530
l=145
c=400
r=625
と、x座標を示す事ができるでしょうか?
何度も質問してしまい、誠に申し訳ないです。

150NGSW:2010/04/24(土) 22:54:33 ID:hnEtXjIQ0
度々申し訳ないです。

いろいろと錯誤して、立ち絵ルーチンを組んでみました。
サンプルスクリプトテキストをメールにて、送信しておりますので
お時間があれば、ご確認いただきたい。
お手数ばかりかけてすみません。

151NGSW:2010/04/29(木) 00:12:48 ID:8WsGnL420
部分修正を致しまして、立ち絵は表示できるようになりました。
また問題が発生しました。

キャラ名で判別させているのですが、
カタカナの名前のキャラは問題ありませんが
2バイト文字こと漢字の名のキャラだけ、表示されません。
質問ばかりで申し訳ありません。

152NGSW:2010/04/29(木) 15:47:14 ID:8WsGnL420
重ね重ね、レスを浪費してしまったことをここにお詫び申し上げます。

立ち絵の方は、自力でなんとかします。
ありがとうございました。

153phantom:2010/05/01(土) 17:57:26 ID:sZPHywpM0
初めまして、PSP移植に関して初心者なのですが
PSPにPCゲームを移植する時に、コンバーターなどを使わないで
1.txtや0.txtを作るにはどうすればいいのでしょうか?
必要なソフトなどがあれば教えてください。お願いします。

154七次元 ◆/7th/O83GE:2010/05/02(日) 00:51:48 ID:nAo8WjPA0
>>NGSWさん
返事が遅れてしまってすみません。
この連休中に何とか対応できそうなのでもう少し待ってください。
できれば現在の状況をまとめてもらえると対応しやすいです。


>>153 phantomさん
どうも、はじめまして。

>コンバーターなどを使わないで
というのがプログラミング言語を使用しないという意味だとすると
少々難しくなってきます。
PCゲームのシナリオデータがテキスト形式の場合は、テキストエディタの
置換機能とかでなんとかNS形式にできたりしますが、バイナリ形式(テキスト
エディタで開けない形式)だと、プログラミング言語が使えないとかなり厳しいです。
テキスト形式でも、バイナリ形式でもテキストエディタやバイナリデータに対応した
編集ツールでNS形式にすることは不可能ではないですが、かなり非効率なので
HSP、Perl、C、VBなどの言語を使うのが簡単であり、楽である方法かと思います。

155phantom:2010/05/02(日) 11:55:42 ID:3eSdDdRc0
お答えいただきありがとうございます。
時間をかけて、やっていきたいとおもってるのでがんばってみます。
後、シナリオデータがテキスト形式なのですが、変な暗号みたいな文字
(多分プログラミング言語ではないと思うんですが)も1.txtや0.txtを
作成するときに必要なのですか?
多分必要ないとは思うのですが一応確認のために教えてください。
書いてることが変でしたらすいません。

156七次元 ◆/7th/O83GE:2010/05/05(水) 21:57:24 ID:xWTBxTrw0
>後、シナリオデータがテキスト形式なのですが、変な暗号みたいな文字
>(多分プログラミング言語ではないと思うんですが)も1.txtや0.txtを
>作成するときに必要なのですか?
実際に見てみないと必要か不要かは分かりません。
スクリプトファイルにプログラミング言語が混ざることは無いと思いますが
コメントデータ以外は大体必要なものだと思います。
そもそも暗号みたいな文字が入ってるというのが怪しいですが、それは本当に
テキスト形式ですか?


連休中に対応できそうとか言っておいて時間が取れないorz

157NGSW:2010/05/09(日) 02:22:06 ID:gzlY09NM0
七次元さん

ありがとうございます。
現在の状況等は、

立ち絵の表示は暫定ですが解決できたと思います。

時間帯取得と服装判定もそこそこ対応?
とはいえ、gdgdなスクリプトですので、
メールにて送信しました。
お時間がある時で構わないので、何か間違いがあれば
教示してもらえたら幸いです。

158NGSW:2010/05/20(木) 00:07:11 ID:2pOST2sc0
ご返答ありがとうございました。

書いた自分ですらよく分からないスクリプトで
誠に申しわけないです。
サンプル的なスクリプトをメールにて送信しましたので
一度ご確認ください。度々お邪魔してすみません。

159NGSW:2010/06/08(火) 22:55:46 ID:NTOiSxCU0
お忙しい中、メールを送ってしまい、ご迷惑をお掛けしました。
自分で解決しないと為にならないので、自分で解決できるよう努力します。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板