戦極姫改造スレat GAMEURAWAZA
戦極姫改造スレ - 暇つぶし2ch1:名無しさん@お腹いっぱい。
08/11/21 19:51:04 P2o+5l+J
改造すればまだまだ化ける点も多いはず

2:名無しさん@お腹いっぱい。
08/11/21 19:55:45 C4Cbu6iO
まずは、メーカーの修正をまつのも手だがな。

3:名無しさん@お腹いっぱい。
08/11/21 20:04:31 ZTwhpK8u
自分でちとするの初めてだから試行錯誤中・・・

4:名無しさん@お腹いっぱい。
08/11/21 20:22:41 ZTwhpK8u
ちょこっとだけお気に入り武将をいじりたい人用

スペシャルねこまんま57号をダウンロード

1.戦国姫を起動してゲームをはじめる(当然セーブデータをバックアップして
メインデータではやらない)
1.プロセスで<インストールパス>\sengokuhime.exeを指定
2.左下のメモリ検索を押す
3.通常検索 文字で適当に苗字入れる
4.右下の検索結果から一番上の行を開いてみる

例:直江 兼続
005D84F1 [95D09171 20208C69 8D6A2000 00000000] 片倉 景綱 ・・・・・
005D8501 [19070A0F 20320AFF 01010000 00010010] ・・・・ 2・・・・・・・・・・
(ベースアドレス005E938D部分は実行毎に変動)
1行目は名前なのでいじると変な名前になる

5.名前の次の行のアドレス(上の例だと005D8501)を下の左ボックスにコピペして確認ボタンを押す
6.2行目の4-5行目の07が統率 (0Aにすると10 0Fにすると15 10にすると16)
7.任意に変更して更新ボタンを押す

同様に6-7行目の0Aは知略 0Fは忠誠 2項目の20が俸禄(16進なので20だと32)
兼続は一門の特殊武将なので

5:名無しさん@お腹いっぱい。
08/11/21 20:23:52 ZTwhpK8u
一番したの行は無視しておくれやす

6:名無しさん@お腹いっぱい。
08/11/21 20:26:08 ZTwhpK8u
例が兼ちゃんになってるけど景ちゃんね

7:名無しさん@お腹いっぱい。
08/11/21 20:35:58 SwS/looz
005E6FE9 [00000000 00000000 00FFFF65 00FFFF20] ・・・・・・・・・・・e・・・
005E6FF9 [8CD58D6A 20208F74 93FA2000 00000000] 虎綱  春日 ・・・・・
005E7009 [190F0F00 010F0FFF 14FF0000 0102000C] ・・・・・・・・・・・・・・・・
005E7019 [000C0001 00000000 00000000 00000000]
☆補足
1行目6500は恐らく「所属」、ここだけ変えると城情報がおかしいとエラーが出る、キャラによってその後のFFFFが6600とかになったりするが詳しくは不明
ちなみに現在地情報はもうちょい後ろの方
3行目初めの19は変更すると毎ターンの獲得CPが増えたりする、信長でしかチェックしてないので嘘かもしれない
3行目最後の0Cはキャラクターの顔グラフィック、4行目最初らへんのOCは恐らく声
汎用武将は顔と声に入力されてる数値が一致しないが顔キャラはたいてい同じ(全部はチェックしてない)
キャラリストは57のあたご辺りまで確認したが所々抜けがあってエラー出るので注意 もっと後ろまで行くとキクゴローで埋められている

8:名無しさん@お腹いっぱい。
08/11/21 20:41:09 ZTwhpK8u
>>7
キクゴローで日本を埋め尽くす!

9:名無しさん@お腹いっぱい。
08/11/21 20:46:52 SwS/looz
あ、言うの忘れてたけど
例に出した7のアドレスに他キャラの情報上書きしても「女に会う」リストには追加されないぜ
たぶんまた別のところにあるんだろう

10:名無しさん@お腹いっぱい。
08/11/21 21:00:33 P2o+5l+J
戦中で降伏判定出せるのがあれば最高なんだがな…

11:名無しさん@お腹いっぱい。
08/11/21 23:45:16 +Ll/xvEP
主人公の智謀チートして20にして内政したら癌癌石高伸びる 諸葛孔明みたいになった

12:名無しさん@お腹いっぱい。
08/11/22 09:48:39 tE0DkUhV
僕のSSG:

URLリンク(gaming.wikia.com)

13:名無しさん@お腹いっぱい。
08/11/22 13:17:51 m2xspCRb
忠誠-武将は仲間にできないみたいだからカスと入れ替えて
気分だけ満喫するか・・・

イベントとHはないけど

14:名無しさん@お腹いっぱい。
08/11/22 16:53:00 V5y/ofVh
このスレに本当に必要な改造は数値でもフラグでもなく画像差し替えな気がしてきた

15:名無しさん@お腹いっぱい。
08/11/22 18:08:49 Mi9tpEmw
>>12
そのSSG、SpoilerALが固まるな。
威光は猫缶とこのやつに移植できたが他がわかんね…。
Castle statsが有用そうなんだが。

16:名無しさん@お腹いっぱい。
08/11/22 18:10:18 m2xspCRb
>>15
サーチに時間かかってるだけ
しばらく待つと起動するよ

17:名無しさん@お腹いっぱい。
08/11/22 18:35:34 Mi9tpEmw
>>16
なんだ、そうだったのか。了解w

18:名無しさん@お腹いっぱい。
08/11/22 19:52:10 t1ikqJxP
つか過去の方のssgとsslわけてあるタイプのほうが起動早くて使いやすい

19:名無しさん@お腹いっぱい。
08/11/23 21:39:45 p3c11Hcb
画像差し替えまだーちんちん

20:名無しさん@お腹いっぱい。
08/11/23 22:30:10 F/QmIDeB
ソフマップ特典CDで武将追加できたぐらいだからどこかを弄れば画像はなんとかなるんだろうな
柿崎がモブなのが気に食わない

21:名無しさん@お腹いっぱい。
08/11/23 23:48:02 rdYcrwor
そもそも画像指定とかいい加減じゃないのか?
あの形式にする方法が分かればそのまま差し替えただけでいけそうな希ガス

22:名無しさん@お腹いっぱい。
08/11/24 01:50:24 qJFe4g7R
>>12
SSG使い方教えてください
SSGファイルじゃにいの?

23:名無しさん@お腹いっぱい。
08/11/24 01:53:16 zRiSH8Jw
メモ帳にはりつけて戦極姫.ssgとかで保存汁

24:名無しさん@お腹いっぱい。
08/11/24 02:07:28 gXCMJcU7
上のssgでキャラ別ステータスのところ。
忠誠とかの下のほうにある?と表示されてるあたりは、
どうやら引き抜き可能かどうかの判定フラグが混ざってるようだ
とりあえず全部0にしたら武田の武将が引き抜けるように。
その後元に戻すと忠誠や金が--になって重要武将扱いに。

25:名無しさん@お腹いっぱい。
08/11/24 03:09:07 zRiSH8Jw
>>24
なん・・・だと・・・・


猫缶で調べてみたけど
005D84F1 [95D09171 20208C69 8D6A2000 00000000] 片倉 景綱 ・・・・・
005D8501 [19070A0F 20320AFF 01010000 00010010] ・・・・ 2・・・・・・・・・・

005E6FF9 [8CD58D6A 20208F74 93FA2000 00000000] 虎綱 春日 ・・・・・
005E7009 [190F0F00 010F0FFF 14FF0000 0102000C] ・・・・・・・・・・・・・・・・

右下のところがそれっぽい
春日の0102を0001に変えたら引き抜き可能になった(会いに行くも可能)
逆に景綱を0102に変えたら重要武将になった

26:名無しさん@お腹いっぱい。
08/11/24 03:13:17 zRiSH8Jw
0102を0002にすると引き抜き可能→引き抜き後通常武将だった
右下ブロックの00か01が重要武将フラグ

27:名無しさん@お腹いっぱい。
08/11/24 03:29:04 zRiSH8Jw
続く02の部分は女に会う関連のフラグっぽい
男キャラは00になってるから春日を00に変えたら会いに行くリストから消えた
01ないし02ならリストに出る

01と02の差異は不明
重要女武将は0102
通常顔あり女キャラは0001が基本になってる模様

重要武将引き抜き時は0002で抜いた後0102へ
一般顔キャラを重要武将にする時は0101が無難かなと・・・

28:名無しさん@お腹いっぱい。
08/11/24 03:31:32 zRiSH8Jw
>>27はようするに触る必要なし・・・と
石田二成と会えない!とかの時は確認してみるといいかも

29:名無しさん@お腹いっぱい。
08/11/24 03:54:09 zRiSH8Jw
>>12のSSGの[group]dynamic captains[/group]の
[subject]済の下の行に下記を追加するとOKかな

[subject]重要武将 VIP:toggle, _(MName::sengokuhime.exe)+0x1D70FE+0x1D + 0x8A * [:[.0x[! $Val !].]:2], 01,00


一応動作は確認したけどSSG全くわからないから間違ってたら指摘お願いします

30:名無しさん@お腹いっぱい。
08/11/24 06:21:49 zRiSH8Jw
んー・・・会えるけどHイベントが起きない?

31:名無しさん@お腹いっぱい。
08/11/24 06:25:30 nTzREtE1
え、まさか謙信シナリオで信玄引き抜けたりするわけかい?

32:名無しさん@お腹いっぱい。
08/11/24 06:45:14 zRiSH8Jw
>>31
今やってみたけど信玄引き抜けたよ
このあとどうなるかは知らん

33:名無しさん@お腹いっぱい。
08/11/24 09:32:19 gLLozv+E
すいません教えてください。
まだ改造のこと何も知らないんですけど、どうやったらゲームを改造できるのでしょうか?
なにか改造ツールみたいなのがあるのでしょうか?もしよろしければそこのサイトを教えてもらってもいいでしょうか?


34:名無しさん@お腹いっぱい。
08/11/24 09:37:00 T/k94Tkt
やっぱこのサイトが一番だな
URLリンク(www.google.co.jp)

35:名無しさん@お腹いっぱい。
08/11/24 09:38:32 vAoQdzuK
>>34
全てはそこからだしな

36:名無しさん@お腹いっぱい。
08/11/24 09:39:59 zRiSH8Jw
>>33
URLリンク(wcs.main.jp)
URLリンク(wcs.main.jp)

37:名無しさん@お腹いっぱい。
08/11/24 10:16:18 y69N0SsV
将軍ちゃんと細川×2はいつ武将として登場するの?
管領職イベントはフラグたてたけど資金も半分にならないし一向に出現しない

38:37
08/11/24 10:17:16 y69N0SsV
本スレと間違えました誤爆です

39:名無しさん@お腹いっぱい。
08/11/24 13:14:19 gXCMJcU7
初期選択可能勢力の重要女武将はイベントのフラグの問題上
引き抜いて会うことはできるがイベントは起きないと思われる。
そこまでフラグいじれたら完璧だが、まだ格納場所がみつからないわ

40:名無しさん@お腹いっぱい。
08/11/24 13:19:00 T/k94Tkt
ねこかんの中のコメに入ってたが↓参考にならね?

島津家イベント 0x78E29C-00 1回目前 歳久
0x78E2A0-00 2回目前 歳久・義久
0x78E2A4-00 3回目前 家久
0x78E2A8-00 4回目前 家久・歳久
0x78E2AC-00 5回目前 義弘
0x78E2B0-00 6回目前 歳久
0x78E2B4-00 7回目前 義久
0x78E2B8-00 8回目前 全員

武田家イベント
雪村 0x78E2D0-00 1回目前(雪村)
0x78E2D4-00 2回目前(雪村)
0x78E2D8-00 3回目前(雪村)
0x78E2DC-00 4回目前(雪村)
0x78E2E0-00 5回目前(雪村)
0x78E2E4-00 6回目前(雪村)
信玄 0x78E2BC-00 1回目前(信玄)

41:名無しさん@お腹いっぱい。
08/11/24 13:30:20 gXCMJcU7
>>40
その辺が格納場所か
とはいえそれは多分イベントのフラグだけだから
他家の重要イベントを自家でおこさせたいときは細工が必要な予感がするな
まぁもうちょい調べてみるわ

42:名無しさん@お腹いっぱい。
08/11/24 16:46:15 nTzREtE1
>>32
まじかw
改造不慣れだけどちょっと頑張ってみよう・・・

43:名無しさん@お腹いっぱい。
08/11/24 18:01:04 +gJs14cq
すると信玄と謙信が仲良くだべってるCGが・・・・

44:名無しさん@お腹いっぱい。
08/11/24 18:47:02 etS2Cb/E
俺としてはCGの差し替えとかしてみたい。

45:名無しさん@お腹いっぱい。
08/11/24 23:43:01 8ilhj+Rj
wikiにかかれてたので、wikiでこちらに誘導させることにする。
あと、wikiにかかれてた情報もこちらに貼付

時間が無い人orSLGにあまり興味ないorさくっとイベントだけみたい人向け



※将情報
例)「片倉 景綱」で検索



005D84F1 [95D09171 20208C69 8D6A2000 00000000] 片倉 景綱 ・・・・・
005D8501 [19070A0F 20320AFF 01010000 00010010] ・・・・ 2・・・・・・・・・・



2行目の4-5つめの「07」が、統率。
2行目の6-7つめの「0A」が、智謀。
2行目の8-9つめの「0F」が、忠誠。
2行目の10-11つめの「20」が、俸禄。
2行目の12-13つめの「32」が、兵力。
2行目の14-15つめの「0A」が、鉄砲。

46:名無しさん@お腹いっぱい。
08/11/24 23:43:43 8ilhj+Rj
※ 君主情報

例)「上杉」で検索

