トップページ > 記事閲覧
【改造依頼】Venus Blood-RAGNAROK-
投稿日 : 2016/12/23(Fri) 17:09
投稿者 htmon
ID情報 : 4LweroyonNcd34TjRJhnc1
参照先
タイトル:Venus Blood -RAGNAROK-
メーカー:dualtail
製品URL:http://ninetail.tk/td13/index.html
エンジン:Unity?

4元素の所持数変更、メダリオン所持数変更、未開放メダリオンの開放、ユニットステータス変更等の機能を希望します。
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.1)
投稿日 : 2016/12/23(Fri) 17:32
投稿者 htmon
ID情報 : 4LweroyonNcd34TjRJhnc1
参照先
すごくやらかした感があるんですが、「SSGを投稿したり、ゲーム解析について語るスレ」 No342 でamateurさんがVBR体験版ver2用のSSGを公開されておられました。

そして、そのSSGが製品版でもそのまま動きそうな感じですね・・・
すべてを確認してる訳ではありませんが、資源リソースとメダリオンについては製品版1.01で正常動作を確認出来ました。

向こうのスレでお礼を書くのはスレ違いになりそうなんで、こちらで書かせて頂きます。 ありがとうございます。

さて、このスレッドどないしよ orz
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.2)
投稿日 : 2016/12/23(Fri) 18:07
投稿者 悠久
ID情報 : qWYPCa.oc6BiDFWMY2eth0
参照先
DL版がver.1.01適用済み状態らしいから、需要はあるかも。
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.3)
投稿日 : 2016/12/23(Fri) 18:12
投稿者 amateur◆kR..xsXL6RU
ID情報 : BeyA7MMIfzRm04vR3z1Pe1
参照先
別スレにアップしていた体験版用のSSGが動作するみたい?ですので、こちらにもアップしておきますね。
SSGの情報欄にも書いていますけど、体験版のプロセス名から推測し、
製品版用の実行ファイル(プロセス)名は、「VBR.exe」と書いていますが、
もし製品版でこのSSGが使えない場合は製品版のゲーム実行ファイル名を確認して、
「VBR.exe」ではなかったら、添付SSGの" [process]VBR.exe "の箇所を書き換えてください。
ゲームがDL版の場合、パッケージ版とはゲームプロセス名が異なっている可能性がありますので、
DL版をプレイしている場合は特にゲームプロセス名に気をつけてください。
パッケージ版とプロセス名が異なっていると、パッケージ版ではSSGが動作するのにDL版では動作しないということもあり得ます。

(重要)
添付SSGが正常動作するには、
「SpoilerALの修正パッチ」のスレッドで変態紳士さんがアップされている、
SpoilerAL本体の修正パッチ適用が必要です。
(できるだけスレッドトップの最新版のパッチを適用してください。古いパッチでは動作しない可能性があります)
なお、古いSpoilerAL修正パッチでは「version.dll」をSpoilerALのフォルダ内に置く仕様でしたが、
現在は「winmm.dll」を同フォルダ内に置く仕様となっており、
不要な「version.dll」がフォルダ内に残っていると、SpoilerAL修正パッチが正常に機能しないかもしれませんので、
もし「version.dll」が残っていれば削除してください。

また、ゲームがDL版の場合、knさんのSpoilerALプロセス選択ツール(リンク先のスレの(No.22)に添付)を使用しないと
SpoilerALがゲームプロセスを正しく選択できずにSSGが動作しない場合がありますので、
DL版で動作しない場合は上記ツールを使用してください。
なお、上記ツールを使用する際、SpoilerALを管理者権限で実行している場合は、上記ツールも管理者権限で実行することを忘れずに(でないとツールが正常動作しません)。

それと、製品版ではアイテムやユニットのリスト内容が変わってるかもしれないので、
MDX(※)の抽出用設定ファイルと、その抽出データを貼り付けると自動的にリストが出力される、
LibreOfficeのファイルも同梱しておきます。
製品版で体験版用のリストが使えなかったら、これらを利用して製品版用のリストを作成してください。
(添付SSGでは、ユニットリストしか使っていません。「VBR_UnitList.ssl」に書いています)

それと、もし添付SSGが使えなかったら、こちらのスレに七星さんがアップされているUnity解析用汎用SSGや、
こちらのスレの(No.52)で七星さんがアップされているmono用ツールを使えば解析が捗ると思いますのでご活用されることをオススメします。
なお、添付SSGの一番上の「解析用」の項目で表示されるアドレスを、
上記のmono用ツールのアドレス入力欄に貼り付けると、解析結果が表示されますので参考にどうぞ。
 (別スレの(No.342)に添付のスクショのような感じで使用してください)

※メモリ上から文字列や数値データを抽出可能な非常に便利なツールで、
こちらのリンク先から入手可能です。
 文字列はANSIしか抽出できませんが、UNICODEの場合はコード(数値)を抽出して、
 LibreOffice等の表計算ソフトの関数を使って文字列に変換可能です。
 (添付のオマケファイルではその手法で半自動的に、MDXで抽出したデータを文字列リスト化可能にしています)

(追記 12/28)
添付SSGを更新。詳細は>>20を参照
(追記 12/29)
添付SSGを更新。詳細は>>25を参照
(追記 12/31)
添付SSGを更新。詳細は>>30を参照
(追記 1/6)
添付SSGを更新。詳細は>>40を参照

↓の添付1個目はSSG、添付2個目はオマケファイル

記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.4)
投稿日 : 2016/12/23(Fri) 19:38
投稿者 htmon
ID情報 : 4LweroyonNcd34TjRJhnc1
参照先
>>3
amateurさん、ご対応ありがとうございます。
まだ1章の途中ですけど、今の所エラーとかもなく正常動作しております。
(パッケージ版+パッチ1.01環境、SpoilerAL修正パッチ16.12.20)

