/// <summary>Clears the objtype.</summary>
 /// <remarks>Replaces memset.</remarks>
 public void Clear()
 {
     active = 0;
     _class = 0;
     x = 0;
     y = 0;
     viewx = 0;
     viewy = 0;
     angle = 0;
     hitpoints = 0;
     radarx = 0;
     radary = 0;
     radarcolor = 0;
     speed = 0;
     size = 0;
     xl = 0;
     xh = 0;
     yl = 0;
     yh = 0;
     ticcount = 0;
     shapenum = 0;
     stage = 0;
     temp1 = 0;
     temp2 = 0;
     dir = 0;
     think = null;
 }
        /*
        =============================================================================

                       SHOTS

        =============================================================================
        */
        /*
        ====================
        =
        = SpawnShot
        =
        ====================
        */
        private void SpawnShot(fixed_t gx, fixed_t gy, short angle, classtype _class)
        {
            FindFreeObj();
            _new.x = gx;
            _new.y = gy;
            _new.angle = angle;
            _new.think = ShotThink;
            _new._class = _class;
            _new.size = TILEGLOBAL / 8;

            switch(_class)
            {
                case classtype.pshotobj:
                    _new.shapenum = PSHOTPIC;
                    _new.speed = SHOTSPEED;
                    break;

                case classtype.pbigshotobj:
                    _new.shapenum = BIGSHOTPIC;
                    _new.speed = SHOTSPEED;
                    break;

                case classtype.mshotobj:
                    _new.shapenum = MSHOTPIC;
                    _new.speed = MSHOTSPEED;
                    break;
            }

            CalcBoundsNew();
        }