0061DBF4 [8FE39099 00000000 00002302 0310FFFF] 上杉・・・・・・#・・・・・
0061DC04 [FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF] ・・・・・・・・・・・・・・・・
0061DC14 [FFFFFFFF FFFFFFFF FFFFFFFF FFFFA929] ・・・・・・・・・・・・・・ゥ)
0061DC24 [D6048146 23021702 1B021C02 1D022002] ヨ・:#・・・・・・・・・ ・

1行目の「0310FFFF」の「10」が、威光。
4行目の「8106」が、軍資金。
「81」が下2桁、「06」が上2桁になる。16進表記。
(8106→0681ということで、「1665」。これを8146とかきかえると
 4681の意味で、「18049」と大金に増える)

47:名無しさん@お腹いっぱい。
08/11/24 23:44:20 8ilhj+Rj
※ 城情報

例)「春日山」で検索

006444D8 [8F7493FA 8E520000 A200A400 A500FFFF] 春日山・・「・、・・・・・
006444E8 [FFFF1519 1717FFFF FFFFFFFF FFFFFFFF] ・・・・・・・・・・・・・・・・
006444F8 [FFFFFFFF FFFFFFFF FFFFFFFF FFFF0000] ・・・・・・・・・・・・・・・・
00644508 [00000018 00000000 2096A58A A5000000] ・・・・・・・・ 箕冠・・・
00644518 [A3008C00 8D00FFFF FFFF0A0F 17171703] 」・硯婚・・・・・・・・・・
00644528 [FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF]

2行目の「1519」の「15」が現在の城強度、右の「19」が最大城強度。
(ちなみに3行目「箕冠」の後ろにある「0A0F」も同じで、城強度が
 「10(最大値:15)」を意味する)


48:名無しさん@お腹いっぱい。
08/11/24 23:57:29 gXCMJcU7
このスレにいるやつならバイナリエディタでの解析ぐらいはしてるだろう
今のSSGは完成度が低いからバイナリで書き換えたほうがはやいしな

49:12
08/11/25 04:56:16 qfqluN0T
> 29
ありがとうございます!

50:名無しさん@お腹いっぱい。
08/11/25 09:01:48 BWGIK7LW
>>44
基本画像はpng。音声はogg。
WESTSIDEの釣りカノツールが変換対応。

つまり逆に考えると、pngをいかにtigにするかさえわかればパック化してない
ので、ファイル単位での差し替えができるというわけだ。

51:名無しさん@お腹いっぱい。
08/11/25 18:41:51 EvQKCmGs
>>50
44ですが、それが問題だ。
tig化できてイベントエディタでもあればかなり面白そうだが・・・・・・
というより俺が嬉しい!


52:名無しさん@お腹いっぱい。
08/11/25 19:10:13 BWGIK7LW
>>51
イベントエディタなあ。
イベントの追加等はフラグ管理、イベント発生条件フラグとか
データの紐付けとか相当ややこしいからまず無理だと思うぞ。

既存イベントの文章を変えるのはできなくもないが・・・。

dataファイルの中に「D00」などのフォルダの中に「game.dat」がある。
その文章の文言を若干だけ変えてみるというのはできなくもない。
(後、音声の紐付けの定義もされてる模様)


53:名無しさん@お腹いっぱい。
08/11/25 19:12:46 BWGIK7LW
※ 国情報

0063F6B9 [8D6294E3 00000015 640A0294 00F500A9] 甲斐・・・・d・・櫨ゥ
0063F6C9 [03DC0587 008B000C 0E16150B FFFFFF3B] ・ワ・・凶・・・・・・・・;
0063F6D9 [03FF0200 01000000 00000000 00966B90]

=収入=
1行目の「1564」の後ろ「0A02」が収入。例のだと「20A」で「522」
となる。

=石高=
1行目の収入の値の後ろの「9400」が国高。例のだと「090」で、
10進して10を割る。すると「14.4」で小数点切捨てで、14となる。
その次の「F500」はその国の石高最高値(10分の1する)
よって、甲斐は24万石は最高である。国の石高を変えても、大名の累計石高は変わらないので注意。

=街規模=
1行目の「A9」、2行目の「03」を10進にして10割あった値
例の「03A9」だと「93.7」で小数点切捨てで、93となる。

=住民感情=
2行目の末尾「3B」の値。59となる。

※ 大名情報[追加]

0061D75C [95909363 00000000 0000CA01 020BFFFF] 武田・・・・・・ハ・・・・・
0061D76C [FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF] ・・・・・・・・・・・・・・・・
0061D77C [FFFFFFFF FFFFFFFF FFFFFFFF FFFF7B03]

3行目の後ろ「7B03」が石高累計。Ending条件到達した後、ささっと
Endingみたい場合は、1行目の「0B」(威光)と石高累計をいじって、
後は「京都制圧状態」をどうにかできれば・・・

54:名無しさん@お腹いっぱい。
08/11/26 06:25:11 KkLK0hXN
そういえば上にはかかれてないけどリルフィニアだけは若干異なるな

55:12
08/11/26 06:29:39 MVvTee07
日本語上手くないすみません

>>12 のSSG更新しました

ハーレム menu 追加
It is most obviously useful with examples such as もがみん & 家康
(条件はただ会うのこと)

It's also useful to check if a character is completely ignoring you
(relationship not improve after you meet them). Example: most of the
"important" girls ignore you until you get through the intro
(completely conquer the first province), so their relationship stay
at -1 no matter how much you talk to them in the beginning part.

The 島津 events are completely conquest-status-driven, so their
affection never go up (nor is it useful).

For some reason some of the captains whose events are triggered
randomly (or have unmet prerequisites) also have affection statuses.
*Maybe* they have a minimum affection requirement too before the
random or trigger gets counted, and after you met the min affection
(could be as low as 0, since they start at -1) it becomes useless
though keeps going up regardless.

56:12
08/11/26 06:38:35 MVvTee07
Wikia の CSS は問題あるからこちのリンク使用ください

URLリンク(gaming.wikia.com)

57:名無しさん@お腹いっぱい。
08/11/26 06:52:16 L/h47IyN
待った
外国の人なのかよw
わざわざSSG作ってもらってありがたいんだがsslと分けてでも起動が早いほうがいいな

58:12
08/11/26 07:17:06 MVvTee07
>> 57

SSG中にいらないのアイテムを"/"で comment してください
たくさんのゲームデータだから起動が遅いです T_T

そして僕はSpoilerALの初心者だからいろいろのことがまだわかりません >_<"

59:名無しさん@お腹いっぱい。
08/11/26 07:22:13 Bg33Nocb
キラッ☆

60:名無しさん@お腹いっぱい。
08/11/26 17:11:20 uUspBkCY
>>58
tnx使わせてもらうぜ!

61:名無しさん@お腹いっぱい。
08/11/27 14:02:51 8m70OOYj
武将の顔絵によさそうな絵がなかなか見つからない。どこかいい所ない?
版権物だけどこれ使って作ってみるか?女武将は必須だよな。
URLリンク(sapporo.cool.ne.jp)

62:名無しさん@お腹いっぱい。
08/11/27 14:27:07 dmxTk8Wo
>>61
バオー来訪者ふいた

63:名無しさん@お腹いっぱい。
08/11/27 17:20:10 2Tm5c7Nf
>>61
自分で実行するまでは何使ってもいんじゃね?
やり方を教えるときとか配布するときには版権フリーの画像をお使いくださいって注意書きすれば

64:名無しさん@お腹いっぱい。
08/11/27 22:23:16 iermwVcD
既存の女武将のキャラ名変更した場合
会う時にエラーで落ちるのを何とかしようといじってたんだが、
mainフォルダの中のmain.sdってファイルを開いて、その中のそれらしい名前を書き換えたら、その武将にちゃんと会えたよ。

書き換えはバイナリエディタで同じ文字数の名前に変更。
メモ帳とかで開いて文字の置き換えしたらファイルのサイズが変わって落ちた。

このファイル、イベントの会話が入ってるので名前の部分全部変えて、CGも変えられたら完全に別人に出来そうだ。
「会う」以外に影響があるかどうかはわからんが。一応報告

65:名無しさん@お腹いっぱい。
08/11/27 22:37:45 qN0imWIl
リペアウェーブはじめてみたwww 
かなり打ち込んでるのにこれだけみたときなかったww

66:名無しさん@お腹いっぱい。
08/11/27 23:18:38 TZX8vocI
改造に初挑戦しようとしてみたんだが
説明とかむずくて改造できなぃ・・・。(-_-;)

67:名無しさん@お腹いっぱい。
08/11/28 01:29:35 JNVKMDg+
SpoilerALでぐぐって
その後、戦極姫 SSG でぐぐれば
ちゃんと説明読めば何もわからない人でもできるよ

68:名無しさん@お腹いっぱい。
08/11/28 01:55:16 3mSM5ZT7
拡張子変えるぐらいしか知識ない俺でも導入出来たし

69:名無しさん@お腹いっぱい。
08/11/28 14:42:15 JNVKMDg+
エ作の>>417
ある種、自己満でいいならSSGで忠誠99固定とかで良いんじゃないかな
--はあるかもしれないけど


70:名無しさん@お腹いっぱい。
08/11/28 14:48:21 JNVKMDg+
引き抜き不可にしたら--だったわ

71:名無しさん@お腹いっぱい。
08/11/28 15:26:45 /vld2MMO
>>70
スイッチ1が大名家の親族世継ぎ
スイッチ2が門徒とか特定の一揆勢

0102ってよくわからんが

72:名無しさん@お腹いっぱい。
08/11/28 22:19:28 3mSM5ZT7
越後の石高を改造して上げたら狂国相手に謙信引きこもりプレー出来るかな?

73:名無しさん@お腹いっぱい。
08/11/29 13:11:08 rIIox4lO
>>72
一国の石高上限は99万石くらいかな?
兵5000の部隊を2つか3つは編成できるだろうが。

74:名無しさん@お腹いっぱい。
08/11/30 12:40:46 jBRv9RVc
陶貴房とか大名だけど重要武将に入って無いやつSSGじゃ降伏させられないのか…

75:名無しさん@お腹いっぱい。
08/11/30 12:57:12 mWET/CQm
>>74
大名は重要武将フラグたってるだけだからはずせば
引き抜けるし(むしろ忠誠がないからほぼ確実)次のターンには
死亡したのと同じ扱いで他の奴が引き継ぐ

76:名無しさん@お腹いっぱい。
08/11/30 12:58:40 jBRv9RVc
>>75

適当に弄ってみるか

77:名無しさん@お腹いっぱい。
08/11/30 18:49:33 ibFJvopI
シナリオモード上杉家で始めてメモリ弄って当主をもがみんに変更したら

謙信様リンカーンシーンが出てきて後味の悪さを覚えた

78:名無しさん@お腹いっぱい。
08/12/01 23:23:39 bYdBcaS1
あっちの>>494
名前が長い場合場所がずれてる場合があるかも
メモリ検索かけて0102の場所を0002にしる

79:名無しさん@お腹いっぱい。
08/12/02 00:30:50 hs4iSZhV
ほー。ありがトン
確かにおかしな感じだったっけ

80:名無しさん@お腹いっぱい。
08/12/02 01:25:13 hs4iSZhV
ちょい調べたが、猫バージョンは強引過ぎて誤爆OKという感じらしいな
別の人バージョンだと軽くなったのはいいが、他の武将引っこ抜きができないなど
一長一短だね

81:名無しさん@お腹いっぱい。
08/12/02 02:08:43 4qWpLk3a
>>77
武田プレイで、光秀で同じことになった…
朝倉は早めに滅ぼそう

82:名無しさん@お腹いっぱい。
08/12/02 12:39:08 A43h4JLe
一部シナリオを書き換えようかとおもったんだけど
これ、どのファイルにシナリオ突っ込んであるんだ?

83:名無しさん@お腹いっぱい。
08/12/02 15:00:13 H41RzEz9
>>82
ちょっと見てみたけど、main/main.sd じゃないかな~?
最後のあたりに兼続&正宗の漫才が入ってるぐらいしか確認してないけどー。



84:名無しさん@お腹いっぱい。
08/12/02 16:08:48 H41RzEz9
試しにちょっとやってみたけどできたよー。

URLリンク(apple.mokuren.ne.jp)

85:名無しさん@お腹いっぱい。
08/12/02 17:17:24 JATop9TI
>>84
とうとう神来たか

86:名無しさん@お腹いっぱい。
08/12/02 22:54:06 lnKbidac
>>84
マジスゲー

クレクレ君で何だが、誰か顔倉弄る猛者が現れないかなと 何気に書きこんだらサンタさんが

87:名無しさん@お腹いっぱい。
08/12/02 22:55:50 lnKbidac
シナリオライターはアホだから誤字が多いよね~

書き換え出来るかな?

88:名無しさん@お腹いっぱい。
08/12/02 23:17:49 H41RzEz9
シナリオ書き換えるヤツ作ってみた。
びっくりするぐらい使い辛いけど(;´∀`)
URLリンク(apple.mokuren.ne.jp)

89:名無しさん@お腹いっぱい。
08/12/03 00:17:09 vlNjqRMv
>>88
ほんとにびっくりするぐらい使いづらかったけどありがとう!
これ、もとの仕様が糞なんかな

90:名無しさん@お腹いっぱい。
08/12/03 00:31:17 eHTcivM5
>>89
んにゃー。データの仕様全然知らないから…w
文字列の近くに長さデータとか入ってないかなーと思ったんだけどねー。
ちょっとバイナリとにらめっこしたぐらいじゃワカランかったー。

とりあえずmain.sd開いたの今日がはじめてなんでカンベンしてくれ(゚∀゚)
(あぁ、もう昨日か…。

91:名無しさん@お腹いっぱい。
08/12/03 03:28:30 eHTcivM5
ちびっと解析したのでシナリオ書き換え改良版
URLリンク(apple.mokuren.ne.jp)

文章の前の1byte(ひょっとしたら2byteかも?)に文章の行数が入ってて、
その行数分だけ1行づつ読み込む仕様みたい。

イロイロ相変わらずだけどもう眠くてよーワカラン(;´∀`)

