public static List <U.AddrResult> MakeListByUseTerrain(uint terrainid) { List <U.AddrResult> ret = new List <U.AddrResult>(); InputFormRef InputFormRef = Init(null); var terrain_set_list = U.DictionaryToValuesList(InputFormRef.GetTerrainSetDic()); uint[] pointers = GetPointers(); for (int i = 0; i < pointers.Length; i++) { if (i >= terrain_set_list.Count) { break; } if (pointers[i] == 0) { continue; } InputFormRef.ReInitPointer(pointers[i]); List <U.AddrResult> a = InputFormRef.MakeList((uint addr) => { uint icon = Program.ROM.u8(addr + 0); icon = icon - 1; return(icon == terrainid); }); string name = U.ToHexString(i) + ":" + terrain_set_list[i]; InputFormRef.AppendNameString(a, "", name); ret.AddRange(a); } return(ret); }