戦御村正の時と同じで、かゆい所にしっかり手が届くSSGだなぁと感心しきりです。

amateurさん、メダリオン関連の対応をして頂いた仔猫さん、解析ツールを公開して頂いた七星さんに感謝いたします。 ありがとうございました。
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.5)
投稿日 : 2016/12/24(Sat) 13:24
投稿者 ペイン
ID情報 : 7caesMRhS02kkluCao25Z0
参照先
DL版だとプロセス指定ツールつかっても出ませんでした。
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.6)
投稿日 : 2016/12/24(Sat) 13:52
投稿者 ペイン
ID情報 : 7caesMRhS02kkluCao25Z0
参照先
追記です。
動作環境
windows10 管理者付き(体験版.exe DL版.exe SSGもすべて)
体験版ver2,DL版両方数字を拾ってくれませんでした。
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.7)
投稿日 : 2016/12/24(Sat) 14:07
投稿者 わさはに
ID情報 : a1OyLO7gJZHGzPPe.YJ141
参照先
Win7-64bit DL版のVer1.01で
SpoilerAL 6.1 修正パッチを当てる
SpoilerAL起動→プロセス選択ツールでVBR.exe選択→SSGのVenusBlood-RAGNAROK- SLG体験版ver2を選択で改造できました
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.8)
投稿日 : 2016/12/24(Sat) 15:17
投稿者 amateur◆kR..xsXL6RU
ID情報 : Y2xkjxyD7THILBkVJmRi81
参照先
>>5 htmonさん、>>7 わさはにさん
動作確認のご報告ありがとうございます。

>>6 ペインさん
ゲームとSpoilerAL両方を管理者権限で実行されているならば、
>>3に私が書いたとおり、SpoilerALプロセス選択ツール自体も管理者権限で実行しないとツールが正常動作しません。
その点についても報告していただけないでしょうか。
>>7のわさはにさんのご報告を読む限り、DL版のプロセス名も「VBR.exe」で良さそうですが、
DL版の購入先によってはプロセス名も異なるのかもしれませんので、念のため、プロセス名もご確認ください。
プロセス名は、ゲーム起動後に、うさみみハリケーンのプロセス選択画面や、タスクマネージャーの「プロセス」(メモリ使用量が多いものが多分正解)で確認可能です。
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.9)
投稿日 : 2016/12/24(Sat) 16:09
投稿者 ペイン
ID情報 : 7caesMRhS02kkluCao25Z0
参照先
>>8
画面撮って見ました。こんな感じです。
うさみみでデータはいじってありますが・・・
ログインは管理者でやってますので、ナシでも今まで問題なかったのですが、動きませんでした。なので一応全部管理者権限を付けて実行してみました。
SpoilrtAL.exeに管理権限で実行のマークが付かないのでショートカット置いてわかりやすくしてあります。

記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.10)
投稿日 : 2016/12/24(Sat) 16:48
投稿者 amateur◆kR..xsXL6RU
ID情報 : Y2xkjxyD7THILBkVJmRi81
参照先
>>9
SpoilerALの修正パッチのスレッドのトップにある2016.12.20のパッチを適用していますか?
SpoilerALの修正パッチを当てていない、またはある程度以上古いパッチでは動作しないと思います。
それと、SSGのどの項目でも構いませんので、クリック(アクセス)した際の、
ガイドフォームの表示(SSGデバッグモードで)をコピーして貼り付けるか、スクショを添付いただけないでしょうか。
それで原因が分かるかもしれません。

体験版ですらSSGが動作しないとなると、プロセス名やプロセスの捕捉の問題ではなく、
SpoilerALの修正パッチ(古いパッチでは駄目)を適用していないか、
windows10ではアドレスがズレているか、どちらかの可能性が高いと思います。

追記
>>11 htmonさん
フォローありがとうございます。
成程、version.dllですか。これは私も見落としてました。
そういえば、以前、一度SpoilerALをフォルダごと削除し、DLしたSpoilerALのファイルを解凍
→パッチを再適用すると何故か正常動作するようになったという例を聞いたことがあったのですが、
もしかしたら旧パッチのversion.dllを削除せずSpoilerALのフォルダに残っていたのが原因なのかもですね。
一度フォルダごと削除すれば不要(というか残していたら駄目)なversion.dllも消えますから。
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.11)
投稿日 : 2016/12/24(Sat) 17:01
投稿者 htmon
ID情報 : 4LweroyonNcd34TjRJhnc1
参照先
>>9
自分が>>4で報告したのはWin7Pro 64bit環境でしたので、Win10Pro 64bit環境でも試しましたが、こちらでも正常に動作しております。

SSを拝見したのですが、version.dllが残っているのが気になります。
VBRのSSGを起動した状態で、SpoilrtALフォルダにあるwinmm.dllを別のフォルダに移動or削除(ゴミ箱行き)してみてください。
移動や削除が出来るなら、winmm.dllがフックされてない状態なのでこのSSGが正常に動かないはずです。

もし上記の状況に当てはまるのなら、version.dllをSpoilrtALを起動していない状態で削除または拡張子を変更(dlllとか、.old等に)の上で再度試してみるといいかもしれません。

正常にフックされている、version.dllを削除(リネーム)しても動かない場合、amateurさんも御指摘されてますが最新版のSpoilerAL修正パッチであるかの確認をされるといいかと思います。