92:名無しさん@お腹いっぱい。
08/12/03 10:39:53 lv+b2g1Y
>>91
素晴らしい。感動した!


pngをtigにする方法がわかんない。
変換前・後のファイル見比べてみたが俺の足りない頭では理解不能だ
URLリンク(asmodean.reverse.net)
ここにtig→pngはあるので伊勢におわす天照大神様お願いします。

93:名無しさん@お腹いっぱい。
08/12/03 12:58:11 eHTcivM5
>>92
ナイス!tig化できたっぽい(゚∀゚)!
ちょっと待ってろ………

94:名無しさん@お腹いっぱい。
08/12/03 13:56:15 eHTcivM5
png->tig変換(゚∀゚)
URLリンク(apple.mokuren.ne.jp)

絵心ある人何とかしてクレッ(; ・`д・´)

95:名無しさん@お腹いっぱい。
08/12/03 14:41:19 BE2wh4O/
これはそこらのpng画像をtigに変換してゲーム内の画像と差し替えできるってこと?

96:名無しさん@お腹いっぱい。
08/12/03 14:47:36 lv+b2g1Y
大宇宙の神降臨!

動作確認。
とりあえず適当な画像に変えてみた。
URLリンク(www.youlost.mine.nu)





97:名無しさん@お腹いっぱい。
08/12/03 15:01:28 Im4hbuVO
pngの設定によっては効いたり効かなかったりするね

98:名無しさん@お腹いっぱい。
08/12/03 15:13:00 MdWrpCJZ
>>96おつw
次は徐庶の奇妙な冒険だな

99:名無しさん@お腹いっぱい。
08/12/03 15:41:28 eHTcivM5
voi->ogg変換(゚∀゚)
URLリンク(apple.mokuren.ne.jp)
逆はVOIヘッダちゃんと解析しないと無理そう。

>>96
なんという北斗の拳w
とりあえず動いたみたいでヨカッタ(゚∀゚)



100:名無しさん@お腹いっぱい。
08/12/03 17:19:59 fL/M4s5a
>>99
本当に凄いなおいw
お前にならもがみんくれてもいい

101:名無しさん@お腹いっぱい。
08/12/03 17:35:52 lv+b2g1Y
>>99

ありがたやありがたや~
最初にこのスレに現れたときからやらかしてくれる子だと思っていたよ。

ニコニコに面白プレイ動画が上がる日も近いかな?

102:名無しさん@お腹いっぱい。
08/12/03 19:52:15 lv+b2g1Y
96ですが、

main\main.lb弄ったらイベントの発生順序とか変えられた。
main.lb内にある3バイトの文字列がmain.sdのアドレスと対応しているようだ。

会話イベントを呼び出す文字列に更新時のイベントのアドレス貼り付けると
更新時のイベントが会話で発生したよ。

103:名無しさん@お腹いっぱい。
08/12/03 20:51:33 eHTcivM5
>>100
もがみんゲット(゚∀゚)

>>102
main.sd書き換えてデータ長が変わったら
main.lbも書き換えないとダメってコトかー。
とりあえずmain.lb解析したらmain.sdのデータ区切り分かりそだねぇ。


104:名無しさん@お腹いっぱい。
08/12/03 21:54:58 lv+b2g1Y
>>103
しかも書き換えたイベント以下のすべてのアドレスがずれますからねぇ
main.sdにイベント番号的なものがあって、それを自動で拾い出せれば、とも思うけど
数がかなりあるから面倒だし・・・

空きスペースを「2020」とかで埋めることが出来るとすると、
会話は、元のイベントの文字数以下で書き換えたほうがいいかもね

でもmain.lbのおかげでかなり好き勝手に弄れるようになった。

105:名無しさん@お腹いっぱい。
08/12/04 02:41:25 xYwSijqX
相変わらずちゃんと動かないシナリオ書き換えver3.00
URLリンク(apple.mokuren.ne.jp)
main.lbのアドレス変換に対応してみた。でもまだ死にまくる(;´∀`)

なんとなく漠然と
(1) main.lbの書き出しとかアドレス変換とかが間違ってる
(2) main.lb以外にもmain.sdのアドレスを参照しているヤツがいる
(3) main.sd内でmain.sd内のアドレスをアテにしていたりする

とかそんな感じかなぁ…。もう頭スポンジ(; ・`д・´)

106:名無しさん@お腹いっぱい。
08/12/04 03:01:41 xYwSijqX
png2tigの変換でいけるのとダメなのがあるらしいので、
動作確認できたpngのIHDR chunkを解析してみた。
画像フォーマットとか詳しく無いので識者できたら補完ヨロシク(゚∀゚)

[IHDR chunk]
イメージの幅 800
イメージの高さ 600
ビットの深さ 8
カラータイプ 6 (RGB+アルファ)
圧縮方式 0 (現状コレのみらしい?)
フィルター方式 0 (現状コレのみらしい?)
インターレース方式 0 (0:非インターレース 1:Adam7)

107:名無しさん@お腹いっぱい。
08/12/04 03:38:01 vehxZV15
>>99


voi->ogg変換は拡張子かえるだけでいいんで
そこのロダから流れてしまっても、各自でリネームすりゃいいな

108:名無しさん@お腹いっぱい。
08/12/04 12:27:12 cawoC+W7
顔グラを変えて遊ぼう

109:名無しさん@お腹いっぱい。
08/12/04 13:37:31 xYwSijqX
>>107
えええそうなの!?ウチだとtheme.VOIをtheme.oggに拡張子変えただけだと
再生できないんでvoi2oggつくったんだけど、普通に再生できるのか~。

110:名無しさん@お腹いっぱい。
08/12/04 14:49:34 Bz8NDuW8
>>109
OPもキャラのボイスも、拡張子かえるだけで再生できてるぜ
foobar2000だけなんかな?そこまではちょっとしらない。
フリーのリネームソフトにフォルダごと突っ込んで拡張子だけoggにして音声きいてるぜ

音声とシナリオ見比べてて気づいたけど
信玄と佐竹義重のイベントや、虎綱春日と宇佐美定満のイベントなど
仕様で発生させられないイベントもちゃんと音声収録されてるのな
よくわからんゲームだ

111:名無しさん@お腹いっぱい。
08/12/04 15:20:46 xYwSijqX
>>110
ウチだとmedia player classicとwinampの古いヤツで試したけどダメだった。
voiファイルってoggヘッダの前になんかゴチャっとデータがくっついてるので、
foobar2000とやらが、buggyなoggも再生できちゃうだけなのかもねー。

112:名無しさん@お腹いっぱい。
08/12/04 15:22:07 xYwSijqX
解析メモ

[main.lbn]
データ単位 64byte
データ数 1150
データは2つ単位で使用する=>実効データ数 575
一つ目のデータがイベント名
続くデータが参照ファイル名
この2つデータセットでmain.lbのアドレスを参照して
main.sd内のデータを引く。
ちなみにmain.lbの有効データ数は575で
main.lbnの実効データ数と合致

113:名無しさん@お腹いっぱい。
08/12/04 15:34:02 01CWlVRI
face64の中を見てたんだけど、206.tig , 219.tigは、pngの拡張子かえただけ。
もしかしてそれでもいけるのかと思ったが単なるミスだったようだ。
(おそらく206.tig以降はダミー<全部205.tigと同じ)

とりあえず汎用女子を>>61に変えた。さんきゅ

114:名無しさん@お腹いっぱい。
08/12/04 15:38:11 01CWlVRI
ageちゃった、すまん。
なお、ソフマップ特典のリルフィニアは085.tig。蓮(086)やあたご(087)よりも
前にある。

115:名無しさん@お腹いっぱい。
08/12/04 16:14:55 01CWlVRI
↑はyukiさんのssl見れば分かる話だった。
で、そのsslの書き換えと組み合わせれば、あいているところに新しい顔アイコン
を追加するのも簡単だった(87の直後は、追加データなどで使われる可能性も
あるので使わない方が無難)。
meetの中の同じ番号が、「女に会う」で表示される立ち絵。そこから先の
イベントはわからん(とりあえず、なんにもないと信長イベントになるようだ)。

116:名無しさん@お腹いっぱい。
08/12/04 21:16:03 JTs6w7fP
main.swはイベントフラグの格納アドレスだな
最初の方のFFFFFFFFの並びは会った回数を記録する場所だ。
といってもここに直接書き込まれるわけではないけど

多分main.swn内の最初の文字列modeがmain.swの00000000を次のCharが00000004という具合に
main.swnの+0x40毎がmain.swの+0x04毎と対応していると思う。
いじる意味はあまりないと思うが・・・

117:名無しさん@お腹いっぱい。
08/12/04 22:51:27 CDRZ+M1a
>>109-111
うちのMPCHC-V1.1.604.0だと拡張子を変える必要なくoggとして再生できる。
フィルタは内蔵のが使われてるから新しめのならOKかも。

118:名無しさん@お腹いっぱい。
08/12/05 18:27:34 vjovnCuC
png2tig ver1.01 日本語パス対応版
URLリンク(apple.mokuren.ne.jp)

voi2ogg ver1.01 日本語パス対応版
URLリンク(apple.mokuren.ne.jp)

pngtig_conv ver0.01 画像変換GUI版 DLKey:sghmod
URLリンク(apple.mokuren.ne.jp)
↓こんなの
URLリンク(apple.mokuren.ne.jp)


119:名無しさん@お腹いっぱい。
08/12/05 18:30:43 vjovnCuC
>>116
オツカレー(゚∀゚)

解析とか全然進んで無くてまだ右も左もワカラン状態なんで、
『このファイルをいじる意味はあまりない』というのが分かるコトに
すっごい意味があると思うんだぜ(゚∀゚)

120:名無しさん@お腹いっぱい。
08/12/05 21:06:15 WcYXckHq
>>118
vjovnCuC様の神っぷりに、拙者もう液が溢れそうですじゃ。

>>116はメモリエディタでのイベントフラグの管理や解析に役立ちそうですね。

121:名無しさん@お腹いっぱい。
08/12/05 23:02:56 1v552e3G
ID:vjovnCuC
俺の中ではかつてのUNIX板の連中と同列の有志

122:名無しさん@お腹いっぱい。
08/12/06 21:05:45 C4BVvWQs
>>118
乙です
おかげで顔グラ弄るのは簡単になったわ
あとはイベントフラグの解析さえすめば、天下統一エンジン使って自由にゲーム作れるな

123:名無しさん@お腹いっぱい。
08/12/06 22:53:32 wxHke7XP

一応普通に動いてるみたい(?)でヨカッタヨカッタ(;・∀・)

■pngtig_conv ver0.02 画像変換GUI版 DLKey:sghmod
URLリンク(apple.mokuren.ne.jp)
↓こんなの
URLリンク(apple.mokuren.ne.jp)

前バージョンより内部的にちょっと賢くなっているので
よかったら試してみてクダサイ(゚∀゚)
よさげな差し替えとか出来たらSSでもあげておくれ~。

124:名無しさん@お腹いっぱい。
08/12/06 23:30:22 cMPoDnwH
>>122
一応既存のイベント発生時期を、他のイベントと置き換えることは可能。
また、一定の条件を満たせば会話の内容も変更可能。

スタート時の武将の名前や顔などはnew.dat\busyo21n16new.binで変更できるが、
顔あり女武将の場合はmain\main.sdの中の名前リストも変更しないと会えない

と勘で言ってみた。

125:名無しさん@お腹いっぱい。
08/12/06 23:32:24 cMPoDnwH
あ、

>>123
いつもいつも乙です。
神棚に奉らせていただきます。

126:名無しさん@お腹いっぱい。
08/12/07 01:52:37 D06SI9Av

■main.sd 簡易解析ツール ver0.01 DLKey:sghmod
URLリンク(apple.mokuren.ne.jp)
↓こんなの
URLリンク(apple.mokuren.ne.jp)

果たして他にmain.sdの解析をしている人がいるかどうかは知らないが
来たれ援軍みたいな感じで(; ・`д・´)

127:名無しさん@お腹いっぱい。
08/12/07 12:34:27 1AHsPcHF
main.tkoは何かな?

必ずかどうかわからないけど、main.sd内の会話の文章の少し前で、
音声の指定文字列(~.voi)の後の、0F????から始まることを呼び出してる気がする。

でも、別の会話の0Fから始まる部分のアドレスに置き換えても会話の内容は変わらない。
なんらかの働きはしてると思うので文章の書き換えでアドレスが狂ったらここも直さないといけないかも。

後、main.sd内の会話等の文章の最後は0010????で終わってる.これが終端の指定かな?

で、ain.sd内の会話文章の前後にある0F????~10????だけど????部分は文章の行数に応じて変わってる。
例えば0F 0B DDから始まってる会話があったとして、名前部分も含めて4行の会話だったら10 0B E1
という風に+4されている。

128:名無しさん@お腹いっぱい。
08/12/08 17:28:06 YUb9pk4j
SSGの値弄っても25600人までか兵数反映されるの

129:名無しさん@お腹いっぱい。
08/12/09 01:15:48 XQDNdxlU
main.tkoに書かれているアドレス列はソートされていて、
これらのアドレスからmain.sdを引くと、ほとんど文章データ付近に辿り着くので、
文章を切り出すのに使うのかなぁ…と思っている。
(main.tkoをリネームすると起動しなくなるので、一応使ってはいるみたい。)

んで、>>127の解析から[0F]が文章データ開始の識別子っぽいのが分かったので
ソレを元にちょっと構造を解析してみた。

[文章データ構造(予想)]

