//テキストIDの取得 public static void MakeVarsIDArray(List <UseValsID> list) { List <uint> tracelist = new List <uint>(); { InputFormRef ifr = N_Init(null); string basename; basename = "WorldMapEvent "; uint p = ifr.BaseAddress; for (int i = 0; i < ifr.DataCount; i++, p += ifr.BlockSize) { string name = basename + U.To0xHexString((uint)i); EventCondForm.MakeVarsIDArrayByEventPointer(list, p, name, tracelist); } } { uint p = Program.ROM.RomInfo.ending1_event_pointer; string name = R._("エリウッドエンディング"); EventCondForm.MakeVarsIDArrayByEventPointer(list, p, name, tracelist); } { uint p = Program.ROM.RomInfo.ending2_event_pointer; string name = R._("ヘクトルエンディング"); EventCondForm.MakeVarsIDArrayByEventPointer(list, p, name, tracelist); } }
//テキストIDの取得 public static void MakeVarsIDArray(List <UseValsID> list) { List <uint> tracelist = new List <uint>(); { InputFormRef InputFormRef = Init(null); string basename = "WorldMapEvent Before "; uint p = InputFormRef.BaseAddress; for (int i = 0; i < InputFormRef.DataCount; i++, p += InputFormRef.BlockSize) { string name = basename + U.To0xHexString((uint)i); EventCondForm.MakeVarsIDArrayByEventPointer(list, p, name, tracelist); } } //FE8だけ、フリーマップがあるので複雑なイベントが設定されています. { InputFormRef InputFormRef = N_Init(null); uint p = InputFormRef.BaseAddress; for (int i = 0; i < InputFormRef.DataCount; i++, p += InputFormRef.BlockSize) { string name = "WorldMapEvent After " + U.To0xHexString((uint)i); EventCondForm.MakeVarsIDArrayByEventPointer(list, p, name, tracelist); } } { uint p = Program.ROM.RomInfo.oping_event_pointer; string name = R._("オープニングイベント"); EventCondForm.MakeVarsIDArrayByEventPointer(list, p, name, tracelist); } { uint p = Program.ROM.RomInfo.ending1_event_pointer; string name = R._("エイリークエンディング"); EventCondForm.MakeVarsIDArrayByEventPointer(list, p, name, tracelist); } { uint p = Program.ROM.RomInfo.ending2_event_pointer; string name = R._("エフラムエンディング"); EventCondForm.MakeVarsIDArrayByEventPointer(list, p, name, tracelist); } }
//テキストIDの取得 public static void MakeVarsIDArray(List <UseValsID> list) { List <uint> tracelist = new List <uint>(); uint mapmax = MapSettingForm.GetDataCount(); for (uint mapid = 0; mapid < mapmax; mapid++) { uint wmapid = MapSettingForm.GetWorldMapEventIDWhereMapID(mapid); if (wmapid == 0) {//存在しない continue; } //FE6はPLISTが格納されている. uint p; uint event_addr = MapPointerForm.PlistToOffsetAddrFast(MapPointerForm.PLIST_TYPE.WORLDMAP_FE6ONLY, wmapid, out p); if (event_addr == U.NOT_FOUND) { continue; } string name = "WorldMapEvent " + U.To0xHexString(mapid) + " "; EventCondForm.MakeVarsIDArrayByEventPointer(list, p, name, tracelist); } }