見当違いだったらすみません。
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.12)
投稿日 : 2016/12/24(Sat) 18:40
投稿者 ペイン
ID情報 : 7caesMRhS02kkluCao25Z0
参照先
>>10,11
結論から行くと動きました。
SpoilrtALの動作が怪しいという話だったので新規にまるごと作る方向で行きました。
やったこと
SpoilrtALを新しくDLして新しいディレクトリを作って、パッチを当てる。
起動前にレジストリを削除、管理者権限を全部外す。
PC再起動。
VBR起動、SpoilrtAL起動 でokでした。
古いSpoilrtALのディレクトリも最新パッチあたってるのですが動作が怪しいっぽいのです。もう10年以上付き合いのあるディレクトリなんですが適当に掃除してみます・・・
対応ありがとうございました。
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.13)
投稿日 : 2016/12/24(Sat) 20:26
投稿者 enzr
ID情報 : eUlEJ1JGeYOSda5y7QlW10
参照先
DL版で使用できずに困っていたのですが相談を見させてもらって同じ方法で使用できるようになりました。ssgのおかげでバトルが苦手でもスキップしなくてよくなったり高難易度に行くことができたりとより楽しむ事ができています。
ssg作者様、解析者様方いつもありがとうございます。
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.14)
投稿日 : 2016/12/24(Sat) 22:26
投稿者 amateur◆kR..xsXL6RU
ID情報 : Y2xkjxyD7THILBkVJmRi81
参照先
私も>>11のhtmonさんの書込みを見て気付いたのですが、一応説明しておきますと、
別スレの(No.114)でパッチ製作者の変態紳士さんが書かれているとおり、

 SpoilerAL 6.1 修正パッチは、version.dll から winmm.dll へ変更しました。
 ※以前の version.dll は削除する必要があります。(どちらかが優先されてしまうので)

ということで、8/22ごろにパッチのファイル名が変更され、
それ以降のパッチを当てても「version.dll」は上書きされずそのまま残り、
変更後の「winmm.dll」が優先される仕様でもありません。
したがって、旧パッチである「version.dll」がSpoilerALのフォルダに残っていたら最新のパッチが動作しない可能性がありますので、
「version.dll」は削除されることをお勧めします。
(「version.dll」を残していても害(現在のパッチ「winmm.dll」の動作を阻害する)はあっても益はまずないです)

リアルタイムで上記リンク先のスレを読んでいた人でないと、気付かなくてもおかしくはないですね。
パッチを同梱した圧縮ファイルの中のreadmeに上記についての記載がないので。
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.15)
投稿日 : 2016/12/25(Sun) 18:14
投稿者 amateur◆kR..xsXL6RU
ID情報 : qP49YWohFNC0RXmWcxqeZ/
参照先
体験版を少し弄っていて先程気付いたのですが、
>>3のSSGの項目にある「ターン数【 】(マップ攻略時)」と「ターン経過数【 】(任務選択画面)」の値を合算したものが
マップ攻略時に画面で表示されるターン数になるようです。
製品版で同じ仕様かは分かりませんが、もしマップ攻略時の画面上の表示ターン数とSSG上の値が一致しない場合は、
「任務選択画面」の方のターン数が加算されているためだと思いますので、
「任務選択画面」の方のターン数をゼロにすれば一致するのではないかと。
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.16)
投稿日 : 2016/12/25(Sun) 22:20
投稿者 ポチ
ID情報 : By.uin3dAjzQpwj6sjOoZ1
参照先
DL板で動作いたしました。
解析してくださるみなさまには本当に感謝です。
動作環境はWinXPです。
今時XPなんか使っている人はいないと思いますが、一応この
OSでも動くと言うことで。
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.17)
投稿日 : 2016/12/27(Tue) 23:07
投稿者 amateur◆kR..xsXL6RU
ID情報 : qphLfxAB/WG.N8B0Qg.o00
参照先
>>3のSSGを少しだけ更新。
>>15に書いた件を考慮して、マップ攻略時のターン数の項目を修正し、
「解析用」の項目を修正・追加。
それと、ユニットデータ(師団データからでもOK)で種族・特攻を書換え可能にしましたが、
文字列書換えとなり多少面倒な仕様で、色々制限も多いです。(そもそもセーブ&ロードで元に戻りますし)
例えば、種族・特攻の元データの文字列が3文字以内の場合、書換え後の文字数は5文字が上限(文字列格納する領域が5文字分しかない)、
元データが4文字以上の場合は9文字が上限となります。
さらに、元の文字列データが空欄(オークガードの特攻など)の場合は、文字列自体を書き換えると不具合が生じるので、
苦肉の策として、文字列を参照しているポインタ自体を別ユニットのものに差し替える項目も追加しました。
元のデータが空欄であるオークガードの特攻などは、上記の項目を使ってください。
ついでに、全ユニットの特攻をリストから選択したユニットと同じデータに一括変更する項目と、その選択ユニットの特攻を変更する項目を追加。
元に戻したり別ユニットのデータに変更する場合はセーブ&ロードしてください。

また、Unity(吉里吉里やJavaも同様)では文字列を書き換えて文字数が変わった場合は文字数データも書換えが必要なのですが、
先月にSpoilerAL修正パッチで追加された「wcslen::」を使いチェック入れるだけで自動的に書換え後の文字数を書き込むようにSSGに書いてみたら、
何故かエラーで動作しない・・・何か使い方が間違ってるのかな?(wcslen::が追加されて以降の手持ちのパッチ適用で全て同様のエラーが出ています。添付スクショ参照)
>>3の添付SSGの381行目と392行目ですが、分かる方がいらっしゃれば教えていただけると有難いです。
自己解決できず仕方無いので、書換え後の文字数を自分で確認して電卓で入力してもらう仕様に・・・

なお、SSG差し替えに伴い、>>3の添付ファイル1個目がSSG、2個目がオマケファイルと分けました。

記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.18)
投稿日 : 2016/12/28(Wed) 04:11
投稿者 ななし
ID情報 : YgsX2TOVktO60iaq4M15y/
参照先
ありがてえ・・ありがてえ・・・
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.19)
投稿日 : 2016/12/28(Wed) 06:22
投稿者 変態紳士◆G9/eqTtPaq.
ID情報 : ZgqmTlfzW5VLT0g5up16t/
参照先
>>17 amateurさん
wcslenを修正しました。
それからローカルプロセス(SpoilerAL)にメモリを確保できるようにしました。
(ゲーム側に確保するとアレなので)
サンプルとして差分を添付します。