[0F][3byte] <= 何かのカウンター?
[4byte] <= 何かのカウンター?
[4byte] <= 何かのカウンター?
[発言者] <= 続く一行(00までのデータ)
[1byte] <= 本文行数
[本文] <= ↑で指定された分の行数(00までのデータが一行)
[10][3byte] <= 何かのカウンター?

>>127もちょっと触れてるけど、カウンターは何かの法則でガンガン増えていくみたい。


130:名無しさん@お腹いっぱい。
08/12/09 01:16:33 XQDNdxlU
で、コレを元に[0F]からのデータを解析すると
------------------------------------------------------------
[Address]: 0x001B1C8C

[0F] LE=>00375215 BE=>11516165 (0F AF B9 05)

00014456 何かのカウンター? (78 38 00 00)
00014445 何かのカウンター? (6D 38 00 00)

[発言者]=> 上杉謙信
[本文行数]=> 0001
「よい……お前はもう、私の家臣ではない……」

[10] LE=>00375727 BE=>11516677 (10 AF BB 05)
------------------------------------------------------------
こんな感じで、[0F]からの文章切り出しはこの構造でいけるっぽい。


131:名無しさん@お腹いっぱい。
08/12/09 01:19:00 XQDNdxlU
んで[0F]タグの解析をしててちょっと思ったんだけど、
タグデータ自体は4byte単位になっていて、最初の1byteが識別子で
続く3byteがメタデータ的な何かが入ってるんじゃないかなぁ~と妄想中。

[0F]タグで言えば最初の1byteがシーンIDで続く2byteにイベントID的な何かが
入っている…とか。仮にシナリオシーンでのセーブとかロードとかをきちんと実装
しようとしたら、ここらへんのデータを使う予定だったのかなぁ~と。
(↑コレは何の確証も無くなんとな~く適当に言っているだけなのであしからず。)

で、タグが4byte区切り&タグの種類によっては固有のデータが後に続く…。
という構造予想を元にちょっと解析してみると

[49] xx xx xx : BGM指定(?)
[34] 00 00 00 : 音声指定(?)

っぽいのが分かった。ここまでをまとめて解析してみたのが↓


132:名無しさん@お腹いっぱい。
08/12/09 01:19:36 XQDNdxlU
[Address]: 0x000DB0BF

2D 57 06 00 (unidentified)
1E 57 07 00 (unidentified)
00 00 00 00 (unidentified)
01 57 0B 00 (unidentified)
86 02 00 00 (unidentified)
---------------------------------------------------------
[49] 57 0D 00 BGM指定(?)

[ファイル]=> bgm\m011.voi
[未解析値(5byte)]=> 00 01 00 00 00
---------------------------------------------------------
01 57 10 00 (unidentified)
84 38 01 00 (unidentified)
01 57 11 00 (unidentified)
36 77 02 00 (unidentified)

133:名無しさん@お腹いっぱい。
08/12/09 01:20:11 XQDNdxlU
1F 57 13 00 (unidentified)
---------------------------------------------------------
[34] 00 00 00 音声指定(?)

[ファイル]=> voice\nobunaga\oda_0519.voi
[未解析値(5byte)]=> 00 00 00 00 00
---------------------------------------------------------
[0F] LE=>00005207 BE=>05706752 (0F 57 14 00)

00006244 何かのカウンター? (64 18 00 00)
00006237 何かのカウンター? (5D 18 00 00)

[発言者]=> 織田信長
[本文行数]=> 0002
「……。また他の女子のところに行こうとしておった
のか?」

[10] LE=>00005975 BE=>05707520 (10 57 17 00)

いまのところこんな感じ(;・∀・)フゥー…


134:名無しさん@お腹いっぱい。
08/12/09 15:32:18 XQDNdxlU
■main.sd 簡易解析ツール ver0.02
URLリンク(apple.mokuren.ne.jp)
※exeのみ。dllとかは>>126あたりのを使ってオクレ。

タグ解析モードで多少構造が見えるようになったのが分かるかと。
まだまだ未解析だらけだけど…(; ・`д・´)

予想できてるタグとか

■画像
[01][3byte] <= シーン+イベントID?
[4byte] <= 画像ID指定とか?

■文章
[0F][3byte] <= シーン+イベントID?
[4byte] <= 何かのカウンター?
[4byte] <= 何かのカウンター?
[発言者] <= 続く一行(00までのデータ)
[1byte] <= 本文行数
[本文] <= ↑で指定された分の行数(00までのデータが一行)
[10][3byte] <= シーン+イベントID?

135:名無しさん@お腹いっぱい。
08/12/09 15:33:07 XQDNdxlU
■二択分岐
参考アドレス 00051324
[13]が開始で[14]が終わりっぽいかも?
[13][3byte] <= イベ?
[4byte] <= ?
[1byte] <= 選択肢数?
[4byte] 選択肢のID?(選択肢数分連続)
選択肢の本文(00までの一行が選択肢数分連続)
[14][3byte] <= 終端子+イベ?

■SoundEffect
[22][3byte] <= イベ?
[5byte] <= なぞ
SEファイル(00までの一行)
[5byte] <= なぞ 音再生系関数の引数とかな気も。

■音声
[1F][3byte] <= イベ?
[4byte] <= なぞ 34 00 00 00 ばかりな気も。
音声ファイル(00までの一行)
[5byte] <= なぞ 音再生系関数の引数とかな気も。


136:名無しさん@お腹いっぱい。
08/12/09 15:34:10 XQDNdxlU
タグに続く3byteに関して、[tt] aa bb cc と見ると、
同一シーン内ではaaには同じ数値が使われている。
bb cc はセットでシーン内でインクリメントされていく。
(この予想が当たっているとすると、シーン数上限256の、イベント上限がシーン毎に
65536?なんかデータ設計しょっぱくねぇ?)

で、同一シーン内において、何かの数字1byteに続いてaaと同じ数字が続いて、
bb ccに他のタグと近しい数値が入っていたら、ソイツはほぼ間違いなくタグ。

そんな感じでタグとしては存在しているみたいだが内容がわからないもの。

[02] ヨクワカラン
[03] なんか複雑な構造してるぽい
[08] 8byte+文字列データ群?
[09] なぞ
[0A] なぞ
[0B] なぞ
[0C] なぞ
[12] なぞ
[1E] なぞ
その他いっぱい。

とりあえず画像系っぽい[01]の中身わからんかな~(;・∀・)

137:名無しさん@お腹いっぱい。
08/12/09 16:49:11 XQDNdxlU
mainディレクトリ解析まとめ(すべからくやり途中)

■main.cg
CGだろたぶん。4byte区切りで数字が入ってるけど何だろねコレ?

■main.ev
[64byte][4byte]のセット=> データ区切り68byte
64byteの中にイベント名 => ex)mouri06
続く4byteに開始アドレス => ex)00047BF4

■main.lb >>102
4byte区切りでアドレスデータ列
main.sd内のアドレスが指す先に各種シーンが格納されている

■main.lbn
[64byte][64byte] => データ区切り128byte
最初の64byte => main.lbのアドレスが指す先のイベント名
続く64byte => ファイル名っぽいもの
※ファイル名が指し示すものはおそらくmain.sd内にバイナリデータとして吸収されている

■main.sd
データ大黒柱

■main.sfn
おそらくmain.sdに吸収されてしまったファイル群の名前

■main.sw >>116
イベントフラグ関連(初期値とかとりあえず領域確保用とか?)

■main.swn >>116
main.swのフラグ名

■main.tko
4byte区切りのアドレス列。
おそらく文章データを切り出すのに使用。

138:名無しさん@お腹いっぱい。
08/12/09 17:58:09 XQDNdxlU
[13]タグ二択分岐の選択肢IDはどうやらmain.lb内のindexのようだ。
試しにmain.sdの0x0005132Dの数値37をDEに書き換えて、
0x00051331からの38 00を20 02に書き換える。

織田でスタートして最初の二択
○キクゴローをさがす => 信玄の踏み踏みイベント
○光秀を追う => 光秀の襲撃イベント
がそれぞれ発生するようになる(゚∀゚)


139:名無しさん@お腹いっぱい。
08/12/09 18:44:35 /lPYYY4y
つまりイベントを全部出すことも可能ってことか

140:名無しさん@お腹いっぱい。
08/12/09 20:29:41 zdIJJ+hv
>>XQDNdxlU
毎度毎度乙です。

イベントの発生条件を弄れないか探しているがさっぱりわからん。
任意のイベントを無理やり起こすなら、「会う」の汎用会話と置き換えるしかないのかな?
あと同じ行数、同じ文字数での会話の書換えツールみたいなのならできますかね?

ファイル見てるとイベントは次々追加できそうな作られ方してるなぁ
フラグ関係のmain.swだけ領域が足りないようだが、メーカーはイベント追加も視野に入れてるかな?
それとも手抜きか・・・


141:名無しさん@お腹いっぱい。
08/12/09 21:48:08 zdIJJ+hv
選択分岐以外でもイベント最後の文末にある0010から+0x1Dの場所にあるのがイベント終了後の処理のようだ。
例えば会話イベントなんかはBFになっていることが多く、このBFもmain.lbに繋がってる。

すなわちBF×4=[0x02FC]=main.lb内のアドレス
0x02FCはmain.sdの0x2AA0B0を呼び出してる。

ためしにこのBFをBBにしてみると、
BB×4=0x02ECで、main.sdの0x0CD3F1が呼び出され、
会話終了後に信長のイベント「いてぇな・・・・・・。」が始まる。

BFはなんだろうな、会話の回数フラグを1回増やすやつかな?

142:名無しさん@お腹いっぱい。
08/12/09 21:57:28 zdIJJ+hv
会話イベントのみのキャラを見てみると、
BF以外ではキャラ別の最後のイベントの終了時の処理は00になっていて、
00だとキャラ名の一覧の少し前を参照していることになる。
これはもう何も処理しませんよ。ということかな?

しかしこれ、うまくイベント連鎖させたら全イベント一気に起こせるかもな。

143:名無しさん@お腹いっぱい。
08/12/10 00:10:35 xq3+Her5
>>140
とりあえずイベントが見たいだけならmain.lb書き換え?
>>138の方法で良ければ見たいイベント言ってくれれば書き換え方書くケド、
書き込み内容から察するにID:zdIJJ+hvならmain.lbの書き換えぐらい
鼻毛を抜くぐらいの気軽さでやれちゃいそうな印象g

とりあえず文字数の変更が無いのであれば、↑のどっかにある拙作のクソツールでも
rawモードとかそんなんで出来そうな気が。でも構造解析とか全く出来てなかった頃の
シロモノなのでイロイロとアレです(; ・`д・´)
(バイナリエディタでいじった方が早そう…w)

タグ解析が進んで、文章だけじゃなくて立ち絵とか背景とか音とかいじれるようになって、
イベントの追加とか削除まで出来るトコまで来たらエディタ的な何かを作ってみよう
かなぁ…と思わないコトも無いけど、ちょっとモチベがなくなってきたのと、
ウチOCN丸の内なんでそろそろ年末恒例大規制祭りがやってきそうな予感ggg(;・∀・)

144:名無しさん@お腹いっぱい。
08/12/10 00:11:15 xq3+Her5
で、ひょっとしたら>>141は大発見をしているかも知れないのでもっと詳しく(゚∀゚)!

正直意味がワカランかった…w
文章終端の[10]から29byte先に次イベントのmain.lb内のアドレスが書かれているってコト?
主人公の一人語りみたいなのが続いてるトコだと[0F]の後に[10]が来て、
そのすぐ後にまた[0F]がはじまるので、29byte先はもうすでに[0F]内だったりするんだけど、
オレが根本的に読み取れてないのかな…?(;・∀・)


145:名無しさん@お腹いっぱい。
08/12/10 05:54:15 xq3+Her5

・信玄&道雪のイベント見たいケド、辿り着く頃には死んでんだよなぁ(;´Д`)
・ランダムイベントってランダムにも程があるだろうッ何この宝クジッヽ(`Д´)ノ
みたいな人は

■菊五郎さんに聞いてみよう(゚∀゚)!ver0.01 DLkey:sghmod
URLリンク(apple.mokuren.ne.jp)
↓こんなの
URLリンク(apple.mokuren.ne.jp)
URLリンク(apple.mokuren.ne.jp)

イベントを強制的に発生させるモノです。
いつもどーりほとんど未テスト(゚∀゚)


146:名無しさん@お腹いっぱい。
08/12/10 06:36:45 uy0wzIgT
>>145
神棚
何という忙しい人の為の戦極姫

147:名無しさん@お腹いっぱい。
08/12/10 07:14:24 /DyhBmaZ
out/main.sd に書き出したよってでるけどファイルが生成されてない/(^o^)\
どうしてだ

148:名無しさん@お腹いっぱい。
08/12/10 08:56:18 xTdbYJ5H
>>144

1つのイベント途中の会話の後ではなく、そのイベントの最後の文章の後ね
例えばmain.sdの0x2721E0あたり常信エリの1回目の会話イベント「オッス! 颯馬元気?」だと

0x002721E0 : 00 01 81 75 83 49 83 62 83 58 81 49 81 40 E9 44
0x002721F0 : 94 6E 8C B3 8B 43 81 48 81 76 00 10 0E 0E 00 01
0x00272200 : 0E 11 00 D6 F9 03 00 08 0E 14 00 21 01 00 00 00
0x00272210 : 01 00 00 00 02 0E 17 00 BF 00 00 00 01 0E 1F 00

2行目「0x002721FB」の [10] がこのイベントの文末となるわけだが、
ここから+1Dの「0x00272218」の [BF] がmain.lbの「0x02FC」に繋がっている。(BF×4=2FC)

で、main.lbの「0x000002FC」を見ると[B0 A0 2A]となっておりmain.sdの0x2AA0B0を呼び出す。
よってこの[BF](おそらく2バイト単位)を書き換えるだけでイベントが連鎖されていく感じになる。

