[過去ログ] 信長の野望・革新 改造スレ 其の捨七 (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