-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-#ifndef __BADGUY_H__
-#define __BADGUY_H__
-
-// moved them here to make it less typing when implementing new badguys
-#include <math.h>
-#include "timer.hpp"
-#include "moving_object.hpp"
-#include "sprite/sprite.hpp"
-#include "physic.hpp"
-#include "object/player.hpp"
-#include "serializable.hpp"
-#include "resources.hpp"
-#include "sector.hpp"
-#include "direction.hpp"
-#include "object_factory.hpp"
-#include "lisp/parser.hpp"
-#include "lisp/lisp.hpp"
-#include "lisp/writer.hpp"
-#include "video/drawing_context.hpp"
-#include "audio/sound_manager.hpp"
-#include "audio/sound_source.hpp"
-#include "sprite/sprite_manager.hpp"
-
-class BadGuy : public MovingObject, public Serializable
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+#ifndef HEADER_SUPERTUX_BADGUY_BADGUY_HPP
+#define HEADER_SUPERTUX_BADGUY_BADGUY_HPP
+
+#include "object/moving_sprite.hpp"
+#include "supertux/direction.hpp"
+#include "supertux/physic.hpp"
+#include "supertux/timer.hpp"
+
+class Player;
+class Bullet;
+
+/** Base class for moving sprites that can hurt the Player. */
+class BadGuy : public MovingSprite