イベントを作為的に発生させる場合はmain.lbのアドレスデータを直接目的のイベントのアドレスに書き換えるか、
会話後の[BF]の部分を書き換えるかどちらかでいけそう

ちなみに、このBFの4バイト後が次のイベント
つまり常信エリの2回目の会話イベントの頭になっているようだ。


149:名無しさん@お腹いっぱい。
08/12/10 09:14:44 xTdbYJ5H
今調べたんだが、ゲームのVerによって少しアドレスに差があるな、
Ver1.01だと例の部分は[BF]だがVer1.00だと[BE]、1.02はしらん。

全部Ver1.01で調べてます。

150:名無しさん@お腹いっぱい。
08/12/10 10:35:38 xTdbYJ5H
ID:xq3+Her5のモチベUPの為に・・・

イベント中のキャラの立絵は変更できそう。
main.sd内の会話等の開始アドレス(main.lb内参照)から+0xC(3バイト)がそうみたい。

この3バイトは同じmain.sdのアドレスを指していて、
調べると["キャラ名"_A 基本]とかの文字列の少し前にある[ 03 08 ]ってところを呼んでいる。
この3バイトを別のキャラのに置き換えてみると立絵も変わった。

背景は今のところ不明。

エディタ期待してますぜ!





151:名無しさん@お腹いっぱい。
08/12/10 13:14:10 xTdbYJ5H
昼休みに速攻で調べてみた。
上のは一旦忘れてくれ。

★★★背景CG★★★
main.sd内において、main.lbで指示されたアドレスに飛び、そこが[2D]からはじまる場合
その2Dの何バイト後ろになるかはわからないが[ 01 ?? ?? ]があるはず。
その01の4バイト後ろにあるのが背景CGを呼び出すアドレスのようだ。

main.sd内のそのアドレスに移動すると背景CGリストがあり、
呼び出されるファイル名の手前の[ 56 04 ]のところに飛ぶ。

また、main.lbで指定されたアドレスが[01]からはじまる場合は、その+4バイトの位置が背景の指定みたい。
このケースは、ほぼ会話イベントでいきなり室内の場合だと思うが、背景指定アドレスは[ 84 38 01 ]になっている。
この[ 84 38 01 ]はちょっと特殊で、多分だけど、背景を変更しないってことだと思う。
つまり「会う」での会話イベントは、デフォルトで室内の背景CGが呼び出されるようだ。

また、エロイベントとかでイベント途中のCGの変更は、CGが変更される直前の文末の終端タグ[10]から
少し後にある[ 01 ?? ?? ]の[01]の4バイト後ろがCG指定のアドレス。
イベントCGは背景扱い。イベントCGの上に立絵も乗せられた。


★★★立絵CG★★★
背景CGを指定するアドレスの後ろに[ 01 ?? ?? ]がある場合、その4バイト後ろが立絵の呼び出しアドレスみたい。
main.sd内のそのアドレスに飛ぶと「"キャラ名"_A ~~~ 基本」とかの文字列の少し前にある[ 03 08 ]に飛ぶ。


★★★まとめ★★★
見たサンプルが少ないから合ってるかどうか不明だが

頭が2Dから始まるイベントの場合は、
 「背景の指定」→「BGMの指定」→もう一度「背景の指定」→「立絵の指定」→「声の指定」→「文章」

頭が01から始まるイベントの場合は、
 「背景の指定」→「立絵の指定」→「声の指定」→「文章」
となっている感じ


01などのタグの後ろの????はよくわからんが勝手に増えていくやつなので無視して解析してみた。
CGは[01]のタグとセットになっていて一旦main.sd内にあるCGのファイルリストに飛んでから個別のCGファイルにアクセスしてるみたいだね。

BGMや声は文字列で指定されてるんでいじるのは厳しいかな?

152:147
08/12/10 13:52:11 /DyhBmaZ
自己解決

「kikugorou.exe」があるフォルダに「out」という名前のフォルダ作ったらその中にmain.sdが生成されますた

153:名無しさん@お腹いっぱい。
08/12/10 15:28:15 xq3+Her5
読みづらいだろうけど>>129-136の内容を読んでくれると以下がよくワカルと思うのだが、
何か説明中イロイロと混乱するので、まずは共通言語を決めちゃおう。

『シーン』:例えば光秀がメイド服着てうんちゃらかんちゃらみたいな
      一連のお話の流れ1つ。エピソードと言い換えても○。

『イベント』:シーン内において、クリックとかEnterとかで進める一つの単位。

