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

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

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

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の件ありがとうございました。
いろいろやって何とか再生させながら雑魚キャラも出てくるようになりました。
ありがとうございます。

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


新着レスの表示


名前: E-mail(省略可)

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

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

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

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