トップページ > 記事閲覧
【改造投稿】 グレイメルカ 【SSG】
投稿日 : 2016/10/06(Thu) 22:38
投稿者 amateur◆kR..xsXL6RU
ID情報 : mgj3sQGTE0B7X1NLcNXds.
参照先
【タイトル】グレイメルカ
【ゲーム作者】シニカルとレトリック
【ゲームのVer】1.21
【ゲームエンジン】System3.9 Ver.5.49
【その他】フリーゲームです。ゲームのDLは公式ページから。
---------------
(重要)
このSSGが正常動作するには、
「SpoilerALの修正パッチ」のスレッドで変態紳士さんがアップされている、
SpoilerAL本体の修正パッチ適用が必要です。
---------------
別スレの(No.180)にてアップしたSSGに、敵ユニット等のデータを追加したものです。
 ※「クリックで選択中のユニット【番号 】」:「味方通常ユニット」や「敵・Helperユニット等」の各項目の左端に表示される【】内の番号(メモリ上のデータの並び順(=n値)を指す。ユニットIDとは別のもの)です。
十分に検証したわけではないので、SSGにミス等がありましたらご報告いただけると有難いです。

なお、追加した「クリックで選択中のユニットの【番号 】のステータス等」の項目については、
上記の別スレ(No.190)で(仔猫)さんが提供くださった情報を使わせていただきました。
(仔猫)さんにお礼申し上げます。

記事編集 編集
Re: 【改造投稿】 グレイメルカ 【SSG】 (No.1)
投稿日 : 2016/10/07(Fri) 01:50
投稿者 amateur◆kR..xsXL6RU
ID情報 : mgj3sQGTE0B7X1NLcNXds.
参照先
SSGを更新しました。
「クリックで選択中のユニット【番号 】のステータス等」を追加し、
マップ上で選択中のユニット(敵・味方等を問わない)のステータス等を表示・書換えできるようにしました。
記事編集 編集
Re: 【改造投稿】 グレイメルカ 【SSG】 (No.2)
投稿日 : 2016/10/07(Fri) 01:58
投稿者 (仔猫)◆KCezBilYINU
ID情報 : SzycEX2TAWquIqbhGWdJV.
参照先
amateurさん
SSG制作ありがとうございます。

>マップ上で選択中のユニット(敵・味方等を問わない)のステータス等を表示・書換えできるようにしました
amateurさんならやってくれると思ってました。
超便利です。ありがたや。

ユニット【番号 】とIDは別でしたか〜。最初の10件だけ確認でしたのでなるほどーと。
ありがとうございます。

ユニット【番号 】のアドレス+2hがどうも敵味方フラグぽいです。1が味方、2が敵?0が背景などカーソルフリーの状態?
[enabled] で0の時を弾いた方がいいような気がします…安全策。

と書いて気がついた

この問題はamateurさんのSSGでは発生しません。
値の固定ができないような作りになってます。

EXPと行動済みを固定でゲームを進めてたら突然敵を倒すと攻撃した味方ユニットが消滅する怪現象が発生しまして…。
原因はと探ると店の処理でSSGで値を固定してたのが原因と判明。お騒がせしました。
値の固定は危険ですね。

追伸:
一周目終わりました〜。おまけやマスターモードはフラグ管理されてるポイです。
クリア後、タイトルメニューにいくつか項目が追加されました。
記事編集 編集
Re: 【改造投稿】 グレイメルカ 【SSG】 (No.3)
投稿日 : 2016/10/08(Sat) 10:03
投稿者 Take◆z2zOLLMPyz2
ID情報 : oXiNCefkkllcmbGqh.XuP.
参照先
System39がどんな物か大雑把にチェックして見たので少しだけですがSSGに無さげな物です。良ければどうぞ。
ただ適当すぎて間違ってるかも知れないけど…
リストIDは一応別スレでの「プラント」(ID=129)を元にメモリ上を眺めただけで確認は基本していないので信じない方が良いかも?
因みに眺めた所のIDはビッグエンディアンで格納されてました。(通常部分はリトルエンディアンですけど)