記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.20)
投稿日 : 2016/12/28(Wed) 22:36
投稿者 amateur◆kR..xsXL6RU
ID情報 : cqU2Z2HmrpAf64Euu9SgP1
参照先
>>19 変態紳士さん
パッチ更新ありがとうございます。
wcslenを使った項目が正常動作するようになりました。
一々文字数を数える必要がなくなって便利に・・・この演算子は文字列書換えで重宝しそうです。
それと、SpoilerAL側にメモリ確保可能になったんですね。
こちらも更新ありがとうございます。
ゲーム側よりSpoilerAL側にメモリ確保した方が安全?なのでしょうか。
表示ずらし用とか、SpoilerALで演算するための変数なんかはAL側に確保したメモリ使う方が良さそうな気がしますが。
添付いただいたテキストとHowToSSGの差分(これも更新いただいて感謝です)を参考に色々試してみます。

ということで、>>17に書いた種族・特攻の文字数データの書換えの件、
変態紳士さんがSpoilerAL修正パッチを更新して対応くださったので、
wcslen::を使いチェック入れるだけで自動的に文字列書換え後の文字数に修正できるようになりました。
他に、種族・特攻の文字列書換えの条件判定(元が3文字以内か4文字以上か)について、
最初の書換えは大丈夫なのですが、3文字→5文字のように一度書き換えた後は条件が不適切になるので、
文字数に依存しない条件式に変更しました。変更後の条件式も100%大丈夫という自信はありませんが・・・
機能追加は特にありませんが、上記の内容で>>3のSSGを更新しましたので、
昨日更新分をDLされた方は、お手数ですが再DLしていただいた方が良いと思います。

なお、更新分のSSGが正常動作するには「SpoilerALの修正パッチ」のスレのトップにある最新パッチ適用が必要です。
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.21)
投稿日 : 2016/12/29(Thu) 18:02
投稿者 ななこ
ID情報 : GLVgIJpewgIvuXJbsZadC.
参照先
好感度って変えられないんでしたっけ
既に実装されてたらすみません
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.22)
投稿日 : 2016/12/29(Thu) 19:27
投稿者 amateur◆kR..xsXL6RU
ID情報 : HmN1drNwh1s0sgYfJMjmW0
参照先
>>21 ななこさん
私は好感度が変動する時点までプレイしてませんし、する気もありませんのでマトモに調べられませんが、
userDataSet → Flags (SSGの「解析用」の項目でアドレスは表示されますので、うさみみ等で確認可能)
の領域に各キャラの好感度と個別シナリオ選択回数が格納されているようです。
とりあえずリンデの情報だけ。

// [:MName::mono.dll::mono_get_root_domain +0x1:] = 0x101F52CC (ベースアドレス)
[define BASE] [:MName::mono.dll::mono_get_root_domain +0x1:]
[define UserData] [:[:[:[:[:{BASE}:]+0x50:]+0x128:]:]+0x28:]

リンデの好感度のアドレス
[:{UserData}+0x8:]+0x28

リンデの個別シナリオ選択回数のアドレス
[:{UserData}+0x8:]+0x2D0

他のキャラの好感度等もこのアドレス周辺に多分あると思います。
私は体験版の超序盤しかプレイしてませんので、他のキャラについては確認できません。
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.23)
投稿日 : 2016/12/29(Thu) 20:10
投稿者 ななこ
ID情報 : yPH7Yf2Ag9ecBvWakJxhz.
参照先
>>22 amateurさん
ご丁寧にありがとうございます。
いただいた情報で確認してみます。

お手数をおかけしました。
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.24)
投稿日 : 2016/12/29(Thu) 20:20
投稿者 変態紳士◆G9/eqTtPaq.
ID情報 : 2z67YVPX0XPp593v4i4EG/
参照先
>>20 amateurさん
>ゲーム側よりSpoilerAL側にメモリ確保した方が安全?なのでしょうか。
安全です。
ゲームの環境が変わってしまうと言えば大げさですが、ゲーム側で管理するべきではないです。
対象のプロセスに確保する場合は、解析などに限定した方がいいと思います。

ゲーム側に確保した場合
・ゲーム側のプロセスのメモリ空間のサイズが変更される
・確保のタイミング次第で対象のアドレスがズレる可能性もある
・ゲーム側を再起動するとALが意味不明なアドレスにアクセスする
・SpoilerALが落ちると解放できなくなる(ゲーム終了時にOSが解放)

ただし、SpoilerAL側に確保するとパラサイトルーチンには使えません。
解析用でないSSGの場合、パラサイトルーチンはコード領域の終わりに書き込むといいです。
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.25)
投稿日 : 2016/12/29(Thu) 22:50
投稿者 amateur◆kR..xsXL6RU
ID情報 : HmN1drNwh1s0sgYfJMjmW0
参照先
>>22に書いた各キャラの好感度と個別シナリオ選択回数について、
SSGに追加しましたので、>>3の添付SSGを更新。
リンデしかキャラ名は表示しませんが、前後のアドレスの値も表示しますので、
ゲーム画面上の値と見比べて各キャラのアドレスを見つけてください。
なお、不明部分は全然別のフラグの可能性もあるので変更する際は慎重に願います。
下手に弄るとゲームがフリーズしますので。

それと一応書いておきますが、任務選択画面時にSSG等で好感度等を変更しても、
「軍事作戦司令室」等の会話イベントに入って戻る等しないと、画面上の表示は更新されません。

なお、製品版をプレイしている方が不明部分のアドレスオフセットとキャラ名をご報告くだされば、より正確なものに修正できると思います。


>>24 変態紳士さん
丁寧なご解説ありがとうございます。
やはり、ゲーム側にメモリ確保するのは色々問題があるのですね。
今後はできるだけSpoilerAL側にメモリ確保したいと思います。

