static Dictionary <uint, string> MakeCache_Cache_TerrainSetDicLow()
        {
            string filename = U.ConfigDataFilename("battleterrain_set_");
            Dictionary <uint, string> data = U.LoadDicResource(filename);

            if (PatchUtil.SearchExtendsBattleBG() != PatchUtil.ExtendsBattleBG_extends.Extends)
            {
                return(data);
            }
            uint pointer = GetExtendsPointer();

            if (pointer == 0)
            {
                return(data);
            }
            uint addr = Program.ROM.p32(pointer);

            if (!U.isSafetyOffset(addr))
            {
                return(data);
            }

            int         baseSize = data.Count;
            List <uint> pointers = new List <uint>(0x4f);

            for (int i = 0; i < 0xff; i++, addr += 8)
            {
                uint p = Program.ROM.u32(addr);
                if (p == 0xffffffff)
                {
                    break;
                }

                string name = Program.CommentCache.At(addr);
                if (i < baseSize)
                {
                    if (name != "")
                    {
                        data[(uint)i] = name;
                    }
                    continue;
                }

                if (name == "")
                {
                    name = "Extends" + U.ToHexString2(i);
                }
                data[(uint)i] = name;
            }

            return(data);
        }
 static uint[] GetPointers()
 {
     if (g_PointersCache == null)
     {
         if (PatchUtil.SearchExtendsBattleBG() == PatchUtil.ExtendsBattleBG_extends.Extends)
         {
             g_PointersCache = MapTerrainBGLookupTableForm.GetPointersExtendsPatch(0);
         }
         else
         {
             g_PointersCache = GetPointersVanilla();
         }
     }
     return(g_PointersCache);
 }
 static uint[] GetPointers()
 {
     if (g_PointersCache == null)
     {
         if (PatchUtil.SearchExtendsBattleBG() == PatchUtil.ExtendsBattleBG_extends.Extends)
         {
             g_PointersCache = GetPointersExtendsPatch(4);
         }
         else
         {
             g_PointersCache = GetPointersVanilla();
         }
     }
     return(g_PointersCache);
 }
        private void FilterComboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            ERROR_Not_Allocated.Hide();

            uint[] pointers = GetPointers();
            int    selected = FilterComboBox.SelectedIndex;

            if (selected < 0 ||
                selected >= pointers.Length)
            {
                return;
            }

            if (PatchUtil.SearchExtendsBattleBG() == PatchUtil.ExtendsBattleBG_extends.Extends)
            {
                if (U.IsBadPointerPointer(pointers[selected]))
                {
                    ERROR_Not_Allocated.Show();
                }
            }

            InputFormRef.ReInitPointer(pointers[selected]);
        }