public SonicHandling()
        {
            idle = new sonicHandlingSizes[11];
            for (int i=0; i<idle.Length; i++)
            {
                idle[i] = new sonicHandlingSizes(i * 36, 0, 36, 46);
            }

            idle_foot = new sonicHandlingSizes[]            //foot animation (animated at draw/3)
            {
                new sonicHandlingSizes(572, 0, 36, 46),
                new sonicHandlingSizes(608, 0, 36, 46),
                new sonicHandlingSizes(644, 0, 36, 46),
                new sonicHandlingSizes(644, 0, 36, 46),
                new sonicHandlingSizes(608, 0, 36, 46),
                new sonicHandlingSizes(644, 0, 36, 46),
                new sonicHandlingSizes(608, 0, 36, 46),
                new sonicHandlingSizes(644, 0, 36, 46),
                new sonicHandlingSizes(644, 0, 36, 46),
                new sonicHandlingSizes(608, 0, 36, 46),
                new sonicHandlingSizes(572, 0, 36, 46),
                new sonicHandlingSizes(572, 0, 36, 46),
            };

            walking = new sonicHandlingSizes[16];
            for (int i = 0; i < walking.Length; i++)
            {
                walking[i] = new sonicHandlingSizes(i/2 * 36 + 680, 0, 36, 46);
            }

            running = new sonicHandlingSizes[8];
            for (int i = 0; i < running.Length; i++)
            {
                running[i] = new sonicHandlingSizes(i * 36 +680, 0, 36, 46);
            }

            idle_frustrated = new sonicHandlingSizes[80];
            for (int i=0; i<40; i++)
            {
                idle_frustrated[i] = new sonicHandlingSizes(i * 36, 47, 36, 46);
            }
            for (int i = 0; i < 40; i++)
            {
                idle_frustrated[i+40] = new sonicHandlingSizes(i * 36, 94, 36, 46);
            }

            sonic_sprint = new sonicHandlingSizes[4];
            for(int i=0; i<sonic_sprint.Length; i++)
            {
                sonic_sprint[i] = new sonicHandlingSizes(i * 36 + 1004, 0, 36, 46);
            }

            sonic_state = 0;
            sonic_repetition = 0;
            sonic_frame = 0;
        }
        public SonicHandling()
        {
            idle = new sonicHandlingSizes[11];
            for (int i = 0; i < idle.Length; i++)
            {
                idle[i] = new sonicHandlingSizes(i * 36, 0, 36, 46);
            }

            idle_foot = new sonicHandlingSizes[]            //foot animation (animated at draw/3)
            {
                new sonicHandlingSizes(572, 0, 36, 46),
                new sonicHandlingSizes(608, 0, 36, 46),
                new sonicHandlingSizes(644, 0, 36, 46),
                new sonicHandlingSizes(644, 0, 36, 46),
                new sonicHandlingSizes(608, 0, 36, 46),
                new sonicHandlingSizes(644, 0, 36, 46),
                new sonicHandlingSizes(608, 0, 36, 46),
                new sonicHandlingSizes(644, 0, 36, 46),
                new sonicHandlingSizes(644, 0, 36, 46),
                new sonicHandlingSizes(608, 0, 36, 46),
                new sonicHandlingSizes(572, 0, 36, 46),
                new sonicHandlingSizes(572, 0, 36, 46),
            };

            walking = new sonicHandlingSizes[16];
            for (int i = 0; i < walking.Length; i++)
            {
                walking[i] = new sonicHandlingSizes(i / 2 * 36 + 680, 0, 36, 46);
            }

            running = new sonicHandlingSizes[8];
            for (int i = 0; i < running.Length; i++)
            {
                running[i] = new sonicHandlingSizes(i * 36 + 680, 0, 36, 46);
            }

            idle_frustrated = new sonicHandlingSizes[80];
            for (int i = 0; i < 40; i++)
            {
                idle_frustrated[i] = new sonicHandlingSizes(i * 36, 47, 36, 46);
            }
            for (int i = 0; i < 40; i++)
            {
                idle_frustrated[i + 40] = new sonicHandlingSizes(i * 36, 94, 36, 46);
            }

            sonic_sprint = new sonicHandlingSizes[4];
            for (int i = 0; i < sonic_sprint.Length; i++)
            {
                sonic_sprint[i] = new sonicHandlingSizes(i * 36 + 1004, 0, 36, 46);
            }

            sonic_state      = 0;
            sonic_repetition = 0;
            sonic_frame      = 0;
        }
 private int[] getArray(sonicHandlingSizes[] source, int frame)
 {
     return new int[] { source[frame].left, source[frame].top, source[frame].width, source[frame].height };
 }