>パラサイトルーチンはコード領域の終わりに書き込むといいです。
成程、そういう方法もありますね。
そういえば、「_ MName::nul:+.text」等でセグメントアドレスにサイズを加算したアドレスを見てみると、
そこから後ろのアドレスは、次のセグメント開始アドレスまで空き領域となっている場合がありますね。
そういう箇所にパラサイトルーチンを埋め込むわけですか。
いつも色々教えていただいてありがとうございます。


追記;
>>3の添付SSGを更新。好感度と個別シナリオ選択回数のオフセット表記を修正
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.26)
投稿日 : 2016/12/30(Fri) 22:18
投稿者 amateur◆kR..xsXL6RU
ID情報 : vn9BbQzx44Y5081lBrbdk/
参照先
好感度とシナリオ選択回数のアドレスについて追加で少し解析してみました。
 (下記のアドレスは私が解析した際のもので、固定ではなく変動します)

リンデのシナリオ選択回数のアドレス:041772D0
041772D0 で読み込みブレーク
EAX=1460DD10 EBX=055BF500 ECX=00000000 EDX=000000B0
ESP=0028F310 EBP=0028F328 ESI=1F3E41E0 EDI=1F3E41E0
EIP=056919F4 EFlags=00200206 [ I P ]
Stack dump:
1460DDA8 1460DD10 0028F328 0569123B
13211FC0 055BF500 0028F368 0569177C

 (下記は、EIP=056919F4 の前の部分の逆アセンブルコード)
056919D3 8BC8 MOV ECX,EAX
056919D5 8B45 EC MOV EAX,[EBP-14]
056919D8 8B49 08 MOV ECX,[ECX+8]
056919DB 8B55 0C MOV EDX,[EBP+C]
056919DE 81C2 AA000000 ADD EDX,AA
056919E4 42 INC EDX
056919E5 3951 0C CMP [ECX+C],EDX
056919E8 0F86 7B010000 JBE 05691B69
056919EE 8D4C91 10 LEA ECX,[ECX+EDX*4+10]
056919F2 8B09 MOV ECX,[ECX]

上記で、056919DB 8B55 0C MOV EDX,[EBP+C] からコードを読んでいくと、
MOV EDX,[EBP+C]
→ "EBP(=0028F328)+C"のアドレスを確認すると、[EBP+C] = 0x5
→ EDX = 0x5
; ADD EDX,AA
→ EDX = 0x5 + 0xAA = 0xAF
→ INC EDX
→ EDX=0xAF +1 = 0xB0 (→ブレーク時の EDX=000000B0 と一致)

上記で、"ADD EDX,AA"から考えて、EDX = 0xAA が基準となる感じですので、
 LEA ECX,[ECX+EDX*4+10] から、1人目のアドレスは、
 EDX(=0xAA)*4+0x10 = 0x2B8 が領域先頭からのオフセットとなりそうで、(LEA命令実行前の"ECX"が領域先頭アドレスに相当)
SSG上でリンデ(領域先頭からのオフセットは0x2D0)の6個上の箇所(-0x18) = 0x02B8 (領域先頭からのオフセット)
が1人目のシナリオ選択回数のアドレスっぽいですね。とすると、リンデは7人目?
そして、好感度のアドレスも、リンデが7人目と考えると、
領域先頭からのオフセットが 0x10 が1人目の好感度のアドレスのような気がします。

実際、ゲームの任務選択画面でのキャラアイコン(行動値等の表示の右側)の部分を見ると、
リンデの前に丁度6人分くらいのアイコンを表示するスペースが空いてますので(体験版の最序盤)。
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.27)
投稿日 : 2016/12/30(Fri) 23:34
投稿者 匿名
ID情報 : hEW/VNB8JKsHBgDk2wrHz/
参照先
0x14 がブリュンヒルデですが、見た感じ左隣には入る気がしませんね
となると 0x14 が1人目なのかな

記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.28)
投稿日 : 2016/12/31(Sat) 01:55
投稿者 amateur◆kR..xsXL6RU
ID情報 : OCNzwjKXGVVS7mbTbHNdN1
参照先
>>27
情報ありがとうございます。
公式ページのキャラ紹介でもブリュンヒルデが最初になってますので、
どうも1人目はブリュンヒルデで(オフセット0x14)、リンデは6人目のようですね。
というわけで、匿名さんの情報を基に、>>3のSSGを修正しました。
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.29)
投稿日 : 2016/12/31(Sat) 02:30
投稿者 htmon
ID情報 : 4LweroyonNcd34TjRJhnc1
参照先
報告文を書いてたらSSGが更新されていた件についてw
あわててアプデして書き直しww

>>28
amateurさん、更新ありがとうございます。
・各ヒロインキャラの好感度表示、及び変更
・各ヒロインユニットの個別シナリオ選択回数の表示、及び変更
・各ユニットの種族と特攻の変更
上記3点について正常動作を確認出来ました。 (Win7Pro64、V1.01)

補足
7章でのゲーム画面での好感度とSSGの表示をSSで上げておきます。
ブリュンヒルデ以降のキャラ名が、ファナ・フローラ・ウルル・ナンナ・リンデ・シギュン・ヘルモーズになると思います。
(個別シナリオ側も同様)

これ以外にも他の章をロードしてみたのですが、未加入キャラがいる状態でも場所が変更されていない事を確認。

CG埋めにすごく助かる改造になりました。(フラグ調整めんどくさいねんw)
amateurさんと、改造パッチへの対応をして頂いた変態紳士さんに改めてお礼申し上げます。

記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.30)
投稿日 : 2016/12/31(Sat) 03:10
投稿者 amateur◆kR..xsXL6RU
ID情報 : OCNzwjKXGVVS7mbTbHNdN1
参照先
>>29 htmonさん
動作確認のご報告と情報提供ありがとうございます。
htmonさんの情報を基に、>>3のSSGの好感度と個別シナリオ選択回数の項目を修正しました。

