public static string GetBattleAnimeHint(uint search_animeindex)
        {
            InputFormRef InputFormRef = Init(null);

            for (int id = 0; id < InputFormRef.DataCount; id++)
            {
                uint addr = InputFormRef.IDToAddr((uint)id);
                if (!U.isSafetyOffset(addr))
                {
                    continue;
                }
                for (int i = 0; true; i += 4)
                {
                    uint item  = Program.ROM.u8((uint)(addr + i + 0));
                    uint sp    = Program.ROM.u8((uint)(addr + i + 1));
                    uint anime = Program.ROM.u16((uint)(addr + i + 2));
                    if (item == 0 && sp == 0 && anime == 0)
                    {
                        break;
                    }
                    if (anime != search_animeindex)
                    {
                        continue;
                    }

                    //発見!
                    string name = UnitForm.GetNameWhereCustomBattleAnime((uint)id);
                    return(name + " " + ImageBattleAnimeForm.getSPTypeName(item, sp));
                }
            }

            //ない
            return("");
        }
 static InputFormRef N2_Init(Form self)
 {
     return(new InputFormRef(self
                             , "N2_"
                             , Program.ROM.RomInfo.unit_custom_battle_anime_pointer
                             , 4
                             , (int i, uint addr) =>
     {    //読込最大値検索
         if (i == 0)
         {
             return true;
         }
         return U.isPointer(Program.ROM.u32(addr + 0));
     }
                             , (int i, uint addr) =>
     {
         string name = UnitForm.GetNameWhereCustomBattleAnime((uint)i);
         return U.ToHexString(i) + " " + name;
     }
                             ));
 }