static InputFormRef N1_Init(Form self) { return(new InputFormRef(self , "N1_" , Program.ROM.RomInfo.event_ballte_talk2_pointer() , 12 , (int i, uint addr) => { //読込最大値検索 uint unit = Program.ROM.u8(addr); if (unit == 0x0 || unit == 0xFF) { return false; } if (i > 10 && Program.ROM.IsEmpty(addr, 12 * 10)) { //終端符号を無視して 0x00等を利用している人がいるため return false; } return true; } , (int i, uint addr) => { uint unit_id = (uint)Program.ROM.u8(addr); return U.ToHexString(unit_id) + " " + UnitForm.GetUnitNameAndANY(unit_id); } )); }
static InputFormRef Init(Form self) { return(new InputFormRef(self , "" , Program.ROM.RomInfo.event_haiku_pointer , 12 , (int i, uint addr) => { //読込最大値検索 if (Program.ROM.u16(addr) == 0xFFFF) { return false; } if (i > 10 && Program.ROM.IsEmpty(addr, 12 * 10)) { return false; } return true; } , (int i, uint addr) => { uint unit_id = (uint)Program.ROM.u8(addr); uint map_id = (uint)Program.ROM.u8(addr + 3); return U.ToHexString(unit_id) + " " + UnitForm.GetUnitNameAndANY(unit_id) + " " + "(" + MapSettingForm.GetMapNameAndANYFF(map_id) + ")"; } )); }
static InputFormRef Init(Form self) { return(new InputFormRef(self , "" , Program.ROM.RomInfo.event_force_sortie_pointer() , 4 , (int i, uint addr) => { //読込最大値検索 return Program.ROM.u16(addr) != 0xFFFF; } , (int i, uint addr) => { uint unit_id = (uint)Program.ROM.u16(addr); uint map_id = (uint)Program.ROM.u8(addr + 3); return U.ToHexString(unit_id) + " " + UnitForm.GetUnitNameAndANY(unit_id) + " " + "(" + MapSettingForm.GetMapNameAndANYFF(map_id) + ")"; } )); }
static InputFormRef N1_Init(Form self) { return(new InputFormRef(self , "N1_" , 0 , 12 , (int i, uint addr) => { //読込最大値検索 if (Program.ROM.u8(addr) == 0x0) { return false; } return true; } , (int i, uint addr) => { uint unit_id = (uint)Program.ROM.u8(addr); uint map_id = (uint)Program.ROM.u8(addr + 1); return U.ToHexString(unit_id) + " " + UnitForm.GetUnitNameAndANY(unit_id) + " " + "(" + MapSettingForm.GetMapNameAndANYFF(map_id) + ")"; } )); }
static InputFormRef Init(Form self) { return(new InputFormRef(self , "" , Program.ROM.RomInfo.event_ballte_talk_pointer() , 16 , (int i, uint addr) => { //読込最大値検索 if (Program.ROM.u16(addr) == 0xFFFF) { return false; } if (i > 10 && Program.ROM.IsEmpty(addr, 16 * 10)) { //終端符号を無視して 0x00等を利用している人がいるため return false; } return true; } , (int i, uint addr) => { uint unit_id = (uint)Program.ROM.u16(addr); uint unit_id2 = (uint)Program.ROM.u16(addr + 2); uint map_id = (uint)Program.ROM.u16(addr + 4); return U.ToHexString(unit_id) + " " + UnitForm.GetUnitNameAndANY(unit_id) + " -> " + U.ToHexString(unit_id2) + " " + UnitForm.GetUnitNameAndANY(unit_id2) + " " + "(" + MapSettingForm.GetMapNameAndANYFF(map_id) + ")"; } )); }