記事編集 編集
Re: 【改造投稿】 グレイメルカ 【SSG】 (No.4)
投稿日 : 2016/10/08(Sat) 19:08
投稿者 amateur◆kR..xsXL6RU
ID情報 : v5yiRypJm1WxnpXDRGkYE.
参照先
>>2 (仔猫)さん
クリックで選択中のユニット【番号 】の番号については、
マップの誰もいない場所をクリックすると、そのマップ上のユニットの中で一番後ろの「n値」になるようです。
なので、多分おかしなアドレスを書き換えることにはならない、と思います。

>値の固定について
私はIMEの辞書にcalc等のよく使う書式を登録していて、「/_:calc」のように値の固定不可にしてしまってるので、
そのまま修正せずに書いただけという・・・今回はたまたま値固定不可にして正解?でしょうか。
値の固定による不具合は、吉里吉里なんかでもあるようですね。
全滅等でゲームオーバー →タイトル画面移行時に値の固定でクラッシュみたいな例を聞いたことがあります。
アドレスがガラっと変わるタイミングで値固定してると、書き換えてはいけないアドレスに書き込んで危ないとか何とか。
その他に、あまりにもアドレスコーディングが長いと、値固定の周期によってはSpoilerALが重くなりそうで、
自分は値の固定はできるだけ使わないようにしてます。

>>3 Takeさん
貴重な情報提供ありがとうございます。
敵キャラ等のID、これは凄いですね。自分は確認が面倒になって途中で投げてしまったのですけど。
ユニット座標については、私も変動検索でこのアドレスは見つけたのですが、
書き換えても、ユニットの表示位置自体は変わらないようで、仕様がよく分からず保留してました。
ただ、キャラをクリックした際に表示される移動可能範囲表示の中心(本来のキャラ存在位置)の座標が、
添付くださったユニット座標のアドレスの値によって変化するようです。
要するに、この座標アドレスの値を書き換えると、画面上のユニットの表示位置とは別の座標が、
移動可能範囲表示の中心になってしまう、という感じみたいですね。
記事編集 編集
Re: 【改造投稿】 グレイメルカ 【SSG】 (No.5)
投稿日 : 2016/10/09(Sun) 21:09
投稿者 (仔猫)◆KCezBilYINU
ID情報 : SzycEX2TAWquIqbhGWdJV.
参照先
amateurさん情報ありがとうございます。
>マップの誰もいない場所をクリックすると、そのマップ上のユニットの中で一番後ろの「n値」になるようです
となると固定でも大丈夫そう?ですね。(不具合が起こったデーターを巻き戻して、固定なしでプレイすると普通に戻ったので謎です。)

>値固定の周期によってはSpoilerALが重くなりそうで
なるほど〜。と言うことで僕も固定は使わないようにしようかと。。。

周回に入った訳ですが、周回フラグを探したところsaveフォルダにclearデータらしきファイルが追加されてました。
clear_6.dat
clear10.dat
clear.dat
これはファイルから直読みでしょうか?
ただsaveフォルダを上記の3つだけにしても追加要素が表示されないので周回フラグを立てるのは難しそう?です…。
記事編集 編集
Re: 【改造投稿】 グレイメルカ 【SSG】 (No.6)
投稿日 : 2016/10/09(Sun) 21:29
投稿者 amateur◆kR..xsXL6RU
ID情報 : WiN5yV8ogEWSMgfAvimGN/
参照先
>>5
(仔猫)さん、情報提供ありがとうございます。
周回フラグが各セーブデータ共通のシステムデータ的なものだとすると、
下記のように各セーブデータ間のメモリ上の差分を変動検索で調べるという手法は使えないですね。

※参考
このゲーム(System3.9の仕様?)は、セーブデータをロードするだけではアドレスは変わらないっぽい感じです。
ですので、フラグOFF時のデータと、フラグON時のデータを用意し、
双方のデータを交互にロードする度に「変動」で検索すれば、
フラグ関係のアドレスも結構簡単に見つかるかもしれません。
難易度のアドレスはこの方法であっさり見つかりました。
記事編集 編集
Re: 【改造投稿】 グレイメルカ 【SSG】 (No.7)
投稿日 : 2016/10/09(Sun) 21:44
投稿者 (仔猫)◆KCezBilYINU
ID情報 : SzycEX2TAWquIqbhGWdJV.
参照先
>>6
amateurさん
>フラグOFF時のデータと、フラグON時のデータを用意し、
>双方のデータを交互にロードする度に「変動」で検索すれば、

