static InputFormRef Init(Form self) { return(new InputFormRef(self , "" , Program.ROM.RomInfo.unit_wait_icon_pointer() , 8 , (int i, uint addr) => { //読込最大値検索 if (i == 0) { //先頭データは確認しないことにする. return true; } //4 がポインタであればデータがあると考える. uint a = Program.ROM.u32(addr + 4); if (U.isPointer(a)) { return true; } if (a == 0) { uint flags = Program.ROM.u32(addr + 0); if (flags == 0) { //両方のデータが 0なので、終端と判定する return false; } return true; } //終端 return false; } , (int i, uint addr) => { uint icon_id = (uint)(i); String name = ClassForm.GetClassNameWhereWaitIconID(icon_id); return U.ToHexString(icon_id) + U.SA(name) + InputFormRef.GetCommentSA(addr); } )); }