public static string GetSkillText(uint id) { uint[] pointer = FindSkillFE8NVer3IconPointers(); if (pointer == null) { return(""); } InputFormRef InputFormRef = Init(null); uint addr = InputFormRef.IDToAddr(id); if (!U.isSafetyOffset(addr)) { return(""); } uint textid = Program.ROM.u16(addr + 0); string text = TextForm.Direct(textid); return(SkillConfigFE8NSkillForm.ParseTextToSkillName(text)); }
static InputFormRef Init(Form self) { InputFormRef ifr = new InputFormRef(self , "" , g_SkillBaseAddress , g_ICON_LIST_SIZE , (int i, uint addr) => { //読込最大値検索 if (Program.ROM.u8(addr) == 0xFF) { //終端コードが出てきたらそこで強制終了 return(false); } return(true); } , (int i, uint addr) => { string text = TextForm.Direct(Program.ROM.u16(addr + 0)); return(U.ToHexString(i) + " " + SkillConfigFE8NSkillForm.ParseTextToSkillName(text)); } ); return(ifr); }