目から鱗です。
やっぱりamateurさんは適応能力がずば抜けてます。
聞けば成る程ですが…全く思いつきませんでした!
記事編集 編集
Re: 【改造投稿】 グレイメルカ 【SSG】 (No.8)
投稿日 : 2016/10/09(Sun) 22:19
投稿者 amateur◆kR..xsXL6RU
ID情報 : WiN5yV8ogEWSMgfAvimGN/
参照先
>>7 (仔猫)さん
>>6に書いた方法は、「セーブデータをロードするだけではアドレスは変わらない」のが大前提なので、
ロードでアドレスが変動するゲームや、一度タイトルに戻らないとロードできずタイトルに戻るとアドレスが変動するゲームでは通用しないのが欠点ですね。
また、このゲーム(System3.9)でも、「ファイル」→「ゲームの再起動」をするとアドレスは変わってしまうようです。

ちなみに、以前試したHSP製ゲームは、タイトル画面に戻ってデータをロードしてもアドレスが変わりませんでした。
NEExploiTさんが教えてくださったのですが、HSPは仕様的にロード毎にアドレスが変化する事はないとのことです。
他にもロードするだけではアドレスの変動しないゲームは結構あったという印象ですので、駄目元で試してみるのもよいかも。

(仔猫)さんの情報によると、このゲームの周回フラグ調べるのには使えない感じがしますが・・・
記事編集 編集
Re: 【改造投稿】 グレイメルカ 【SSG】 (No.9)
投稿日 : 2016/10/10(Mon) 01:06
投稿者 (仔猫)◆KCezBilYINU
ID情報 : SzycEX2TAWquIqbhGWdJV.
参照先
>>8
amateurさん情報ありがとうございます。

>NEExploiTさんが教えてくださったのですが、HSPは仕様的にロード毎にアドレスが変化する事はないとのことです。
なるほどHSP製は(Verアップの修正とかも)この方法を使うと楽になりますね…メモメモ。
記事編集 編集
Re: 【改造投稿】 グレイメルカ 【SSG】 (No.10)
投稿日 : 2016/10/10(Mon) 02:04
投稿者 amateur◆kR..xsXL6RU
ID情報 : WiN5yV8ogEWSMgfAvimGN/
参照先
SSGを更新。
>>3のTakeさんの情報をもとに、「クラス」の項目を追加。
また、敵・Helperユニットの名前を表示するようにしました。
情報提供してくださったTakeさんにお礼申し上げます。
リストは本当に助かりました。ありがとうございます。
記事編集 編集
Re: 【改造投稿】 グレイメルカ 【SSG】 (No.11)
投稿日 : 2016/10/10(Mon) 19:12
投稿者 Take◆z2zOLLMPyz2
ID情報 : mUrUOs5ZioagGSBA7F4rh.
参照先
完全な憶測ですが、周回フラグはベース+00のポインタ先の基点近辺じゃ無いですかね?
System4x系とかでも大体その辺にシステム的なフラグ類がまとまってたので…

_[:[:[:[:0x40114F:]+0x150:]+0x4:]+0x00*0x4+0x4:]

あとゲームをもう1つ用意してsaveフォルダの初期化状態のとクリア済の両方でそれぞれベース+00先のダンプを取って比較するとかどうですか?
もしくはクリア済みと新規のsaveデータを直接バイナリエディタで比較するとか?
見た感じsaveデータは暗号化されていないので探しやすいかと。(あるとしたら最初ら辺?)
余談ですがsaveデータでユニット座標を修正した場合は反映されるんですね。メモリ上だと無理だったのに。
記事編集 編集
Re: 【改造投稿】 グレイメルカ 【SSG】 (No.12)
投稿日 : 2016/10/10(Mon) 21:11
投稿者 amateur◆kR..xsXL6RU
ID情報 : bCCWf73GS0smn4M/kFu0f1
参照先
>>11 Takeさん
情報ありがとうございます。
アリス製エンジンだとシステム的なフラグ類はそのあたり(このゲームだと軍資金やターン数のあるアドレス領域先頭付近)なんですね。

