[過去ログ] 信長の野望・革新 改造スレ 其の捨七 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
869: .jp 2015/05/16(土)22:06 ID:a8NBKmF2(1) AAS
#define GAMEDATASTRUCT_HEXMAPNB6_REF_ADDRESS 0x498999 // hexmap.nb6という名前のアドレスを参照している場所
char szMapDataFileName[32] = "A:HEXMAP.NB6";
// 最大32バイトまでの名前で書き換える。
void ReWriteMapDataFileNamePointer(string newmapdata) {
strcpy(szMapDataFileName+2, newmapdata.c_str()); // A:の所から先に上書き
// TENSHOU.EXE内の"A:MAPDATA.N6P"を参照している箇所を、新たなポインタに置き換える。
int Address = (int)szMapDataFileName; // コンパイル後のszMapDataFileNameの仮想メモリアドレス
// オリジナルものを指し示すニーモニックを、szMapDataFileNameを指し示すニーモニックへと書き換える
WriteProcessMemory( GetCurrentProcess(), (LPVOID)GAMEDATASTRUCT_HEXMAPNB6_REF_ADDRESS, (LPCVOID)&Address, 4, NULL);
}
//------------------------------------------------------------------------
void カスタム::On_起動時() {
ReWriteMapDataFileNamePointer("hexmap1536.nb6");
}
hexmap.nb6ではなく、他のものを使え!! とするならば、このようにやれば出来ます。
(このタイミング名前を指定したとしても、TSModが実際にパースをするのは、hexmap.nb6です。)
よって、厳密な所では「On_起動時」で処理をしたとしても、「手遅れ」感があります。
どのようにスイッチングするのかは、Luaから引くのか、C++/CLIでUIを設定するのかは考え所でしょうが、
いずれにしても、「シナリオを選択するはるか前」に決定する必要があります。
上下前次1-新書関写板覧索設栞歴
あと 133 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.007s