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; } )); }