>ゲームをもう1つ用意してsaveフォルダの初期化状態のとクリア済の両方でそれぞれベース+00先のダンプを取って比較するとか
この方法が良さそうですね。そういう方法もあったのかと勉強になります(他のゲームでも使えそうです・・・)
私はまだこのゲームをクリアしておらず暫くは試せないと思うので、(仔猫)さんの検証に期待させていただこうかと・・・
記事編集 編集
Re: 【改造投稿】 グレイメルカ 【SSG】 (No.13)
投稿日 : 2016/10/11(Tue) 00:19
投稿者 (仔猫)◆KCezBilYINU
ID情報 : SzycEX2TAWquIqbhGWdJV.
参照先
>>11-12
Takeさん、amateurさん

うーん。感触としてはセーブデーターを全部読んで?それのorを取ってる感じ?
メモリ上のどこにそれがあるのか分かりませんでした。

フラグ関係は変動で探す以外の方法を模索しまして・・・
変態紳士さんが作られたエウのSSGではあっさりと(回想系が)看破されてますよね。
(どうやって調べたのだろうと…。デバッガとか使って回想シーンに入る所でuserコードまで実行?ブレイクして、そのあたりから解析するのかな?と試みたことがあったのですが…そのときは迷宮入りしました。このアプローチは間違ってるかな?)

(セーブデータを一時添付したのですがネタバレ感が半端ないので削除しました。)

追記1:
amateurさんの情報を元に
ここかな?フラグ候補1です。会話イベント、キャラボックス、BGMモード、シーン再現など?
他にも必要なキャラクリア履歴?もどこかにありそうです。周回もここではなさそう?
_[:[:[:[:0x40114F:]+0x150:]+0x4:]+0x63*0x4+0x4:]
記事編集 編集
Re: 【改造投稿】 グレイメルカ 【SSG】 (No.14)
投稿日 : 2016/10/11(Tue) 01:44
投稿者 amateur◆kR..xsXL6RU
ID情報 : bCCWf73GS0smn4M/kFu0f1
参照先
>>13 (仔猫)さん
周回フラグ見つけるのは難しいですか・・・むむむ・・・
今さっき思いついただけで、一度も試したことはないので全く当てにならないですが、
回想フラグなら、どのタイミングで特定の回想について登録されるかをまず確認(クリアするまで回想モード開放されないゲームだと面倒ですが)
→ セーブせずにリセットorゲーム終了(セーブデータに回想フラグを記録しないようにするため)or事前に回想登録前のセーブデータを退避させておく。
→ もう一度プレイし直して、上記で確認した回想登録のタイミングの直前でメモリ確保
→ 回想登録された直後に「変動」(「増加」や「増減幅指定:1」等でも?)で検索
→ 検索結果を吟味(0 → 1 等に変動してるのが怪しい?、ビット単位で管理なら分かりにくいかも)

こんな感じでどうかと苦し紛れ的に思ったのですが、色々穴がありそうで、
実際には難しそうな・・・(検索結果が何千件とかあったら吟味する気無くしそう)
周回フラグに応用するとなると・・・どのタイミングでフラグONになるのか確認が難しそうだし駄目かも・・・
(クリア後、エンディング終了後にタイトル画面に戻る時点か、クリアデータをセーブするタイプならその時点?)
記事編集 編集
Re: 【改造投稿】 グレイメルカ 【SSG】 (No.15)
投稿日 : 2016/10/12(Wed) 09:55
投稿者 Take◆z2zOLLMPyz2
ID情報 : fIiQYbvUYJcUT0OW2rVHJ/
参照先
>>12 amateurさん
>アリス製エンジンだとシステム的なフラグ類はそのあたり
最近のはちょっと違いますが少し前のならアリスソフトのも基本+00先にシステム系フラグがあって
その後に所持金とかが普通にあるので本作と雰囲気的には似た感じでしたね。


>>13 (仔猫)さん
>うーん。感触としてはセーブデーターを全部読んで?それのorを取ってる感じ?
質問ですがclear.datの中身ってどうなってます?
普通に読み取れる様ならそのバイト列をメモリ上で探して周辺を調べるとかどうですか?
またclear〜のあとの数字はセーブデータ番号に対応してるんですかね?
clear.datについては判りませんが、system.dat(システム情報)はベース+0x33のポインタ先です。
またflag.datはNo.3の添付にある会話フラグだと思われます。

