Added some code for a very basic snowman
authorIngo Ruhnke <grumbel@gmx.de>
Mon, 22 Feb 2010 17:28:37 +0000 (17:28 +0000)
committerIngo Ruhnke <grumbel@gmx.de>
Mon, 22 Feb 2010 17:28:37 +0000 (17:28 +0000)
SVN-Revision: 6392

data/images/creatures/snowman/snowman.sprite
data/levels/test/nightcave.stl
src/badguy/snowman.cpp [new file with mode: 0644]
src/badguy/snowman.hpp [new file with mode: 0644]

index d9b0115..ade4680 100644 (file)
@@ -1,7 +1,7 @@
 (supertux-sprite
  (action
-  (name "walk")
-  (fps 8.0)
+  (name "walk-left")
+  (fps 12.0)
   (hitbox 10 3 36 72)
   (images "walk1.png"
           "walk2.png"
           "walk5.png"
           "walk6.png"
           "walk7.png"
-          "walk8.png")))
+          "walk8.png"))
+
+  (action
+    (name "walk-right")
+    (hitbox 10 3 36 72)
+    (mirror-action "walk-left")
+  ))
 
 ;; EOF ;;
index 508f3d0..b03ac57 100644 (file)
     (decal
       (x 384)
       (y 1024)
-      (sprite "images/decal/nightcave/lightflower1.png")
     )
     (decal
       (x 2528)
       (y 960)
-      (sprite "images/decal/nightcave/lightflower2.png")
     )
     (decal
       (x 2320)
       (y 1008)
-      (sprite "images/decal/nightcave/lightflower3.png")
     )
     (decal
-      (x 1744)
+      (x 1712)
       (y 816)
-      (sprite "images/decal/nightcave/lightflower1.png")
     )
     (decal
-      (x 1952)
+      (x 1920)
       (y 928)
-      (sprite "images/decal/nightcave/lightflower2.png")
     )
     (decal
       (x 2976)
       (y 944)
-      (sprite "images/decal/nightcave/lightflower3.png")
     )
     (decal
       (x 1344)
       (y 496)
-      (sprite "images/decal/nightcave/lightflower1.png")
     )
     (decal
       (x 720)
       (y 752)
-      (sprite "images/decal/nightcave/lightflower2.png")
     )
     (decal
-      (x 1024)
+      (x 992)
       (y 704)
-      (sprite "images/decal/nightcave/lightflower3.png")
+    )
+    (snowman
+      (x 1059)
+      (y 676)
+    )
+    (snowman
+      (x 1891)
+      (y 900)
     )
     (spawnpoint
       (name "main")
diff --git a/src/badguy/snowman.cpp b/src/badguy/snowman.cpp
new file mode 100644 (file)
index 0000000..ba22e0b
--- /dev/null
@@ -0,0 +1,39 @@
+//  SuperTux
+//  Copyright (C) 2010 Ingo Ruhnke <grumbel@gmx.de>
+//
+//  This program is free software: you can redistribute it and/or modify
+//  it under the terms of the GNU General Public License as published by
+//  the Free Software Foundation, either version 3 of the License, or
+//  (at your option) any later version.
+//
+//  This program is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU General Public License for more details.
+//
+//  You should have received a copy of the GNU General Public License
+//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+#include "badguy/snowman.hpp"
+
+Snowman::Snowman(const Reader& reader) :
+  WalkingBadguy(reader, "images/creatures/snowman/snowman.sprite", "walk-left", "walk-right")
+{
+  walk_speed = 40;
+}
+
+Snowman::Snowman(const Vector& pos, Direction d) :
+  WalkingBadguy(pos, d, "images/creatures/snowman/snowman.sprite", "walk-left", "walk-right")
+{
+  walk_speed = 40;
+}
+
+bool
+Snowman::collision_squished(GameObject& object)
+{
+  sprite->set_action(dir == LEFT ? "squished-left" : "squished-right");
+  kill_squished(object);
+  return true;
+}
+
+/* EOF */
diff --git a/src/badguy/snowman.hpp b/src/badguy/snowman.hpp
new file mode 100644 (file)
index 0000000..fd9438a
--- /dev/null
@@ -0,0 +1,37 @@
+//  SuperTux
+//  Copyright (C) 2010 Ingo Ruhnke <grumbel@gmx.de>
+//
+//  This program is free software: you can redistribute it and/or modify
+//  it under the terms of the GNU General Public License as published by
+//  the Free Software Foundation, either version 3 of the License, or
+//  (at your option) any later version.
+//
+//  This program is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU General Public License for more details.
+//
+//  You should have received a copy of the GNU General Public License
+//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+#ifndef HEADER_SUPERTUX_BADGUY_SNOWMAN_HPP
+#define HEADER_SUPERTUX_BADGUY_SNOWMAN_HPP
+
+#include "badguy/walking_badguy.hpp"
+
+#include "sprite/sprite.hpp"
+#include "supertux/object_factory.hpp"
+
+class Snowman : public WalkingBadguy
+{
+public:
+  Snowman(const Reader& reader);
+  Snowman(const Vector& pos, Direction d);
+
+protected:
+  bool collision_squished(GameObject& object);
+};
+
+#endif
+
+/* EOF */