それと、>>24の変態紳士さんからのご助言(メモリ確保はゲーム側ではなくSpoilerAL側にすべき旨)を受け、
アイテムやユニットの表示ずらし等に使う入力値は、SpoilerAL側に確保したメモリに書き込むように変更しました。
ざっと動作確認したところ正常動作しているようですが、問題があればご報告ください。
(正常動作するには、SpoilerALの修正パッチ最新版:2016.12.28 の適用必須です)

メモリ確保をSpoilerAL側に変更したことにより影響を受ける項目は、以下のとおり。
 アイテム、ユニットの表示ずらし
 ユニットデータの、特攻を選択キャラと同じデータに変更する項目
 味方ユニット一括変更系の、ステータス加算値を入力値に一括変更と、特攻を選択キャラと同じデータに一括変更
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.31)
投稿日 : 2017/01/03(Tue) 10:25
投稿者 htmon
ID情報 : ..sSnN8zspRUiq19I4K281
参照先
あけましておめでとうございます。
甥っ子・姪っ子の襲撃で、迂闊にゲームが出来ない状況でしたw

>>30
即時更新ありがとうございます。 あの後寝てしまった&上記理由で返信が遅くなって済みません。

このVerでも、特に問題になる所は見当たりませんでした。
(Win7Pro64、Ver.1.02環境)
周回数7のデータで1時間ほど遊んでみましたが、メモリ関連でもエラーやハングなどは特にありませんでした。

今年もよろしくお願い申し上げます。
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.32)
投稿日 : 2017/01/03(Tue) 19:25
投稿者 amateur◆kR..xsXL6RU
ID情報 : uY3Sx4fQWCvQt8wtFZy6//
参照先
>>31 htmonさん
今年もよろしくお願いします。
動作報告ありがとうございます。
Ver1.02でも動いているとのことで、Unityはアドレスやポインタがズレにくいのでしょうかね。
ベースアドレスはUnityの大まかなバージョンが同じなら多分変わらないと思いますが。
ゲームが違ってもUnityならベースアドレスは同じことが多かったり・・・
Verアップで修正せずに済むのは楽でいいですけど(動作しなくなってもこのゲームには対応できませんが)
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.33)
投稿日 : 2017/01/04(Wed) 20:36
投稿者 アール
ID情報 : WG0rOz2hsftydNclrD7fn1
参照先
はじめまして
アイテムデータ、味方データ、敵ユニットデータには何も見つかりませんでした、他の部分は正常に作動しました
*はじめて日本語で交流しますので、手違いの所が多いかもしれません、よろしくお願いします
*win7 64 1.01DL版です
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.34)
投稿日 : 2017/01/04(Wed) 23:06
投稿者 amateur◆kR..xsXL6RU
ID情報 : JFjjDlsqPMvc8SrnHyRz21
参照先
>>33 アールさん

>>30に書きましたが、
アイテムデータ、味方データ、敵ユニットデータについてはいずれも、
SpoilerAL側に確保したメモリアドレスに表示をずらすための値を書込むように変更しましたが、
 (正常動作するには、SpoilerALの修正パッチ最新版:2016.12.28 の適用必須です)
と書かせていただいています。

なお、表示をずらさなくても、各アイテムやユニットデータのアドレスコーディングには、
SpoilerAL側に確保したメモリアドレスの値を使ってますので、2016.12.28以降のパッチを適用しないと正常に動作はしません。
今現在のSpoilerAL修正の最新パッチは2017.01.01になっていますが、おそらく正常動作すると思います。

というわけで、SpoilerAL本体修正の最新パッチを適用しているかご確認ください。
日本語は読みにくいかもしれませんが、SSG修正のたびに注意事項は書いていますので、
このスレッドのログは一通り読んでくださるようお願いします。
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.35)
投稿日 : 2017/01/04(Wed) 23:21
投稿者 変態紳士◆G9/eqTtPaq.
ID情報 : wiV1gw0vQHsY9cKSTlNLa/
参照先
>>33 アールさん
あなたは以下を見落としています。
you was overlook the following.

>>30
>正常動作するには、SpoilerALの修正パッチ最新版:2016.12.28 の適用必須です
for work properly, its require latest SpoilerAL patch: 2016.12.28.
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.36)
投稿日 : 2017/01/05(Thu) 01:30
投稿者 amateur◆kR..xsXL6RU
ID情報 : bAoi9mIAwag5Gbdgcdh781
参照先
>>35
変態紳士さん、フォローありがとうございます。
少し前の別スレでの件に続いてですね。
この掲示板、予想以上に国際化が進んでいるのでしょうか?
私もせめて英語での読み書きくらいは、とは思っているものの・・・

ご挨拶が遅れましたが、昨年は大変お世話になりました。
今年も何かとお願いすることが多いかと思いますが、よろしくお願いいたします。
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.37)
投稿日 : 2017/01/05(Thu) 22:06
投稿者 アール
ID情報 : HzTI89.hF9S2RTEJY0jSI.
参照先
>>34 35
あ。これは自分の落ち度でした
お手を煩わせまして申し訳ありません、
*英語は赤点しかとれないほど破滅的です、話しても多分意味がわかりません、このままで大丈夫だと思います
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.38)
投稿日 : 2017/01/06(Fri) 19:53
投稿者 noel
ID情報 : mjp0lbFNU.59ezboDez1c1
参照先
細かいことかもしれませんがgameData_SSCにおいて、
ターン経過数、治世、覇道の
●●●/_:calc,
の●の所が全部行動値になっています。

ついでに
[subject]破滅【 '+' _mem, 0x8C, 4,num ,??,%d '+' 】/破滅/_:calc, 0x8C, 0, 99, unsigned
とすると破滅値を弄れます。

ユニットリストの●を埋めてみたのでテキストファイルを添付しています。
Ver.1.01の時に埋めましたがVer.1.02でも使えているので大丈夫だと思います。
(ミスがあったらすみません)