>フラグ関係は変動で探す以外の方法を模索しまして・・・
変動以外となると自分の場合は経験に基づく勘でピンポイントで探しますね。
まぁこれは或る程度フラグの並びが予想出来る場合ですけど…
SPLUSH WAVEなんかだとまさにこれですね。8byte以上のバイト列で検索しそこから芋づる式にと言った感じで。
回想系は基本探さないのでこれと言った手法は思い付かないですね。せいぜい前述通りのやり方ぐらい?
実装している時は十中八九何かのフラグを探してる時に偶然見付けた場合のみなので。

あと本作の様なSystem〜系の作りでは通用しませんが以前何処かのサイトで見た方法ですと
コンフィグ系のデータがある周辺に回想系のフラグが有る事が多いので、
フォント名でサーチ→ゲーム上でフォント切り替え→変動したアドレス周辺を調べる
と言った手法が書かれていたのを見かけた事がありますね。
記事編集 編集
Re: 【改造投稿】 グレイメルカ 【SSG】 (No.16)
投稿日 : 2016/10/12(Wed) 23:10
投稿者 (仔猫)◆KCezBilYINU
ID情報 : SzycEX2TAWquIqbhGWdJV.
参照先
>>15
Takeさんアドバイス&情報ありがとうございます。

>またflag.datはNo.3の添付にある会話フラグだと思われます
ぐはっ。No.3のテキストを見落としてました。会話フラグ…書いてあったんですね(確認したらその通りでした。)

ファイルを精査した所…
以下の4つファイルがあれば「マスターモード」と「おまけ」が出現することまで突き止めました。

flag.dat
clear_6.dat(AD02)
clear10.dat(E803)
clear.dat(2C02)

>質問ですがclear.datの中身ってどうなってます?
clear??.datの中身ですが2byteでフラグというより数値ポイです。()はファイル内のバイト列です。
シナリオ進行No.?(栞?)かゲーム内カウンターのような?
試しに、0000、1111、FFFFあたりを入れてみましたが、どれも外れで「おまけ」等のメニューは出現しませんでした。

ロードしたときメモリ内に読み込みがあるのか調べたのですがバイト列検索ではヒットしませんでした。
となると判定でこの固定数値があればフラグを立たせるような処理がしてあるのでしょうか?

あともう一つ「6章を始める」と言う項目もあるのですが、それは以下のクリア済み?ファイルが必要でした。
save_6start.dat

ここまでの解析結果ですと…
ファイルなしの状態で各項目を出現させるには…かなりハードルが高いような?

それはそうと変動以外の探し方…
>SPLUSH WAVEなんかだとまさにこれですね。8byte以上のバイト列で検索しそこから芋づる式にと言った感じで。
なるほどそうだったんですか。しかし経験に基づく感ですか、やるしかないですね。

僕がフラグ(回想関係)でSSGに埋めることができたのはソフトハウスキャラの作品と比較的簡単なNscript系だけです。
キャラ作品は・・・臨時管理人さんや方々の詳細な解析があったので(お手本になんとか拾えたのです。ありがたや)

>フォント名でサーチ→ゲーム上でフォント切り替え→変動したアドレス周辺を調べる
フォント名でサーチですか。
情報ありがとうございます勉強になります。
記事編集 編集
Re: 【改造投稿】 グレイメルカ 【SSG】 (No.17)
投稿日 : 2016/10/14(Fri) 09:51
投稿者 Take◆z2zOLLMPyz2
ID情報 : fIiQYbvUYJcUT0OW2rVHJ/
参照先
>>16 (仔猫)さん
>clear??.datの中身ですが2byteでフラグというより数値ポイです。()はファイル内のバイト列です。
単純に考えるとclear〜.datがあるとflag.datの特定箇所のフラグがONになって……と思ったんですけどね。
で、最初(?)の会話フラグが+CAhだったのでそれ以前の所にあるのかなぁっと想像していましたが違う様ですね。

>となると判定でこの固定数値があればフラグを立たせるような処理がしてあるのでしょうか?
取り敢えず3E8の比較は1箇所あったけど多分違うだろうなぁ。他2つは見付からなかったし…
ただ文字列で検索すると「クリアデータ書き込み」と言うのがあったのでどう言った形かは判りませんがメモリ上に読まれてるはず。

