internal override void Draw(Xna.Framework.Graphics.SpriteBatch ssb)
        {
            Rectangle screen = new Rectangle(0, 0, TDVBasicGame.Width, TDVBasicGame.Height);

            Rectangle dirtSource = new Rectangle(0, 0, TDVBasicGame.Width, TDVBasicGame.Height);
            dirtSource.Offset(dirtOffset);
            ssb.Draw(dirt, screen, dirtSource, Color.White);
            ssb.Draw(current_vignette, screen, vignette2.Bounds, Color.White);
            ssb.Draw(frame, screen, frame.Bounds, Color.White);

            frameNum++;
            if (frameNum % FRAME_DIVISOR == 0)
            {
                shakeOffset = rnd.Next(6) - 6;
                dirtOffset.X = rnd.Next(dirt.Width - TDVBasicGame.Width);
                dirtOffset.Y = rnd.Next(dirt.Height - TDVBasicGame.Height);
                if (frameNum % BULB_DIVISOR == 0)
                {
                    if (rnd.Next(10) == 1)
                    {
                        current_vignette = vignette;
                    }
                    else
                    {
                        current_vignette = vignette2;
                    }
                }
            }
        }
        internal override void Draw(Xna.Framework.Graphics.SpriteBatch SharedSpriteBatch)
        {
            // Draw Bones using painters algorithm

            cartooner.DrawLongBone(skeleton.Joints, JointType.Spine, JointType.ShoulderCenter,  textures.hairBottomTexture, 1.3f);  // Neck and hairBottom
            cartooner.DrawLongBone(skeleton.Joints,JointType.ShoulderCenter, JointType.Head,  textures.hairDoTexture,1.5f); // Head  (pigtails and ribbons)
        }
        internal override void Draw(Xna.Framework.Graphics.SpriteBatch SharedSpriteBatch)
        {
            // Draw Bones using painters algorithm

            // DS uncommented the waist to fill in abdominal gap
               cartooner.DrawCharacterPart(skeleton.Joints, JointType.Spine, JointType.HipCenter, textures.waistTexture);  // Waist
            // DS commented out drawing the small pelvis joints
            //        this.DrawCharacterPart(skeleton.Joints, JointType.HipCenter, JointType.HipLeft, this.partTexture);
            //      this.DrawCharacterPart(skeleton.Joints, JointType.HipCenter, JointType.HipRight, this.partTexture);
            /* left of screen and left arm of player, NOT stage left */
            cartooner.DrawCharacterPart(skeleton.Joints, JointType.ShoulderRight, JointType.ElbowRight, textures.upperArmRightTexture);  // Upper Arm Right
            cartooner.DrawCharacterPart(skeleton.Joints, JointType.ShoulderLeft, JointType.ElbowLeft, textures.upperArmLeftTexture);   // Upper Arm Left
            cartooner.DrawCharacterPart(skeleton.Joints, JointType.ShoulderCenter, JointType.ShoulderRight, textures.shoulderRightTexture); // Shoulder Right
            cartooner.DrawCharacterPart(skeleton.Joints, JointType.ShoulderCenter, JointType.ShoulderLeft, textures.shoulderLeftTexture); // Shoulder Left
            cartooner.DrawCharacterPart(skeleton.Joints, JointType.KneeRight, JointType.AnkleRight, textures.lowerLegRightTexture); // Lower Leg Right
            cartooner.DrawCharacterPart(skeleton.Joints, JointType.HipRight, JointType.KneeRight, textures.upperLegRightTexture); // Upper Leg Right
            //cartooner.DrawCharacterPart(skeleton.Joints, JointType.AnkleRight, JointType.FootRight, cartooner.footRightTexture);    // Foot Right
            cartooner.DrawCharacterPart(skeleton.Joints, JointType.KneeLeft, JointType.AnkleLeft, textures.lowerLegLeftTexture); //Lower Leg Left
            cartooner.DrawCharacterPart(skeleton.Joints, JointType.HipLeft, JointType.KneeLeft, textures.upperLegLeftTexture); // Upper Leg Left
            //cartooner.DrawCharacterPart(skeleton.Joints, JointType.AnkleLeft, JointType.FootLeft, cartooner.partTexture); // Foot Left
            cartooner.DrawSkirtBone(skeleton.Joints, textures); // Skirt
            cartooner.DrawCharacterPart(skeleton.Joints, JointType.ShoulderCenter, JointType.Spine, textures.torsoTexture); // Torso
            // cartooner.DrawCharacterPart(skeleton.Joints, JointType.WristRight, JointType.HandRight, cartooner.rightHandTexture); // Right hand
            cartooner.DrawShortBone(skeleton.Joints, JointType.ElbowRight, JointType.WristRight, JointType.ShoulderRight, textures.lowerArmRightTexture, 0.93f); // Lower Arm Right
               // cartooner.DrawCharacterPart(skeleton.Joints, JointType.WristLeft, JointType.HandLeft, cartooner.partTexture); // Left hand
            cartooner.DrawShortBone(skeleton.Joints, JointType.ElbowLeft, JointType.WristLeft, JointType.ShoulderLeft, textures.lowerArmLeftTexture, 0.93f); // Lower Arm Left
            cartooner.DrawLongBone(skeleton.Joints, JointType.ShoulderCenter, JointType.Head, textures.headTexture,1.7f); // head accessories (pony tails, hat, bangs, etc
        }