記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.39)
投稿日 : 2017/01/06(Fri) 21:46
投稿者 真桜
ID情報 : erHyK3u5Y0EU6goS7xt/c0
参照先
とてもありがたく使用させてもらっています。
図々しいお願いだとは思うのですが、
キャラが固有でもっているスキルの変更できると
よりキャラ愛師団が作れてありがたいのですが。
お願いします。
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.40)
投稿日 : 2017/01/06(Fri) 22:22
投稿者 amateur◆kR..xsXL6RU
ID情報 : 4BVwi74Y8OGGrJbmCfOJs/
参照先
>>38 noelさん
ご指摘と情報提供ありがとうございます。
該当箇所を修正、「破滅」の項目を追加して>>3のSSGを差し替えました。

ユニットリストについては、一応そのままにしています。
>>3に書いたとおり、MDXと表計算ソフト(※)を使えば簡単にユニットリストは完成すると思いますので。
(※フリーのLibreOfficeでOK。2013より前の古いExcelでは関数が対応しておらず多分駄目)
添付のオマケファイルに入ってるLibreOfficeのファイルとMDXの設定ファイルを利用すれば(多分そのまま使える)、
所要時間は3分もかからず、ミスの心配無しに作成できるはず(表計算ソフトにバグでもあれば別ですが)。

ちなみにLibreOfficeのファイルは元々Unity製ゲーム汎用として作ったものをこのゲームに流用しただけなので、
多分他のUnityのゲームにも使えると思います。MDXの設定ファイルはゲームに応じてある程度修正必要ですが。

>>3にも書きましたが、七星さんが公開されているUnity解析用の汎用SSGやツールを使えば他にも色々SSGに追加できる項目は見つかると思います。
私はこれ以上機能追加する気力がないので放置しているだけでして。
特にこちらのスレには書かなかったですが、SSGの改変・流用・再アップ等はこの掲示板内であればご自由にどうぞ。
別のUnityのゲーム等に内容の一部流用等も全く問題ないです。
ただ、知らない間にトラブルが起こっては困るので、この掲示板と全く関係の無い場所への再アップ等はNGということにします。
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.41)
投稿日 : 2017/01/07(Sat) 00:13
投稿者 amateur◆kR..xsXL6RU
ID情報 : uzAqlbGinIz1HZMEqc65j/
参照先
>>39
元々体験版用のSSGをアップしていたスレにも書いていたのですが、
スキル変更は、やる気さえあれば可能ですが面倒すぎるのでパスしました。
スキル変更にはUnicode文字列(スキルの名称とID。IDも文字列)の書換えが必要です(前にちょろっと見た感じで)。
文字列の書換えは、文字数の書換えも必要な上に、上記のとおりスキル1個につき文字列を2箇所書換えが必要と面倒で、
このゲーム自体には興味のない私(Unity解析の興味があっただけ)はやる気になりません。
各ユニットデータの領域にスキル関係のアドレス(ポインタ)もあるので、やる気のある方にお願いします。
多分、ダブルリスト項目を使えば書換えできると思います。

一応、>>3のSSGにスキルデータと戦術スキルデータを追加しました(各ユニットのスキルの変更機能ではない)。
IDと名称を表示するようにしましたのでこれを参考にどうぞ。
オマケファイルに入ってるMDXの設定ファイルを修正して、添付のLibreOfficeのファイルを使えば、
スキルリストも簡単に作成可能だと思います。
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.42)
投稿日 : 2017/01/07(Sat) 07:39
投稿者 真桜
ID情報 : erHyK3u5Y0EU6goS7xt/c0
参照先
>>38,39
amateurさん返信していただいてありがとうございます。
少し自分で勉強しながら頑張ってみます。
わざわざありがとうございました。
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.43)
投稿日 : 2017/01/09(Mon) 04:38
投稿者 amateur◆kR..xsXL6RU
ID情報 : z34E2S/rqpqqhqYLshlsI/
参照先
>>3のSSGに機能追加しましたが、不具合が色々あるかもですので、こちらに別にアップします。
 ※つい最近SpoilerAL修正パッチで追加された新機能を使ってますので、最新版のSpoilerAL修正パッチの適用必須です。

@「味方ユニットデータ一括変更系」に、「全ユニットを一括して未行動状態にする」を追加。
行動済み師団が全て再行動可能になると思います。
一応、各ユニットデータにも行動済み判定項目を設けたので個別に未行動に変更できますが、一括変更を使う方が便利かと。

A 各ユニットのスキルと師団の戦術スキル変更を可能にしました。
ただし、セーブ&ロードするとデフォルトのスキルに戻りますので正直使いにくいと思いますが・・・
なお、特攻の文字列書換えと同様、スキルについても元が空欄の場合は書換え不可です(不具合が生じるので)。
また、戦術スキルは制限が多いです。戦術スキルの文字数は最小で4文字、最大で11文字と幅が大きく、
各戦術スキルごとにメモリ上で格納可能な文字数が異なるので、
元が4文字(7文字以下)の場合は最大9文字しか書き込む領域がないのに、10文字のスキル名を書き込んだりすると不具合が起こります。
なので、元が8文字以上でないと書換え不可能にしました(8文字以上なら最大13文字まで変更可能なので)
なお、他のスキル書換えでも同様ですが、元が8文字以上なのに書き込みができない(条件判定でエラーとなる)場合がありますが、
これは、セーブ&ロードをすると、文字列格納するメモリ領域が本来よりも少なくなることがあるのが原因のようです。
上記のようにスキル書換えがうまく行かない場合は、一度ゲームとSpoilerALを終了し、再起動してみてください。
 追記;戦術スキルはレベルが低いと書き換えても表示されない場合があります