>ファイルなしの状態で各項目を出現させるには…かなりハードルが高いような?
まずclear.dat関係の値が何を示しているのかと読み込み位置が判明しないと難しいですね。
例えばclear.datの値を入れ替えたり値を半分にしても機能するのかとか確認して見ては?
値が一定値以上かどうかで判定してたり……は流石に無いか。それだとクリアしても人によっては解放されないと言う事もあるし。
あとはこのゲームでは関係無いと思いますがゲームによっては特定のアイテムを所持すると回想とかが解放されると言うのもあるのでそう言う方面から探すのも有りかも。

[追記]
ふと思い付いたので(仔猫)さんの情報を元にclear.datを手動で作成した結果、
起動すると「オマケモード」と「マスターモード」が解放されました。
他の2つの有無はどちらでも結果は変わらない様です。なおflag.datは+CAのみ01で残りは全て00の状態で確認。
またclear.datの値を幾つか試した所「22B」や「22D」でも解放されましたが「〜22A」とか「22E〜」だと不可でした。
因みにシーン再現は当然ながらフラグの関係で再生不可です。

とまぁ、こんな感じだったのでclear.datの有無と値(22B〜22D)でチェックしてる模様。
なので単純にフラグでは無くてチェック部分のプログラムをどうにかする必要が有るのかも?
記事編集 編集
Re: 【改造投稿】 グレイメルカ 【SSG】 (No.18)
投稿日 : 2016/10/15(Sat) 03:37
投稿者 (仔猫)◆KCezBilYINU
ID情報 : SzycEX2TAWquIqbhGWdJV.
参照先
Takeさん情報ありがとうございます。
なるほど!だいたい分かってきました。

>clear.datの有無と値(22B〜22D)でチェックしてる模様。
ひょっとしたらこんな感じでしょうか?

22B ノーマルクリア?
22C ハードクリア(確認)
22D マスタークリア?

>単純にフラグでは無くてチェック部分のプログラムをどうにかする必要が有るのかも?
プログラム改造系
入れてみようかとやってみたのですが…SYSTEM3.9ちょっとキツいです。VM系はソースを書き替えるしかないのかなぁ。
記事編集 編集
Re: 【改造投稿】 グレイメルカ 【SSG】 (No.19)
投稿日 : 2022/08/18(Thu) 01:04
投稿者 匿名希望
ID情報 : .j03P0v9qsPONUcDbYKsp0
参照先
7章とう追加来てたりしてますが更新は厳しい感じでしょうか?
記事編集 編集
Re: 【改造投稿】 グレイメルカ 【SSG】 (No.20)
投稿日 : 2022/08/20(Sat) 20:05
投稿者 匿名希望氏
ID情報 : aSMRWyADtfKeOQ5o3GPEK/
参照先
オフセットが3つズレているだけなので欄を追加していくつかの項目だけ使えるようにしました
ステータス・武器魔法レベル・スキル・所持アイテム

難易度・ターン・軍資金を編集出来るだけのCTを追加

記事編集 編集
Re: 【改造投稿】 グレイメルカ 【SSG】 (No.21)
投稿日 : 2022/08/21(Sun) 18:51
投稿者 匿名希望氏
ID情報 : BgjD5lVAp0jhzht1EEQ1f1
参照先
2つ目のファイルが反映されないので投稿
難易度・ターン・軍資金を編集出来るだけのCTです
記事編集 編集
Re: 【改造投稿】 グレイメルカ 【SSG】 (No.22)
投稿日 : 2022/08/21(Sun) 18:53
投稿者 匿名希望氏
ID情報 : BgjD5lVAp0jhzht1EEQ1f1
参照先
連投すみません、上はRARにしてしまったのでZIPであげなおしました
上記内容のCTです

記事編集 編集
Re: 【改造投稿】 グレイメルカ 【SSG】 (No.23)
投稿日 : 2022/08/21(Sun) 20:00
投稿者 匿名希望
ID情報 : .j03P0v9qsPONUcDbYKsp0
参照先
更新というか修正ありがとうございます
記事編集 編集
件名 スレッドをトップへソート
名前
メールアドレス
URL
ファイル添付


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

- WEB PATIO -