>>148のバイト列を0x002721FBから意味的に区切ると↓こんな感じ。(ズレたらスマン

10 0E 0E 00
01 0E 11 00 D6 F9 03 00
08 0E 14 00 21 01 00 00 00 01 00 00 00
02 0E 17 00 BF 00 00 00
01 0E 1F 00 [ここに画像関連情報が4byte続くハズ]
↑ ↑ ↑ ↑ ↑
① ② ③ ③ ④こっから先全部④

①:コマンド的な意味を持つもの。[0F]なら文章[01]なら画像関係とか
②:同一シーン内で共通の数値が使われる。
③:この2byteは同一シーン内でインクリメントされていく。
④:①の種別によって固有データが入る。

154:名無しさん@お腹いっぱい。
08/12/10 15:29:31 xq3+Her5
で、>>141>>148の内容が指し示すのは>>136でヨクワカランに分類されていた
[02]タグの謎を解き明かしたというコトなのだ(゚∀゚)!

[02]タグはシーン読み込みを示すタグで、④の固有データ域は4byte。
固有データ領域にはmain.lbのアドレス配列indexが入っている。

こういうコトだ!すごいぞ!謎がひとつ解けた(゚∀゚)!


155:名無しさん@お腹いっぱい。
08/12/10 15:37:56 xq3+Her5
>>147 >>152
ごめんw圧縮前のデータにはoutディレクトリもあったんだけど、
圧縮する段階で空のディレクトリは消されてしまうみたいだ…w
何かダミーファイルでも置いてから圧縮すればよかったスマン(;´∀`)


156:名無しさん@お腹いっぱい。
08/12/10 16:45:21 xTdbYJ5H
じゃあ次は>>148内にある[ 08 ]をば!

>>148では
08 0E 14 00 21 01 00 00 00 01 00 00

となっていますが、本来なら[ 21 01 ]ではなく[ 20 01 ]です。ごめんなさい、確認のため書き換えたままでした。
この[ 08 ]はフラグ管理ですね。

①[08] でフラグ立てますよ~(②③はとりあえず無視)

④[20 01] がフラグリストの呼び出し。
ここではmain.swn内のアドレス「0x4800」(0x0120×0x40)を指している。
このシーン名は「meet_eri_00_end」なんでOKだな。

⑤?[00 01] 最後のこの0001は入力する値でしょう・・・・・・多分。
main.swnの0x4800は、main.swの0x0480(0x4800÷0x10)に対応。で、ここに01を書き込む。
実際、メモリ内の対応する場所に01が入った。

このあたりがあまり意味ないのはフラグ管理なんて面倒な事やってられないから・・・

157:名無しさん@お腹いっぱい。
08/12/10 23:42:59 xq3+Her5
っていうかよく[08]とフラグ管理結びつけられたな…w
>>156を受けて、ちょっと[08]タグ調べてみた。まずデータ貼る。
参考アドレス0x00040559 (main.lbnによるとシーン名[start]らしい。)

[0x00040559 ベタ書き]
01 02 06 00 F4 3B 01 00 1E 02 09 00 00 00 00 00
03 02 0C 00 01 32 00 00 00 03 12 00 00 00 00 00
00 00 00 02 02 00 00 00 12 02 0C 00 AA 05 04 00
08 02 0D 00 37 00 00 00 04 15 08 93 56 8F E9 E9
44 94 6E 00 08 02 0E 00 32 00 00 00 00 01 00 00
00 0B 02 12 00 00 00 00 00 09 00 00 00 1E 00 00
00 1F 00 00 00 20 00 00 00 21 00 00 00 22 00 00
00 23 00 00 00 24 00 00 00 25 00 00 00 26 00 00
00 08 15 07 00 37 00 00 00 04 06 08 8F E3 90 99
8C AA 90 4D 00 08 15 08 00 37 00 00 00 04 17 08

[0x00040559 タグ解析]
01 02 06 00 F4 3B 01 00
1E 02 09 00 00 00 00 00
03 02 0C 00 01 32 00 00 00 03 12 00 00 00 00 00 00 00 00 02 02 00 00 00
12 02 0C 00 AA 05 04 00
08 02 0D 00 37 00 00 00 04 15 08 93 56 8F E9 E9 44 94 6E 00
08 02 0E 00 32 00 00 00 00 01 00 00 00
0B 02 12 00 (ちょっと長すぎるんで複数行に分解)
---00 00 00 00 09 00 00 00 1E 00 00 00 1F 00 00 00
---20 00 00 00 21 00 00 00 22 00 00 00 23 00 00 00
---24 00 00 00 25 00 00 00 26 00 00 00
[↓こっから別シーン]
08 15 07 00 37 00 00 00 04 06 08 8F E3 90 99 8C AA 90 4D 00
08 15 08 00 37 00 00 00 04 17 08 ...データがつづく

158:名無しさん@お腹いっぱい。
08/12/10 23:44:20 xq3+Her5
で、シーン02内の[08]タグを抜き出すと、順に。
08 02 0D 00 37 00 00 00 04 15 08 93 56 8F E9 E9 44 94 6E 00
08 02 0E 00 32 00 00 00 00 01 00 00 00

下の方は分かりやすくて>>156の解析と同じタイプ
0x32 * 0x40 = 0xC80 -[main.sfw]-> amagi_add のフラグ操作

上の方はちょっと構造が違う感じで
0x37 * 0x40 = 0xDC0 -[main.sfw]-> temp01
で、続くデータで文字として読めるのを解析すると
93 56 8F E9 E9 44 94 6E = 天城颯馬
なんでtemp01に『天城颯馬』を書き込むのだろう。
(ちなみに別シーンの方の文字列は『上杉謙信』

多分[08]から数えて9byteめ(04と00になってるトコ)がデータタイプを決定していて、
00ならboolとかintとかで、続く4byteに値が格納されている。
04ならstringとかそんな感じかな~?

ending_checkとかdead_check系列のイベントを解析したら、
フラグを読み出すタグも分かるかのぅ…?(存在するかは知らないが(; ・`д・´)

とりあえずイイ仕事したwお疲れ(゚∀゚)>>156

159:名無しさん@お腹いっぱい。
08/12/11 01:51:16 /Ge9NhuP
すげーよ、おまえら。
この調子ならマジでイベントエディタが完成しそうだ。

ただレベルが上がりすぎていて、俺も含めて協力できる人が少なそうだ。

160:名無しさん@お腹いっぱい。
08/12/11 03:51:40 byL96ENs
>>159

何故>>129あたりからオレが暗号文じみたものを書き込み出して、
今スレの流れがこんな状態になっているのかをキチンと説明しておこぅ(; ・`д・´)

まず一般的なデータフォーマットの話をしよう。
世間で良く使われているデータフォーマットって、すっげー投げやりに言うと、

[データサイズ][データの中身]

みたいな構造をしているのだ。PNGとかはこんな塊が複数集まって出来ている。
で、こんな構造になっていると、データの中身とかデータの意味とかは知らなくても
サイズだけを元にデータをキレイに切り出せるワケだ。

ところがだ(; ・`д・´)

main.sdの中身を解析してみると、全然こんな構造になっていないのだ。
(別にこの事自体は悪いコトだとは思わない。)
だから『このアドレスからはじまるイベントの文章を書き換えたい』とか言われても
データの構造(せめてタグごとのデータ長)を全て把握していないと、文章データまで
正しく辿り着けないのだ(; ・`д・´)
(※現状ある程度は出来るが、未解析のタグが出て来るともうダメ。)


161:名無しさん@お腹いっぱい。
08/12/11 03:52:36 byL96ENs
なので、最低限、全タグのデータ長の算出方法が知りたいワケさ。
それには多分2つのアプローチがあって、

[1] 論理的にタグの構造を解析して、データ長の算出方法を類推する。

[2] main.sd内に含まれるある種のタグのデータ長が全て同じである事を確かめる。
  ※データ長が同一で無い場合、内部構造を解析する必要アリ。

オレが主にやってるのは[1]なんだけど、中にはタグ3つぐらい見て
『もうコレ8byte固定で決まりっしょ(゚∀゚)』とかやってるのも多々ある…w

で[2]の手法に関しては、main.sdからある種のタグを全て抜き出すというのが
ものッ凄い大変だし、そもそもある種のタグを抜き出すのに他のタグ構造を知らない
と抜き出しが出来ないというニワトリ卵。

実際にやるかやらないかは別として、イベントエディタを作るという観点で言うと、
我々はまだスタートラインにも立てていない…w

正直心が折れそうデス(; ・`д・´)全鯖規制きたらもう二度とやらない…w


162:名無しさん@お腹いっぱい。
08/12/11 05:10:25 2W6N751a
>>161
そしたらしたらばに板借りてきてやんよ

163:名無しさん@お腹いっぱい。
08/12/11 10:07:13 o+deS0te
早速eonet全鯖規制\(^O^)/
でも、めげずに書き込むよ!

>>157
むっちゃ乙。貴方だけが頼りです!
当方バイナリエディタ1本でちまちまやってるので憶測が多くてスマン
タグの解析ツールはかなり参考になります。


いくつか見てみたが[2D]ではじまるシーンは「シーン鑑賞」に出てくるやつばかりだった。

そのシーンの頭にある[2D]は、4バイト後ろの[1E]とセットで存在してる。
また、そのシーンの終了部分には[1E][2F][2E]がセットで並んでる。

その後[08]が入り最後が[02]の流れ。([1E]はシーン途中にも存在する。)


・[2D][2E](謎のカウンター部分含めて4バイト)
シーン頭の[2D]と終了部分の[2E]は、文章での[0F]と[10]の関係に近いのかも。(憶測)

・[1E](00郡が後ろにあるので全8バイトかな)
その存在している位置から「BGMのストップ命令」かと思い。
シーン途中でBGMが止まる場所の[1E]を[00]にしてみたらBGMが止まらなくなったので多分合ってる。
BGMだけのストップ命令かどうかはわからないけど。

・[2F](4バイト後ろにデータあるので全8バイトかな)
4バイト後が、シーン毎に別の数値が入ってるので何らかの働きはあるんだろうな。
「シーン鑑賞に追加」するフラグかな?
と思って再インストール後この数値を入れ替えてみたらやっぱり別のシーンがONになった。
まあ内容さえわかったらどうでも良い項目だね。


上記以外で現在わかっているのは
[01]:画像
[02]:シーン終了後の処理
[08]:フラグ(アドレス、数値などで、半端な全13バイト?)
[0F]:文頭
[10]:文末
[13]:選択肢
[1F]:Voice(後ろの34がよくわからん)
[22]:SE(後ろに00郡あり)
[49]:BGM
かな?

164:名無しさん@お腹いっぱい。
08/12/11 16:58:46 byL96ENs
>>163
全鯖規制来てるのに何と言う勇者…w毎度毎度オツカレ~(゚∀゚)
[2D]~[2F]とか良く見つけたな…w
言われてみれば『ああ~ホントだぁ~』って感じだわw

[1E]はオレもちょっと[1F]とかの絡みで音停止系統のタグかなーと思ってはいた。
やっぱそんな感じよね~。

何か使ってくれているみたいなので
■main.sd 簡易解析ツール ver0.03 DLKey:sghmod
URLリンク(apple.mokuren.ne.jp)
多少進化したので、とりあえずreadme読んでみてオクレ(゚∀゚)!


165:名無しさん@お腹いっぱい。
08/12/11 17:54:46 jVWt4NGd
ツールさんきゅです!
バイナリエディタで全体を眺めてる分、気がつきやすいのかもしれないね。

というわけで追加で~す。

[2D]と[2E]だけど改めて調べてみたらmain.ev内にあったよ[2D]のアドレスが。
でmain.evはおそらくシーン鑑賞で使うデータの切り出しをしてるみたい。
一つのシーンの途中に[2E]があったので何ぞ!
と思いシーン鑑賞を見てみるとやはりそこで切れた。

[2D]:回想で切り出すシーンの始点
[2E]:終点


CGについてはそれぞれのCGファイル名の前後の始点終点を探してみた。
[56]:始点で(4バイト後ろの[53]にももカウンターがあるのでこれもタグ?)
[0E]:終点のような気がするぞ。(4バイト長)
[30]:ついでに「CG鑑賞」への追加指示はおそらくこれ(8バイト長)
[3C]:後ろの[64]とセットだと思うが不明

こういう書き方のほうが解るかな?

166:名無しさん@お腹いっぱい。
08/12/11 18:26:51 51f2S2KK
おまえらすげぇ・・・すごすぎるよ

167:名無しさん@お腹いっぱい。
08/12/11 20:52:48 jVWt4NGd
重要キャラの死亡チェックのとこ見てたんだけど、

[66]:そのキャラあるいは勢力の状態チェック開始?
[0312]:状態チェック終了?
[040608]:大名名?
[040108]:武将名?
[04010A]:サルだけ名前の前がこれだね。
[0202]:その直前に条件式がありそれが真ならば[0202]の後ろにある処理をする?
[12]:条件分岐「if」みたいな感じかな?
[12]の4バイト後に飛ぶアドレスがありその後ろに条件式。真ならば指定したアドレスに飛べ?
[03]:不明
[FFFFFFFF]:死亡?

こんな感じかな?こればっかりは全く自信がないが
チェックの命令をもし俺がかけるならこんな感じかな?と思って。

0x13ff0あたりの
大名関係のチェック見てみると(多分現在プレイしてる勢力の調査)
[66]-存在チェックみたいなの-[0312]-[040608]-大名の武将名-[0202](真なら?)-[02](飛べ)
で、とんだ先は重要武将の存在チェックのとこ。
になってる気がするんだわ。

キャラチェックに来ても
[66]-存在チェックみたいなの-[040108]-武将名-[0312]-[FFFFFFFF]-[0202](真なら?)-[02](飛べ)
な感じだ。

長尾影虎の場合だけ[12]命令が入ってて上杉謙信に飛ばしてる。

ちなみにこの辺りのチェックやらCGやらの項目の最後は[0E]になってるんで
[0E]は現在のジョブの終了かな?


168:名無しさん@お腹いっぱい。
08/12/11 20:58:18 jVWt4NGd
[04010A]:毛利ガーナと宇佐美もだ
[04010C]:毛利ナッシュとオルテナはこれだった

169:名無しさん@お腹いっぱい。
08/12/11 21:58:33 jVWt4NGd
上あ~ごめん
[040608][04010A]とかだけど

[0406]:大名名の指定
[0401]:武将名の指定

で、次の
[08]やら[0A]は普通に後ろに続く名前のバイト数だったのね。
飯食ってると気がついた。

170:名無しさん@お腹いっぱい。
08/12/11 22:06:52 byL96ENs
ちょwwwメシくって酒飲んでる間に凄いコトになってるwww
ダメだwもうオレの方が追いつけない…w[66]タグとか永久欠番だと思ってたよ…w

まだ>>165の前半の内容を消化して、後半ちみっと見始めたばっかなんだけど(;・∀・)
アレだね。普通にゲーム内でシーンが発生する場合はmain.lbからたどって行って、
回想メニューからシーンを選択した場合はmain.evからアドレスをたどる感じなんだね(゚∀゚)
例えばmain.lbにもmain.evにも[mouri06]ってイベントがあるんだけど、

[49] 1C 05 00... <= main.lbから来るとココ
[2D] 1C 08 00 <= main.evから来るとココ
[1E] 1C 09 00 00 00 00 00

こんな感じだねぇ。まぁBGM再生はじめてすぐストップ処理が走るので、
スクリプトのミスかチェック漏れな気がしなくも無いけど…w

CGに関しては[01]タグとの絡みもあるので是非とも中身を解析したいのだけど
例えば↓みたいに…

171:名無しさん@お腹いっぱい。
08/12/11 22:07:30 byL96ENs
[Address]: 0x00072548 島津シナリオ朝風呂シーン

[01] 2C CC 00 B7 44 00 00
==>data block [B7 44 00 00]
==>0x000044B7 (main.sd)↓
56 05 85 06 53 05 86 06 65 76 65 6E 74 5C 63 67 2D 30 35 36 2E 74 69 67
==>タグ解析
56 05 85 06
53 05 86 06
65 76 65 6E 74 5C 63 67 2D 30 35 36 2E 74 69 67 event/cg-56.tig (次女入浴)
********************************************************************************
[Address]: 0x00077B16 上杉シナリオ冒頭シーン

[01] 2E 04 00 D4 04 00 00
==>data block [D4 04 00 00]
==>0x000004D4 (main.sd)↓
56 04 84 00 53 04 85 00 62 67 5C 62 67 30 36 2E 74 69 67
==>タグ解析
56 04 84 00
53 04 85 00
62 67 5C 62 67 30 36 2E 74 69 67 bg/bg06.tig (上杉領の街並みの絵)

172:名無しさん@お腹いっぱい。
08/12/11 22:08:06 byL96ENs
こんな感じでイベント絵とか背景とかは割と素直に辿れるんだけど、
立ち絵は謎アドレスに飛んだりして、辿り方が全然ワカンネ(;・∀・)
でもたぶん、[56]はCGはじまるよ~。[53]はCGの中身だよ~。とかそんな感じかなぁ。

そうそう。書き方は>>165とか>>167とかの感じで全然わかる。
でも強いて言えば、参考アドレスとかどのシーンで解析してるとか書いてくれると、
確認作業するときに該当個所に行きやすいかなぁ…(;・∀・)

とりあえずオツカレ(゚∀゚)!

173:名無しさん@お腹いっぱい。
08/12/11 22:15:00 jVWt4NGd
とりあえずキャラの存在チェックをまとめると

[66](スキャン開始)->
[0401](武将を検索)[08](4文字)->”ここに武将名”->[0312](スキャン終了)->
[FFFFFFFF](死亡)->[0202](真なら)->[02](4バイト後ろにある処理を実行)->
偽ならその後ろの処理へ・・・

ちなみに[02][??????][09]は[08 06 8A 01 31 00 00 00 00 01 00 00 00](重要キャラの死亡フラグON)を実行し、
これ実行したらGAMEOVERになった。

勢力別の重要キャラリストの最後に人には[02]~[09]の後ろに[02]~[0F]がある。
これは素直にチェック終了の[0E]につながってた。全員生きてたらチェック終われって事だな。

174:名無しさん@お腹いっぱい。
08/12/11 22:30:33 jVWt4NGd
じゃあ次は立絵CGの解析かな。

[0x13FFB]~
大名存在チェックのアドレス主人公存在チェックと一体
[66]~[0312]までのバイト数は[66]を含めて8バイト。カウンター以外は全員同じ数値だ。

武将チェックはそのすぐ後ろの[0x14134]~になってる。
これはmain.lbnからたどれるね。

未解析のタグとかあったら載せてみて、出来る限りがんばる。
なんてか、エロは偉大だな。
信長の野望ならここまで頑張らんぞ。

175:名無しさん@お腹いっぱい。
08/12/12 02:00:31 cgn53N7C
大名の登録順は東北(南部)から00……かな
国番号も城番号の割り振りも北から順番ぽい。

東北(北陸奥→南出羽)、関東(常陸から相模・伊豆まで)、東海(駿河から伊勢まで)、
甲信(甲斐・南北信濃)、北陸(越後~越前若狭らへんまで)、
近畿(近江、山城から紀伊まで順番不詳)、
山陰(丹後但馬~石見)山陽(播磨~周防長門)、
四国(阿波~土佐)と九州(豊前豊後、筑前筑後、肥前肥後、日向大隅薩摩)

176:名無しさん@お腹いっぱい。
08/12/12 18:31:34 wqhpjMwg
>>175
大名の登録順はnew.dat/daimyo21.bin
国はnew.dat/kuni21.bin
にそれぞれ書かれてる順じゃないかな~。

(コレ解析して書き換えたら沖縄とか北海道とか追加できんのかな…?w

177:名無しさん@お腹いっぱい。
08/12/12 18:32:37 wqhpjMwg
ちまちまと文章の文字数を増やしたり減らしたりして、
main.sdのデータサイズが変わる状態でイロイロ試している。

で、いまのところmain.sdと併せて
main.ev main.lb main.tko のアドレスを全て書き換えるまでは出来ていて、
改変後のmain.sdとmain.lbでタグ解析して普通に読めるので出来たかな~と思いきや。

○武田シナリオがSLGパートを抜けた後に始まらずに固まる
○『女に会う』をやると落ちたりする
○城に攻め込もうとしたらいきなりOPムービーが流れたりする
(落ちたのかと思ったらいきなりフルスクリーンで『さぁ~かせてあぁ~つくぅ~♪』)

フラグ操作とかSLGパート関連でも書き換えないとダメな部分があるのかのぅ(;・∀・)
(main.lbとかからのサイド攻撃やめてmain.sd一本に出来んもんかのぅ…。

178:名無しさん@お腹いっぱい。
08/12/12 20:07:57 9awXovP7
毎度毎度乙です。
main.sd内部でのアドレス移動が結構あるんで、その辺りでおかしくなってるんじゃないかな?
最後のほうのエンディング関係のがあるんでその辺りのからみかな?
[12]や[03]が解析できたら結構うまいこと行くかも。

てなわけでその辺りのややこしいのが解るかもしれないCG関係を分解してみた。
新しいタグはそんなに出てこないけどかなり謎が多いので、
解析のヒントになるかな?程度です。

179:名無しさん@お腹いっぱい。
08/12/12 20:09:47 9awXovP7
かなりズレてるんですが勘弁

ゲームのVerは1.00です。

シーン名(立絵:信長_A 驚き)
0x02BE97~0x02BE7Aまで全0xE4バイト

0x000000 : 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
----------------------------------------------------------
0x02BE90 : 00 00 00 0E 0C 39 00 03 0C 45 00 01 49 02 00 00
0x02BEA0 : 03 17 00 00 00 00 FF FF FF FF 02 02 00 00 00 12
0x02BEB0 : 0C 45 00 EB BE 02 00 08 0C 46 00 21 03 00 00 01
0x02BEC0 : 49 02 00 00 08 0C 47 00 D1 02 00 00 01 48 02 00
0x02BED0 : 00 08 0C 49 00 49 02 00 00 00 FF FF FF FF 08 0C
0x02BEE0 : 4A 00 48 02 00 00 00 FF FF FF FF 4B 0C 4E 00 01
0x02BEF0 : EE 01 00 00 6E 6F 62 75 6E 61 67 61 5F 41 00 00
0x02BF00 : 00 00 00 00 8B C1 82 AB 00 03 0C 51 00 01 81 02
0x02BE10 : 00 00 03 12 00 00 00 00 00 00 00 00 02 02 00 00
0x02BE20 : 00 12 0C 51 00 4E BF 02 00 3D 0C 52 00 01 EE 01
0x02BE30 : 00 00 01 21 03 00 00 00 00 00 00 00 01 D1 02 00
0x02BE40 : 00 00 00 00 00 00 12 0C 53 00 61 BF 02 00 3F 0C
0x02BE50 : 54 00 01 EE 01 00 00 01 D1 02 00 00 00 00 00 00
0x02BE60 : 00 40 0C 58 00 00 32 00 00 00 08 0C 5C 00 81 02
0x02BE70 : 00 00 00 01 00 00 00 0E 0C 5E 00 03 0C 64 00 01

上記を詳しく分解してみるます。
[0C ?? ??]:このシーンでのカウンター、無視します!

180:名無しさん@お腹いっぱい。
08/12/12 20:12:14 9awXovP7
>>179
★[0x02BE97]:スタート位置
・[03]:不明(8バイトか9バイト)
・[01 49 02]:何を指すのかわからないが、
後に[49 02]や[48 02]がよく出てくるのでフラグ参照とかしてるのかも。

・[03 17]は武将存在チェックの[03 12](終了)に近い意味かと。
過去に出てきた[66]は8バイトぽいので[03 17]が[03 12]と同じなら
[03]は9バイトなのかな?
他の項目で調べても[03]~[03 ??]まで11バイト。

・[FFFFFFFF]:?
・[0202]:5バイト?やっぱり「AならばB」的な感じかな?
でもなんか違う気もする。謎だ。

・[12]:アドレス移動型のIF命令かな?自信なし!(8バイト)
・[EB BE 02]:アドレス[0x02BEEB]へ飛ぶ。[12]と連動。

181:名無しさん@お腹いっぱい。
08/12/12 20:13:20 9awXovP7
>>179
[0x02BEB7~] ここからが条件?条件の終了は何処だろうね?
・[08]:main.swnを呼ぶ
・[21 03]:main.swn内の0xC840でフラグ名は「nobunaga_vanish」信長消える?
・[01 49 02]:フラグの入力値(謎、後に出てくる[49 02]と関係は?)
シーン鑑賞フラグなどの入力値は[00 01]だったが、ここは[01~]になってる。
[00~]と[01~]で命令が少し違う気がするね。

・[08]->[D1 02](フラグ名「nobunaga_x」)->値[01 48 02]
(また出てきたよ[01~]の値)

・[08]->[49 02]->[00FFFFFFFF](set_vanish)
・[08]->[48 02]->[00FFFFFFFF](set_x)
頭の[00 ????]が値の入力命令で、[01 ????]は値の参照命令なのだろうか?

ここまでの命令は立絵が消えているか、消えてないなら消すとかかな?

182:名無しさん@お腹いっぱい。
08/12/12 20:14:38 9awXovP7
>>179
★[0x02BEEB] [12]命令で飛んだ先
ここからがおそらく立絵を実際に表示させる命令群かな

・[4B](立絵呼び出しの命令?)->[01 EE 01](不明)->"nobunaga_A"
これは「char\nobunaga_A.ch」を呼び出してるのでしょう。

・"驚き"("nobunaga_A"との間に00が6バイト分続いてる)
これはnobunaga_A.chの中の表情ファイルの呼び出し命令かな?
これにより「char\nobuharuA04.tig」が呼び出されるわけだね。

・[03]~[03 12]と続いて[12]命令であっち行ったりこっち行ったり。
途中で・[3D]・[3F]・[40]のタグが出てくるけどまだ不明。
まさかとは思うが立絵の表示位置?

ちなみに[12]タグは同じmain.sd内でのアドレス移動なんで
これでおかしな挙動になるのかもね。

183:名無しさん@お腹いっぱい。
08/12/12 20:16:35 9awXovP7
>>179
★[0x02BE73]に[0E]があり[0x02BE7A]で終了。

謎の文字列だらけだと思ったが、分解してみるとなんとなく解るね。
立絵一つ表示でコレだけの命令があるのは、
キャラが2人以上並んだ時に表示位置をずらす関係だろうね。

ちと今回は自分でも解りにくい感じになってる。
なんせ移動が多くて何を意味してるのかさっぱりとは言わないが難しいね。

誰か援軍ぷり~ず。

184:名無しさん@お腹いっぱい。
08/12/12 20:52:02 9awXovP7
むむむっ
見返していたらなんとなく[03][0202][12]の繋がりが解ってきたぞ。

最初の
[03]~[01 49 02] [03 17] : [01]:参照せよ、[4902]:main.swn内のset_vanishを(main.swでの0x0924)
[FFFFFFFF][0202] : main.swでの0x0924がFFFFFFFFならば
[12]~[EB BE 02] : main.sd内の0x02BEEBへ飛べ。
かな?
[08]~からは[FFFFFFFF]で無かった場合の処理だね多分。
[12]はIF文ではなく単なるアドレス移動かもしれない。


185:名無しさん@お腹いっぱい。
08/12/12 21:37:38 a94ui+gk
凄いな
こんなにらしく動いてる改造スレ久し振りに見たぞ

186:名無しさん@お腹いっぱい。
08/12/12 22:53:30 wqhpjMwg
>>184
なんと言う人間タグパーサー(;゚Д゚)
ていうかオレも開眼したかも知れん。

[Address]: 0x0005258D 信長と最初にボードゲームで遊ぶシーン

[01] 21 C0 00 F7 0A 00 00
[01] 21 C3 00 84 38 01 00
[01] 21 C4 00 16 9D 01 00

1つめ[01] data block [0x00000AF7] => main.sd
56 04 EC 01
53 04 ED 01
=> 62 67 5C 62 67 30 34 2E 74 69 67 00 (bg/bg04.tig作戦会議とかする部屋)
3C 04 EE 01 00 64 00 00 00 62 67 5C 62 6C 69 6E 64 2E 74 69 67 00
0E 04 EF 01 (もどる)

2つめ[01] data block [0x00013884] => main.sd
08 06 1B 00 48 02 00 00 00 00 00 00 00 (set_x) X座標を0にしなさい
08 06 1C 00 49 02 00 00 00 00 00 00 00 (set_vanish) 絵消しフラグを0にしなさい
0E 06 1D 00 (もどる)

3つめ[01] data block [0x00019D16] => main.sd
>>179と似た感じで立ち絵信長基本
立ち絵って800x600の画像なのでX座標0で画面中央に表示される。

187:名無しさん@お腹いっぱい。
08/12/12 23:11:29 wqhpjMwg
うおお絶望した何か凄い絶望した。
[01]も[12]もmain.sd内のアドレスガシガシ参照してるじゃん。

っていうか>>171で自分で[01]タグからmain.sd内参照してるクセに
main.ev main.lb main.tkoのアドレスだけ書き換えても
うまく動くワケないじゃん(゚∀゚)!


188:名無しさん@お腹いっぱい。
08/12/12 23:17:02 cgn53N7C
>>176さんきゅ
順番確認した

それ、やっぱりSS天下統一と同じ格納方式
別口でNEW.DATを弄くって五島や種子島も出てくるようにした、天下統一アドバンスの在野シナリオがあるよ
(全国マップと城・街道の連結も書き換えて)

189:名無しさん@お腹いっぱい。
08/12/12 23:45:44 9awXovP7
>>186
立絵の位置はどうやって変わってるんだろうとメモリエディタで立絵表示中のフラグを観察してみると
[1F FF FF FF]やら[ED FE FF FF]がり、この数値を弄ると移動したので詳しく調べてみた。

立絵中央以外に表示する時は(今回のケースは2人を左右に並べる)
シーンは光秀がメイド服きるとこ。

「0xEC654」
[01] 5E 80 00 A2 38 01 00 <-位置情報01
[01] 5E 81 00 16 9D 01 00 <-信長の立絵
[01] 5E 83 00 66 38 01 00 <-位置情報02
[01] 5E 84 00 8C A1 01 00 <-光秀の立絵

位置情報01
[08] 06 21 00 48 02 00 00 00 1F FF FF FF
[08] 06 22 00 49 02 00 00 00 ED FE FF FF
[0E] 06 23 00

こうなってるわけだが
[08]での入力値が[00 1F FF FF FF]
これは2人を左右に表示させる命令ですぐ後の
[08]~[EDFFFFFF]もセットで命令される[0E]が命令の最後だもんね。

位置情報02
[08] 06 15 00 48 02 00 00 00 E1 00 00 00
[08] 06 16 00 49 02 00 00 00 13 01 00 00
[0E] 06 17 00

この4つの[08]で二人の表示位置を左右に分けているようだ。
「0x138A2」付近は立絵の表示位置情報がいくつか並んでいるっぽい。
というわけで[3D]・[3F]・[40]は関係なかったみたいだ。
なんだろコレ?


>>185
実際何人くらいこのスレ見てるんだろう?

190:名無しさん@お腹いっぱい。
08/12/12 23:51:39 9awXovP7
>>187
実際[12]とかイベント会話アドレスの間とか、
main.sdの最後の方にもあったり参照してたりするので絶望感が出てくる鬱陶しさだな
CGとかのパッケージ化もしてないんだし、
どうせならシーン毎に別ファイルにでもしてくれてればいいのにね。TXTのままでいいじゃん!

最悪アドレスの変更しないような改造で・・・・・・

191:名無しさん@お腹いっぱい。
08/12/12 23:59:50 cEs6WceF
みんな頑張ってるな。
とりあえずエディタができたら信玄タソハッピーエンドの製作に取り掛かりたい…

192:名無しさん@お腹いっぱい。
08/12/13 00:04:57 sUbNIxOZ
>>191
戦闘前とか後に適当な背景+立ち絵で適当な台詞しゃべらせるmodを・・・

193:名無しさん@お腹いっぱい。
08/12/13 00:55:36 S4p4CwSL
>>186 確認しました。その考え方で合ってると思う。

(set_x) (set_vanish) は立絵が無いときに[00000000]になっていて、
立絵があるときは[FFFFFFFF]になってる。

[08]タグの場合、入力値は5バイトで、[00~]が書き込み命令だと思う。
この場合は[00][00000000]になっているので、[00]書き込め[00000000]を、てな感じ。


また、[01]と[12]の違いもこんなかな?
[01]で参照した場合は[0E]に当たると、元の[01]のところに戻る。 <-アドレス参照
[12]の場合は参照先などで命令順を飛ばすとかに使っていて、
[0E]があっても[12]の位置に戻らず[01]のとこに戻る        <-アドレス移動

これ[66]やら[03]が解ってくると世界が広がるよ。多分

194:名無しさん@お腹いっぱい。
08/12/13 02:45:42 p9qG+31e
>>189
ツールがちょくちょくあるからRomはそれなりに居ると思う

195:名無しさん@お腹いっぱい。
08/12/13 03:56:02 TavppwVG
マジパねぇ絶望の果てにオレは再び開眼したかもしれん(; ・`д・´)
Youの家でも無事に動く事を願ってやまない…

URLリンク(apple.mokuren.ne.jp) DLKey:sghmod



196:名無しさん@お腹いっぱい。
08/12/13 10:12:37 lBDFnsWE
>>195
うほっ、いいシナリオエディタ

197:名無しさん@お腹いっぱい。
08/12/13 11:16:28 y/hHOkZE
>>195
殿!やんごとねぇツール作りましたな。野望達成にまた一歩。

ver.100
main.sdも弄りまくってたのでオリジナルに戻してからツールを実行。
新規ゲーム開始で、普通に「殿ッ、~」が始まったので、どこに原因があるのか探ってみた。

通常のシーンならこんな感じの変更でいけるみたいだけど、
ゲーム開始時だけは少し違うみたい
main.lbnを見ると「home_start_mouri」があり、今回改造した「mouri01」
と同じアドレスに飛ばしているので、

・main.lb
[0xB0](mouri01)→[E2 06 04] (元の値に戻す)
[0xA4](home_start_mouri)→[12 D1 32] (ケチャップのアドレス)

・main.sd
[0x32D29F]→[2C 00] (最後、[02]で飛ばす所。2C00はmain.lbの[0xB0])

にしたらケチャップシーンが終わったあと「殿ッ、今年こそ~」が始まった。
開始時に立絵の消去命令が入ってなかったので、信玄がスタンド使ってたがな。
うちだけなのかもしれないが。

198:名無しさん@お腹いっぱい。
08/12/13 13:54:20 TavppwVG
>>197
なんかウチだとhome_start_mouriだと動かなくて、mouri01にしたら動いたのでそんな感じに
しといたんだけど、なんかよくワカランので引数でmain.lbの書き換えたいindexを渡す感じに
してみた。(添付のbatは41と44を書き換える)

URLリンク(apple.mokuren.ne.jp) DLKey:sghmod

ためしに[08]タグ使って49 02 00 00に 00 01 00 00 00 とか 00 FF FF FF FF とかやって
set_vanishしてみたんだけど、信玄の立ち絵消えなかった…w

>>193
アレかね[01]は言うなればincludeで[12]goto(使ったコトないがw)みたいな感じかね?
[02]との兼ね合いとかどうなんだろう?とちょっと思うけど、
ひょっとしたら[02]の場合は、現在までのシーンで確保した領域をdeleteとかして解放
するのも込みなのかもねぇ。

>>196
スパルタ仕様ですんません(; ・`д・´)解析メンが増えたりすると
プログラムに割ける時間が増えてちょっとはマシになるかも知れません(; ・`д・´)


199:名無しさん@お腹いっぱい。
08/12/13 16:07:02 3/7rkk8/
[01]と[12]はそんな感じ。
[02]はmain.lb経由の移動命令じゃないかな?

似たような役割のタグが複数ある場合は、タグによって参照ファイルに違いがあるとかかな?

立絵を消すのは[01]タグがよいかな
例えばケチャップシーンだと [01 FE 15 01 93 E6 03 00]
これを最後の[02]タグとの間に挿入したら立絵が消えてから本編始まった。([02]のカウンターも+1して)

立絵消去のアドレスはキャラによって違うみたいだ。
・「0x03E693」信玄の場合(表情違っても消せるみたいだね)

[3E] 13 F7 00 01 F8 01 00 00 01 29 03 00 00 00 00 00 00 00  ←main.sw(shingen_C)と(shingen_vanish)の調査?(shingen_C)は07で固定されてるな
[40] 13 FA 00 00 32 00 00 00  ←?、[3E]とセットなのかな?、[3E]と[3F]の調査の終了命令かもね?
[08] 13 FE 00 29 03 00 00 00 00 00 00 00  ←shingen_vanish
[08] 13 FF 00 D9 02 00 00 00 00 00 00 00  ←shingen_x
[08] 13 02 01 89 02 00 00 00 00 00 00 00  ←shingen_view
[0E] 13 04 01 ←戻る

いろいろ調べるたびに1行目の[01 F8 01]が、
[01]:ただ単に見ろ、[F801]main.ibの[0x7E0]に見えて仕方がない。

200:名無しさん@お腹いっぱい。
08/12/13 17:17:54 Wzqs92ti
[01]:ただ単に見ろ、
[F801]:main.swの[0x7E0]をに見えて仕方がない。

だね。ごめん


201:名無しさん@お腹いっぱい。
08/12/13 18:02:23 TavppwVG
>>199
あーそうか。そういや[02]はmain.lbを参照してるんだったね。
立ち絵の処理系はコマンド群としてもう出来上がってるんだねぇ。
自前で[08]ポチポチ書くよりか[01]からコマンド群直接includeしちゃった方が
楽だし確実ってコトか(゚∀゚)

199の後半あたり読んでmain.swnにそんなフラグまであんのか…w
と思って改めて見てみたら1000個近くあるな…w

とりあえず↓main.swnをdumpしたもの.txt DLKey:sghmod
URLリンク(apple.mokuren.ne.jp)

なんか調べもせずにスゲ適当書くケド[3E]の中身って
if( shingen_C && shingen_vanish ) みたいな感じかねぇ?


202:名無しさん@お腹いっぱい。
08/12/13 18:11:17 TavppwVG
またスゲ適当に妄想書くケド、

[03] if( condition )
[3E] if( !condition )

とかで例えば

[3E] でshingen_Cのデータが正しく読み込めたかをチェックして
[40] でエラーダイアログを表示して
[08] 群で、とりあえずshingen_C表示言われたら無視しとくようにする

とか…?(;・∀・)


203:名無しさん@お腹いっぱい。
08/12/14 00:35:53 5Ll1RUPn
>>202
そうかエラーダイアログってのもあったね。なるほどそうかもしれん。
でも確認しづらいなこれは。

・[03]
>>179 の 
0x02BF09 : 03 0C 51 00 01 81 02 00 00 03 12 00 00
の中盤の[01][81 02 00 00]
これはmain.swの「set_vanish」を見ていると考えるとつじつまが合う。単純に1アドレスのみ見てるね。

・[3E]
[3E 13 F7 00](4byte) -> [01][F8 01 00 00](5byte) -> [01][29 03 00 00](5byte) -> [00 00 00 00 00](5byte)
>>199の[3E]~は上のように分解できるが、意味的にも参照してるのは、main.swでしょうね。
[F8 01]は常に固定されてる気がするので、この部分は何を調べているのかわからんな。
最後が5バイトなのが気になり、後半は書き込み命令かとも思って、
いろいろ弄ってみたが、具体的にどんな仕事してるのかわからなかった。


・[3F] : >>179で出てくるが、[3E]との違いがわからん。全く同じ構文だ。もしかしたら[08]の変形型かも。

・[3D] : [3E]の後半が2つになってるバージョンか?
[3D](4byte) -> [アドレス0](5) -> [アドレス1](5)->[00群1](5) -> [アドレス2](5)->[00群2](5)
これに関しては>>179を見てると[08]の複数命令にも見えてくる。

これらはイベント作成上、おそらく入力することがないと思うので、
バイト長くらいを調べておくだけでもいいかもしれない。

204:名無しさん@お腹いっぱい。
08/12/14 06:07:44 n3kogcN0
>>203
もしかしたら[3X]系のタグってif文みたいののバリエで
if( condition )
if( !condition )
if( conditionA && conditionB )
if( conditionA && !conditionB )
if( !conditionA && conditionB )
if( !conditionA && !conditionB )
こんな感じで論理積が論理和になっちゃってるバージョンとかも
イロイロと個別に実装されてんのかもねぇ。んで条件式は==0ばっかりとか。
そうするとflag位置を参照だけしてるっぽい動きも納得できる気がする。
(まぁ、納得したいがためのこじつけな気がしなくもないけど…w
# しかしまぁ、コレだけ色々複雑に出来るようにエンジンは作ってあるのに、
# ADVパートにほとんど活かされてない気がするねぇ…w
# むしろこの複雑さが逆に仇となってクソ重くなってる気がする…w

とりあえずID:5Ll1RUPn には皆まで言わずとももう分かってるぽいけど、>>187あたりから
オレがかなり方向性を変えたので、[3X]系タグの解析は自分が納得できる点あたりで、
いったんpendingしてください。キミのブッ壊れたタグ解析能力のおかげで、
イロイロと見えなかったものが見えるようになったよ。(中には見たくなかった真実も
あったりしたけど…w)心からのリスペクトを込めてありがとう(゚∀゚)!


205:名無しさん@お腹いっぱい。
08/12/14 06:18:44 n3kogcN0
で、main.sdの既存部分を書き換えるというアプローチではもうシャレにならない労力が
伴うコトが分かったので(その労力を払っても成功するかはワカンネ)
main.sdに新規にデータを継ぎ足して、main.lbとか比較的構造の単純なヤツをいじって
リンクの張り替え的なアプローチをしてみるコトにした。

■sgh_editor 超絶実験版 ver0.01 DLKey:sghmod
URLリンク(apple.mokuren.ne.jp)
↓こんなの
URLリンク(apple.mokuren.ne.jp)
URLリンク(apple.mokuren.ne.jp)

# ぶっちゃけこの手法で無理そうならもう撤退します(;・∀・)


206:名無しさん@お腹いっぱい。
08/12/14 10:04:00 +yJY6h9s
>>205
神!

形になったね。すばらしいツールになってきてる。
で、実験してみたけどうまく行ったよ。

あとはmain.lbの何処に追加するかの選択と、
シーン終了後の[02]がしっかり出来たらほぼ動くんじゃないかな?

・[02]
単純に「会う」で簡単な会話のときは[02]~[BE](main.lbnでのmeet_end)
回想シーンなどに関しては[02]~[02](main.lbnでのmain.txt)
シーン連結を考えないのならどっちかを末尾に加えるだけでいいかもね。

・[08]
ストーリー部分の差し替えは[08]が絡むからフラグリスト選択してそこに01を入力
[08][?? ?? ??] [(main.swnのリスト÷0x40)] [00 01 00 00 00]
てな感じで・・・

フラグの構造はいたってシンプル。
最初の[mode]、[char] はバグルかもしれんので弄らない。
[「キャラ名」_View]、[_x]、[__vanish] 及び
[「キャラ名」_A]、[「キャラ名」_B] なんかは立絵関係なんで弄らない。

「キャラ名_feeling」は会った回数なんで会うごとに+1されていくが、
[08]タグではここを追加することをやってないみたい。弄る必要性無し。

残りのイベントフラグは、イベント終了後に01が入力されるだけ。

このあたりを理解してると改造も楽だね。
まあ、フラグは後回しでいいと思う。

207:名無しさん@お腹いっぱい。
08/12/14 12:28:23 +yJY6h9s
>>205

回想シーンなどに関しては[02]~[02](main.lbnでのchar_scn_end)
の間違いだった。

作成したシーンを「会う」と置き換えてみたんだが、
[02]~[BE]を入れても、
作成したシーンを二回繰り返した後、置き換えたシーンの次のシーンにつながってしまったり
永遠にループしたりとやっかいだな。[02]が効いてない気がする。

実験的に1回目の会話イベントの最後の[02]に
2回目の会話イベントのmain.lbのアドレス入れてみたら、1回目の会話の無限ループが始まった。

[02]の代わりに[12]を入れてmain.sdの2回目の会話のアドレス入れたら1回目の会話の後に、すぐ2回目の会話が始まった。
もしかして[02]はmain.lb経由の移動命令ではないのかもしれない。

作成したシーンも最後の[02]を[12]に変えて適当なアドレス放り込んでみるとループしなくなった。
でも、上のように会話の連鎖もしないな。SLGパートに戻るだけ。

208:名無しさん@お腹いっぱい。
08/12/14 13:06:12 +yJY6h9s
追加シーンを2つ作成して
それぞれを誰か適当な人間の会話シーンに置き換えてみた。
[02]がなんだか頼りなくなってきたので、
[12]命令で追加シーン同士を連鎖させてみると、連鎖せず。
既存のシーンへ飛ばしてみると連鎖したりしなかったり・・・・・・落ちたり・・・
動きが読めん。

んで、とりあえず各シーン最後の 
[02]~を [12]~[38 39 01](これが安全なのかどうかは不明だが)

に変更したらエラーなく元に戻れた。
[12]で入力するアドレスをミスったら落ちる落ちる。

しかしまあ、いけそうだなコレ。

209:名無しさん@お腹いっぱい。
08/12/14 15:43:27 n3kogcN0
>>206-208
そうそうそうそうそう(゚∀゚)!
readmeに書いといた直近問題ズの移動系タグのハナシは、
この辺が結局プログラムに落とし込めるほど理解できて無いのよ。
どんな時に02なのか12なのか、とか。

でも02とか12でchar_scn_endに飛ばすってのはナルホドなぁ~って感じだわw
ちなみに入れ替えてみたシーンって信長?
BE(ウチではちょっとズレてるみたいだが)って名前自体はmeet_endになってるけど、
参照元ファイルはnobunaga_s.txtになってるみたいなんで、
汎用命令として使えちゃうのかな?(; ・`д・´)

とりあえず
>もしかして[02]はmain.lb経由の移動命令ではないのかもしれない。
この仮説が恐すぎる((((;゚Д゚))))


210:名無しさん@お腹いっぱい。
08/12/14 18:11:10 n3kogcN0
>>208
あぁぁわかったかも(; ・`д・´)
アレだよね?シーンA用のbin_source.datとシーンB用のbin_source.datを用意したとして、

[素のmain.sd][シーンA][シーンB]

みたいに連結してAの最後をBに繋げようとしたんだよね?

いずれ何とかしないとな~と思ってはいたが、実験版制限仕様に書き忘れていた項目が
あって、各タグのメタデータ領域は何も設定をしないとscene_id FEのevent_id 1から順に
自動的に振られている仕組みになっているのだ。

なので例えばシーンAが終わってシーンBに飛ばす
=>シーンB冒頭のタグが処理される…
=>がしかし、scene_id FEのevent_id 1でシーンA冒頭とかぶる…
=>かぶったのでシーンB冒頭のタグ要求が破棄される。
みたいなコトが内部で起こってるんじゃないかのぅ…?(; ・`д・´)

シーンIDはrc/system.iniのSCENE_IDで指定してるので、例えばシーンBをFDとかで
作ってやると上手く行くかも知れん。
それか、たぶんこの段階で256もevent_idを使っていないと思うので、
バイナリエディタで開いてシーンBの各タグのtt aa bb bbの bb2つめを01とかに
書き換えてもイイかも知れん。

何にせよコレで意図した通りに動いたら、オレの情報伝達ミスだ。
もの凄くコレで動く予感がするので先にあやまっておく。正直スマン(;´∀`)


211:名無しさん@お腹いっぱい。
08/12/14 20:21:29 +yJY6h9s
>>210
>>[素のmain.sd][シーンA][シーンB]
その通り。実験的にやってみた。
タグの後ろのFE????は適当に入れてる。数字がかぶらない程度。
[0F]の後ろの変な数字はとりあえず0000のまま。
入れ替え元のシーンは、信長の2回目くらいの汎用会話と半蔵の「ニンッ」

main.lbの毛利オープニングのとこもこのシーンにつなげてる。
シーン終了後すぐ1ターン目になった。

[12]命令で[char_scn_end]に飛ばした理由はなんとなく
[meet_end]に比べて命令が単純に見えたので。

[char_scn_end]は重要なシーン終了後、プレイ中の大名?のフラグチェックして
問題なければ最後にある[0E]に飛ばしてるだけだったので。

[meet_end]は背景の処理なのか立絵の処理なのか画像系の処理とフラグ調査をやってる。
一応ここに飛ばしてもエラーや不具合は起きていない。

[02]なんだが、
もう一度実験したらループ現象が起きなくなって普通に動いた。挙動不審だな。
使用するための条件とか環境が厳しいのかな?これが確実に動けば完成したも同然なんだが・・・

シーンの連結だけど、
既存のイベントでも綺麗につながるかどうかもわからないし、
普通つなげることはしないと思う。するんだったら一つのシーンに纏めたほうが管理しやすいし。
本来存在しないはずのアドレス同士の連結なんで厄介なんだろうな。

212:名無しさん@お腹いっぱい。
08/12/14 20:38:44 892+JQom
続き

シーンIDを[FF]と[FD]に変更するのを試したが、
シーンの連結はせず、何事もなくSLG画面に戻る。

となると[02]とか[12]って、ここで仕事してるのかな?
会話に関しては画像が出て話が出来て、
んでもって[08]が動けば問題ないのだが。

[02]が動いてないと、置き換えるシーンを誤ると
エンディングチェックが出来ず、エンディングを迎えられないとかでるかも。

ゲームの再起動は度々やってたんだが、
ループ現象とかも起きなくなってるのはWindwosの再起動でメモリがリフレッシュされたから?
わけわからんな。いまは安定してるんだよな。



213:名無しさん@お腹いっぱい。
08/12/14 20:52:03 892+JQom
あ~でも[02]とかが仕事してなかったら次のシーンとの切れ目がなくなるので、
二つのシーンが繋がるんだよな。

ということは、
命令としての[02]や[12]きちんと動いてるが、移動先アドレスを無視してる状態なのか、
移動先での処理でなんらかの制限が加わっているのか。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch