public static Bitmap DrawIcon(uint id, uint frame = 3)
        {
            if (id == 0)
            {
                return(ImageUtil.BlankDummy());
            }

            uint AnimeP = FindAnimationPointer();

            if (AnimeP == U.NOT_FOUND)
            {
                return(ImageUtil.BlankDummy());
            }
            uint animeBaseAddress = Program.ROM.p32(AnimeP);

            uint addr = animeBaseAddress + (id * 8);

            if (!U.isSafetyOffset(addr))
            {
                return(ImageUtil.BlankDummy());
            }
            uint   anime = Program.ROM.p32(addr);
            string log;

            return(ImageUtilMapActionAnimation.Draw(anime, frame, out log));
        }
        private void ShowFrameUpDown_ValueChanged(object sender, EventArgs e)
        {
            string log;
            uint   anime = U.toOffset((uint)P0.Value);
            uint   frame = (uint)ShowFrameUpDown.Value;

            AnimationPictureBox.Image = ImageUtilMapActionAnimation.Draw(anime, frame, out log);
            BinInfo.Text = log;
        }