それと、師団の戦術スキルについて、書き換えると何故か「師団情報」の戦術スキルの表示箇所に、
「Lv.2」等、レベル表示しかされない場合がありますが、原因は不明です。
「作戦設定」で確認すると、スキル名も表示されるのですが・・・何か不具合があるかもですが検証はしてません。

また、添付の戦術スキルリストのとおり、体験版ではメモリ上で戦術スキル名が伏字になっている部分が多く、
不完全なリスト及びダブルリスト項目に使う書き込むバイト列(=スキル名の文字列に相当)、になっています。
メモリからMDXでデータ抽出する設定ファイルと、
抽出データを貼り付けると自動的に文字列リストとダブルリスト項目に使う書き込むバイト列を出力するLibreOfficeのファイルを
オマケで付けますので(添付ファイル2個目)、製品版用のリストを作成する際にどうぞ。

なお、戦術スキルは10文字を超えるものがあるので、10文字目までと11-20文字目の分を別々に抽出して(設定ファイルも別にしてます)、
LibreOfficeのファイルに、それぞれシート1個目と2個目のA列に貼り付けると(元から貼ってあるデータは体験版用のものなので削除する)、
シート3個目に自動的に両者を連結して1-20文字目までの文字列とバイト列を出力します。
文字列リストはこれで完成。(ファイル「VBR_Skill.ssl」の[group]TacticsSkill_list に上書きして貼り付け)
バイト列の方はコピーして一旦テキストエディタに貼り付けてから、
再度コピーして別添のダブルリストのリスト作成用のファイルのD列(師団用のシートはE列)に貼り付ければ自動的に書換え用リストが完成です(貼り付けた右隣の列がSSG用のリストになる)。
(最初からD列(師団用はE列)にあるのは体験版用のスキル名のバイト列です。削除して製品版用のバイト列を貼り付けてください)
後は、ファイル「VBR_Skill.ssl」の後ろの2つの[group](上がユニット用、下が師団用)に上書きして貼り付ければリスト修正は完了。

最後に、追加したスキル変更機能は、使えたらラッキー程度の機能と思ってください。
書き換えて表示は変わったけど実際には効果が無かった等があっても、それが仕様だと思ってください。
完璧で問題のない機能にする気力もないですし、そんな能力も私にはありません。
もし何らかの不具合等で使えなかったら、スキル変更は諦めるか、ご自身で対処なさってください。
今度こそ、機能追加はこれで終了です。

しかし、Unityの文字列書換えは面倒すぎますね。元の文字数によって文字列格納可能な領域がかなり限られるので、
書換えがやりにくい・・・この点ではこのメーカーが以前使ってた吉里吉里の方が、文字列格納領域にかなり余裕があって楽でした。
また、このメーカーは吉里吉里使ってた頃からスキルやアイテムの性能等に何故か文字列を多用するので、
尚更Unityとは(SSGでの文字列書換え的な意味で)相性が悪いです。
・・・スキルIDが何で文字列なんだ・・・しかも戦術スキルにはIDとは別にIndex(これは数値)もあって、だったらID要らないだろと思わずツッコミが・・・
そのせいで師団の戦術スキルは文字列2箇所(名称とID)とそれぞれの文字数、さらにはIndexの数値書換えをダブルリストの「,アドレス=バイト列」の複数書換え書式を各行に使って書換えしてます・・・

(疲れた・・・この連休で別のゲームエンジンの解析するつもりが、気力も時間も無くなった・・・)

(追記 1/11)
添付1個目のSSGを差し替え

↓添付1個目がSSG、2個目がオマケファイル(製品版用のスキルリスト作成用)

記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.44)
投稿日 : 2017/01/11(Wed) 03:34
投稿者 amateur◆kR..xsXL6RU
ID情報 : V5veEX5Yqd3PAaGVLiNSQ0
参照先
>>43のSSG(添付1個目)を差し替え。
これで機能追加終了と言いながら、ユニットのスキル変更のついでに、アイテムの付加スキルを変更可能にしました。
付加スキルはアイテム1個につき2つまでなのに、間違えて4つ分項目があったのもついでに修正。
ユニットのスキルと同様、元が空欄の場合は直接書換え不可です。
(このゲームでは文字列データ部分は全て、空欄の書換えは不可っぽいです)
その場合は別のアイテムと同じスキルに変更する項目の方を使ってください。
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.45)
投稿日 : 2017/01/12(Thu) 18:28
投稿者 真桜
ID情報 : erHyK3u5Y0EU6goS7xt/c0
参照先
>>amateurさん
SSGの機能追加ありがとうございます。
しっかりと変更が可能です。
わがままに対応していただき本当にありがとうございました。
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.46)
投稿日 : 2017/02/06(Mon) 21:20
投稿者 ロリ研究会会長
ID情報 : nUCTICppTbbebbsnf/4FT/
参照先
>>amateurさん
SSGをありがとうございます。
現在の味方10師団のフォースを一括変更する機能を追加していただきますでしょうか?
記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.47)
投稿日 : 2017/02/06(Mon) 22:09
投稿者 amateur◆kR..xsXL6RU
ID情報 : UoxAeoZN.eOevBgpjSZlr0
参照先
>>46 ロリ研究会会長さん
機能追加するつもりは無かったのですが、大した手間でも無かったので追加しました。
「現在の味方師団セットのデータ(最大10師団)」の中にあります。
なお、体験版でしか動作確認はしていません。

記事編集 編集
Re: 【改造依頼】Venus Blood-RAGNAROK- (No.48)
投稿日 : 2017/02/07(Tue) 00:46
投稿者 ロリ研究会会長
ID情報 : qBNoagVCCneEguZ8wL9DC/
参照先
ありがとうございます!とても助かります!
1.04でも問題なく使用できます。
記事編集 編集
件名 スレッドをトップへソート
名前
メールアドレス
URL
ファイル添付


暗証キー
画像認証 (右画像の数字を入力) 投稿キー
コメント

- WEB PATIO -