diff --git a/data/characters.stlst b/data/characters.stlst
new file mode 100644
index 00000000000..5fcc21b18da
--- /dev/null
+++ b/data/characters.stlst
@@ -0,0 +1,42 @@
+;; SuperTux character profiles
+(supertux-playerlist
+ (player
+ (id "tux")
+ (name "Tux")
+ (sprite "tux.sprite")
+ (max-speed 230.0)
+ (max-speed-multiplier 1.0)
+ (acceleration 200.0)
+ (deceleration 200.0)
+ (jump-force 8.4)
+ (fall-acceleration 20.0)
+ (hitbox-width 31.8)
+ (hitbox-height 63.8)
+ )
+ (player
+ (id "penny")
+ (name "Penny")
+ (sprite "penny.sprite")
+ (max-speed 230.0)
+ (max-speed-multiplier 1.0)
+ (acceleration 200.0)
+ (deceleration 200.0)
+ (jump-force 8.4)
+ (fall-acceleration 20.0)
+ (hitbox-width 31.8)
+ (hitbox-height 63.8)
+ )
+ (player
+ (id "larry")
+ (name "Larry")
+ (sprite "larry.sprite")
+ (max-speed 230.0)
+ (max-speed-multiplier 1.0)
+ (acceleration 200.0)
+ (deceleration 200.0)
+ (jump-force 8.4)
+ (fall-acceleration 20.0)
+ (hitbox-width 31.8)
+ (hitbox-height 63.8)
+ )
+)
diff --git a/data/images/creatures/larry/larry.sprite b/data/images/creatures/larry/larry.sprite
new file mode 100644
index 00000000000..b8f73f5917c
--- /dev/null
+++ b/data/images/creatures/larry/larry.sprite
@@ -0,0 +1,3060 @@
+(supertux-sprite
+
+ (action
+ (name "gameover")
+ (fps 30.0)
+ (hitbox 18 6 32 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+; Small Tux
+
+ (action
+ (name "small-stand-right")
+ (fps 10.0)
+ (hitbox 16 26 32 32)
+ (images "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"))
+
+ (action
+ (name "small-stand-left")
+ (fps 10.0)
+ (hitbox 16 26 32 32)
+ (mirror-action "small-stand-right"))
+
+ (action
+ (name "small-idle-right")
+ (fps 12.0)
+ (loop-frame 5)
+ (hitbox 16 26 32 32)
+ (images "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"))
+
+ (action
+ (name "small-idle-left")
+ (fps 12.0)
+ (loop-frame 5)
+ (hitbox 16 26 32 32)
+ (mirror-action "small-idle-right"))
+
+ (action
+ (name "small-scratch-right")
+ (fps 12.0)
+ (hitbox 16 26 32 32)
+ (images "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"))
+
+ (action
+ (name "small-scratch-left")
+ (fps 12.0)
+ (hitbox 16 26 32 32)
+ (mirror-action "small-scratch-right"))
+
+ (action
+ (name "small-walk-right")
+ (fps 14.0)
+ (loop-frame 2)
+ (hitbox 16 26 32 32)
+ (images "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"))
+
+ (action
+ (name "small-walk-left")
+ (fps 14.0)
+ (loop-frame 2)
+ (hitbox 16 26 32 32)
+ (mirror-action "small-walk-right"))
+
+ (action
+ (name "small-run-right")
+ (fps 15.0)
+ (loop-frame 2)
+ (hitbox 18 26 32 32)
+ (images "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"))
+
+ (action
+ (name "small-run-left")
+ (fps 15.0)
+ (loop-frame 2)
+ (hitbox 20 26 32 32)
+ (mirror-action "small-run-right"))
+
+ (action
+ (name "small-jump-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 26 32 32)
+ (images "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"))
+
+ (action
+ (name "small-jump-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 26 32 32)
+ (mirror-action "small-jump-right"))
+
+ (action
+ (name "small-fall-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 26 32 32)
+ (images "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"))
+
+ (action
+ (name "small-fall-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 26 32 32)
+ (mirror-action "small-fall-right"))
+
+ (action
+ (name "small-walljump-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 26 32 32)
+ (images "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"))
+
+ (action
+ (name "small-walljump-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 26 32 32)
+ (mirror-action "small-walljump-right"))
+
+ (action
+ (name "small-skid-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 26 32 32)
+ (images "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"))
+
+ (action
+ (name "small-skid-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 26 32 32)
+ (mirror-action "small-skid-right"))
+
+ (action
+ (name "small-kick-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 26 32 32)
+ (images "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"))
+
+ (action
+ (name "small-kick-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 26 32 32)
+ (mirror-action "small-kick-right"))
+
+ (action
+ (name "small-climb-right")
+ (fps 15.0)
+ (hitbox 16 26 32 32)
+ (images "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"))
+
+ (action
+ (name "small-climb-left")
+ (fps 15.0)
+ (hitbox 16 26 32 32)
+ (mirror-action "small-climb-right"))
+
+ (action
+ (name "small-slide-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 24 26 32 32)
+ (images "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"))
+
+ (action
+ (name "small-slide-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 24 26 32 32)
+ (mirror-action "small-slide-right"))
+
+ (action
+ (name "small-slidejump-right")
+ (fps 18.0)
+ (hitbox 16 14 32 32)
+ (images "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"))
+
+ (action
+ (name "small-slidejump-left")
+ (fps 18.0)
+ (hitbox 16 14 32 32)
+ (mirror-action "small-slidejump-right"))
+
+ (action
+ (name "small-float-right")
+ (fps 10.0)
+ (hitbox 24 14 32 32)
+ (images "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"))
+
+ (action
+ (name "small-float-left")
+ (fps 10.0)
+ (hitbox 24 14 32 32)
+ (mirror-action "small-float-right"))
+
+ (action
+ (name "small-swim-right")
+ (fps 12.0)
+ (hitbox 24 14 32 32)
+ (images "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"))
+
+ (action
+ (name "small-swim-left")
+ (fps 12.0)
+ (hitbox 24 14 32 32)
+ (mirror-action "small-swim-right"))
+
+ (action
+ (name "small-boost-right")
+ (fps 18.0)
+ (hitbox 24 14 32 32)
+ (images "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"))
+
+ (action
+ (name "small-boost-left")
+ (fps 18.0)
+ (hitbox 24 14 32 32)
+ (mirror-action "small-boost-right"))
+
+ (action
+ (name "small-swimjump-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 24 14 32 32)
+ (images "small-larry.png"
+ "small-larry.png"
+ "small-larry.png"))
+
+ (action
+ (name "small-swimjump-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 24 14 32 32)
+ (mirror-action "small-swimjump-right"))
+
+
+; Grow Powerup Transition
+
+ (action
+ (name "grow-right")
+ (fps 16.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "grow-left")
+ (fps 16.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "grow-right"))
+
+ (action
+ (name "swimgrow-right")
+ (fps 16.0)
+ (loops 1)
+ (hitbox 32 15 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "swimgrow-left")
+ (fps 16.0)
+ (loops 1)
+ (hitbox 32 15 64 32)
+ (mirror-action "swimgrow-right"))
+
+ (action
+ (name "climbgrow-right")
+ (fps 16.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "climbgrow-left")
+ (fps 16.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "climbgrow-right"))
+
+ (action
+ (name "slidegrow-right")
+ (fps 16.0)
+ (loops 1)
+ (hitbox 32 46 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "slidegrow-left")
+ (fps 16.0)
+ (loops 1)
+ (hitbox 32 46 64 32)
+ (mirror-action "slidegrow-right"))
+
+
+; Big Tux
+
+ (action
+ (name "big-stand-right")
+ (fps 10.0)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "big-stand-left")
+ (fps 10.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "big-stand-right"))
+
+ (action
+ (name "big-idle-right")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "big-idle-left")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "big-idle-right"))
+
+ (action
+ (name "big-scratch-right")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "big-scratch-left")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "big-scratch-right"))
+
+ (action
+ (name "big-walk-right")
+ (fps 14.0)
+ (loop-frame 2)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "big-walk-left")
+ (fps 14.0)
+ (loop-frame 2)
+ (hitbox 16 14 32 64)
+ (mirror-action "big-walk-right"))
+
+ (action
+ (name "big-run-right")
+ (fps 15.0)
+ (loop-frame 2)
+ (hitbox 18 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "big-run-left")
+ (fps 15.0)
+ (loop-frame 2)
+ (hitbox 20 14 32 64)
+ (mirror-action "big-run-right"))
+
+ (action
+ (name "big-jump-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "big-jump-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "big-jump-right"))
+
+ (action
+ (name "big-fall-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "big-fall-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "big-fall-right"))
+
+ (action
+ (name "big-walljump-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 24 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "big-walljump-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 8 14 32 64)
+ (mirror-action "big-walljump-right"))
+
+ (action
+ (name "big-skid-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "big-skid-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "big-skid-right"))
+
+ (action
+ (name "big-kick-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "big-kick-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "big-kick-right"))
+
+ (action
+ (name "big-climb-right")
+ (fps 15.0)
+ (hitbox 16 16 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "big-climb-left")
+ (fps 15.0)
+ (hitbox 16 16 32 64)
+ (mirror-action "big-climb-right"))
+
+ (action
+ (name "big-duck-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 45 32 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "big-duck-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 45 32 32)
+ (mirror-action "big-duck-right"))
+
+ (action
+ (name "big-crawl-right")
+ (fps 12.0)
+ (hitbox 32 46 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "big-crawl-left")
+ (fps 12.0)
+ (hitbox 32 46 64 32)
+ (mirror-action "big-crawl-right"))
+
+ (action
+ (name "big-backflip-right")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "big-backflip-left")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (mirror-action "big-backflip-right"))
+
+ (action
+ (name "big-buttjump-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "big-buttjump-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (mirror-action "big-buttjump-right"))
+
+ (action
+ (name "big-stomp-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "big-stomp-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (mirror-action "big-stomp-right"))
+
+ (action
+ (name "big-slide-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 32 46 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "big-slide-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 32 46 64 32)
+ (mirror-action "big-slide-right"))
+
+ (action
+ (name "big-slidejump-right")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "big-slidejump-left")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (mirror-action "big-slidejump-right"))
+
+ (action
+ (name "big-float-right")
+ (fps 10.0)
+ (hitbox 32 15 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "big-float-left")
+ (fps 10.0)
+ (hitbox 32 15 64 32)
+ (mirror-action "big-float-right"))
+
+ (action
+ (name "big-swim-right")
+ (fps 12.0)
+ (hitbox 32 15 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "big-swim-left")
+ (fps 12.0)
+ (hitbox 32 15 64 32)
+ (mirror-action "big-swim-right"))
+
+ (action
+ (name "big-boost-right")
+ (fps 18.0)
+ (hitbox 32 15 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "big-boost-left")
+ (fps 18.0)
+ (hitbox 32 15 64 32)
+ (mirror-action "big-boost-right"))
+
+ (action
+ (name "big-swimjump-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 32 15 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "big-swimjump-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 32 15 64 32)
+ (mirror-action "big-swimjump-right"))
+
+
+; Fire Tux
+
+ (action
+ (name "fire-stand-right")
+ (fps 10.0)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "fire-stand-left")
+ (fps 10.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "fire-stand-right"))
+
+ (action
+ (name "fire-idle-right")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "fire-idle-left")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "fire-idle-right"))
+
+ (action
+ (name "fire-scratch-right")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "fire-scratch-left")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "fire-scratch-right"))
+
+ (action
+ (name "fire-walk-right")
+ (fps 14.0)
+ (loop-frame 2)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "fire-walk-left")
+ (fps 14.0)
+ (loop-frame 2)
+ (hitbox 16 14 32 64)
+ (mirror-action "fire-walk-right"))
+
+ (action
+ (name "fire-run-right")
+ (fps 15.0)
+ (loop-frame 2)
+ (hitbox 18 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "fire-run-left")
+ (fps 15.0)
+ (loop-frame 2)
+ (hitbox 20 14 32 64)
+ (mirror-action "fire-run-right"))
+
+ (action
+ (name "fire-jump-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "fire-jump-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "fire-jump-right"))
+
+ (action
+ (name "fire-fall-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "fire-fall-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "fire-fall-right"))
+
+ (action
+ (name "fire-walljump-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 24 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "fire-walljump-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 8 14 32 64)
+ (mirror-action "fire-walljump-right"))
+
+ (action
+ (name "fire-skid-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "fire-skid-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "fire-skid-right"))
+
+ (action
+ (name "fire-kick-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "fire-kick-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "fire-kick-right"))
+
+ (action
+ (name "fire-climb-right")
+ (fps 15.0)
+ (hitbox 16 16 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "fire-climb-left")
+ (fps 15.0)
+ (hitbox 16 16 32 64)
+ (mirror-action "fire-climb-right"))
+
+ (action
+ (name "fire-duck-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 45 32 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "fire-duck-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 45 32 32)
+ (mirror-action "fire-duck-right"))
+
+ (action
+ (name "fire-crawl-right")
+ (fps 12.0)
+ (hitbox 32 46 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "fire-crawl-left")
+ (fps 12.0)
+ (hitbox 32 46 64 32)
+ (mirror-action "fire-crawl-right"))
+
+ (action
+ (name "fire-backflip-right")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "fire-backflip-left")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (mirror-action "fire-backflip-right"))
+
+ (action
+ (name "fire-buttjump-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "fire-buttjump-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (mirror-action "fire-buttjump-right"))
+
+ (action
+ (name "fire-stomp-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "fire-stomp-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (mirror-action "fire-stomp-right"))
+
+ (action
+ (name "fire-slide-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 32 46 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "fire-slide-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 32 46 64 32)
+ (mirror-action "fire-slide-right"))
+
+ (action
+ (name "fire-slidejump-right")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "fire-slidejump-left")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (mirror-action "fire-slidejump-right"))
+
+ (action
+ (name "fire-float-right")
+ (fps 10.0)
+ (hitbox 32 15 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "fire-float-left")
+ (fps 10.0)
+ (hitbox 32 15 64 32)
+ (mirror-action "fire-float-right"))
+
+ (action
+ (name "fire-swim-right")
+ (fps 12.0)
+ (hitbox 32 15 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "fire-swim-left")
+ (fps 12.0)
+ (hitbox 32 15 64 32)
+ (mirror-action "fire-swim-right"))
+
+ (action
+ (name "fire-boost-right")
+ (fps 18.0)
+ (hitbox 32 15 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "fire-boost-left")
+ (fps 18.0)
+ (hitbox 32 15 64 32)
+ (mirror-action "fire-boost-right"))
+
+ (action
+ (name "fire-swimjump-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 32 15 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "fire-swimjump-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 32 15 64 32)
+ (mirror-action "fire-swimjump-right"))
+
+
+; Ice Tux
+
+ (action
+ (name "ice-stand-right")
+ (fps 10.0)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "ice-stand-left")
+ (fps 10.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "ice-stand-right"))
+
+ (action
+ (name "ice-idle-right")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "ice-idle-left")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "ice-idle-right"))
+
+ (action
+ (name "ice-scratch-right")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "ice-scratch-left")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "ice-scratch-right"))
+
+ (action
+ (name "ice-walk-right")
+ (fps 14.0)
+ (loop-frame 2)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "ice-walk-left")
+ (fps 14.0)
+ (loop-frame 2)
+ (hitbox 16 14 32 64)
+ (mirror-action "ice-walk-right"))
+
+ (action
+ (name "ice-run-right")
+ (fps 15.0)
+ (loop-frame 2)
+ (hitbox 18 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "ice-run-left")
+ (fps 15.0)
+ (loop-frame 2)
+ (hitbox 20 14 32 64)
+ (mirror-action "ice-run-right"))
+
+ (action
+ (name "ice-jump-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "ice-jump-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "ice-jump-right"))
+
+ (action
+ (name "ice-fall-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "ice-fall-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "ice-fall-right"))
+
+ (action
+ (name "ice-walljump-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 24 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "ice-walljump-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 8 14 32 64)
+ (mirror-action "ice-walljump-right"))
+
+ (action
+ (name "ice-skid-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "ice-skid-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "ice-skid-right"))
+
+ (action
+ (name "ice-kick-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "ice-kick-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "ice-kick-right"))
+
+ (action
+ (name "ice-climb-right")
+ (fps 15.0)
+ (hitbox 16 16 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "ice-climb-left")
+ (fps 15.0)
+ (hitbox 16 16 32 64)
+ (mirror-action "ice-climb-right"))
+
+ (action
+ (name "ice-duck-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 45 32 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "ice-duck-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 45 32 32)
+ (mirror-action "ice-duck-right"))
+
+ (action
+ (name "ice-crawl-right")
+ (fps 12.0)
+ (hitbox 32 46 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "ice-crawl-left")
+ (fps 12.0)
+ (hitbox 32 46 64 32)
+ (mirror-action "ice-crawl-right"))
+
+ (action
+ (name "ice-backflip-right")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "ice-backflip-left")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (mirror-action "ice-backflip-right"))
+
+ (action
+ (name "ice-buttjump-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "ice-buttjump-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (mirror-action "ice-buttjump-right"))
+
+ (action
+ (name "ice-stomp-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "ice-stomp-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (mirror-action "ice-stomp-right"))
+
+ (action
+ (name "ice-slide-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 32 46 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "ice-slide-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 32 46 64 32)
+ (mirror-action "ice-slide-right"))
+
+ (action
+ (name "ice-slidejump-right")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "ice-slidejump-left")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (mirror-action "ice-slidejump-right"))
+
+ (action
+ (name "ice-float-right")
+ (fps 10.0)
+ (hitbox 32 15 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "ice-float-left")
+ (fps 10.0)
+ (hitbox 32 15 64 32)
+ (mirror-action "ice-float-right"))
+
+ (action
+ (name "ice-swim-right")
+ (fps 12.0)
+ (hitbox 32 15 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "ice-swim-left")
+ (fps 12.0)
+ (hitbox 32 15 64 32)
+ (mirror-action "ice-swim-right"))
+
+ (action
+ (name "ice-boost-right")
+ (fps 18.0)
+ (hitbox 32 15 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "ice-boost-left")
+ (fps 18.0)
+ (hitbox 32 15 64 32)
+ (mirror-action "ice-boost-right"))
+
+ (action
+ (name "ice-swimjump-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 32 15 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "ice-swimjump-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 32 15 64 32)
+ (mirror-action "ice-swimjump-right"))
+
+
+; Earth Tux
+
+ (action
+ (name "earth-stand-right")
+ (fps 10.0)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "earth-stand-left")
+ (fps 10.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "earth-stand-right"))
+
+ (action
+ (name "earth-idle-right")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "earth-idle-left")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "earth-idle-right"))
+
+ (action
+ (name "earth-scratch-right")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "earth-scratch-left")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "earth-scratch-right"))
+
+ (action
+ (name "earth-walk-right")
+ (fps 14.0)
+ (loop-frame 2)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "earth-walk-left")
+ (fps 14.0)
+ (loop-frame 2)
+ (hitbox 16 14 32 64)
+ (mirror-action "earth-walk-right"))
+
+ (action
+ (name "earth-run-right")
+ (fps 15.0)
+ (loop-frame 2)
+ (hitbox 18 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "earth-run-left")
+ (fps 15.0)
+ (loop-frame 2)
+ (hitbox 20 14 32 64)
+ (mirror-action "earth-run-right"))
+
+ (action
+ (name "earth-jump-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "earth-jump-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "earth-jump-right"))
+
+ (action
+ (name "earth-fall-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "earth-fall-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "earth-fall-right"))
+
+ (action
+ (name "earth-walljump-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 24 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "earth-walljump-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 8 14 32 64)
+ (mirror-action "earth-walljump-right"))
+
+ (action
+ (name "earth-skid-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "earth-skid-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "earth-skid-right"))
+
+ (action
+ (name "earth-kick-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "earth-kick-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "earth-kick-right"))
+
+ (action
+ (name "earth-climb-right")
+ (fps 15.0)
+ (hitbox 16 16 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "earth-climb-left")
+ (fps 15.0)
+ (hitbox 16 16 32 64)
+ (mirror-action "earth-climb-right"))
+
+ (action
+ (name "earth-duck-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 45 32 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "earth-duck-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 45 32 32)
+ (mirror-action "earth-duck-right"))
+
+ (action
+ (name "earth-crawl-right")
+ (fps 12.0)
+ (hitbox 32 46 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "earth-crawl-left")
+ (fps 12.0)
+ (hitbox 32 46 64 32)
+ (mirror-action "earth-crawl-right"))
+
+ (action
+ (name "earth-backflip-right")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "earth-backflip-left")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (mirror-action "earth-backflip-right"))
+
+ (action
+ (name "earth-buttjump-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "earth-buttjump-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (mirror-action "earth-buttjump-right"))
+
+ (action
+ (name "earth-stomp-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "earth-stomp-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (mirror-action "earth-stomp-right"))
+
+ (action
+ (name "earth-slide-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 32 46 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "earth-slide-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 32 46 64 32)
+ (mirror-action "earth-slide-right"))
+
+ (action
+ (name "earth-slidejump-right")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "earth-slidejump-left")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (mirror-action "earth-slidejump-right"))
+
+ (action
+ (name "earth-float-right")
+ (fps 10.0)
+ (hitbox 32 15 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "earth-float-left")
+ (fps 10.0)
+ (hitbox 32 15 64 32)
+ (mirror-action "earth-float-right"))
+
+ (action
+ (name "earth-swim-right")
+ (fps 12.0)
+ (hitbox 32 15 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "earth-swim-left")
+ (fps 12.0)
+ (hitbox 32 15 64 32)
+ (mirror-action "earth-swim-right"))
+
+ (action
+ (name "earth-boost-right")
+ (fps 18.0)
+ (hitbox 32 15 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "earth-boost-left")
+ (fps 18.0)
+ (hitbox 32 15 64 32)
+ (mirror-action "earth-boost-right"))
+
+ (action
+ (name "earth-swimjump-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 32 15 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "earth-swimjump-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 32 15 64 32)
+ (mirror-action "earth-swimjump-right"))
+
+; Air Tux
+
+ (action
+ (name "air-stand-right")
+ (fps 10.0)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "air-stand-left")
+ (fps 10.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "air-stand-right"))
+
+ (action
+ (name "air-idle-right")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "air-idle-left")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "air-idle-right"))
+
+ (action
+ (name "air-scratch-right")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "air-scratch-left")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "air-scratch-right"))
+
+ (action
+ (name "air-walk-right")
+ (fps 14.0)
+ (loop-frame 2)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "air-walk-left")
+ (fps 14.0)
+ (loop-frame 2)
+ (hitbox 16 14 32 64)
+ (mirror-action "air-walk-right"))
+
+ (action
+ (name "air-run-right")
+ (fps 15.0)
+ (loop-frame 2)
+ (hitbox 18 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "air-run-left")
+ (fps 15.0)
+ (loop-frame 2)
+ (hitbox 20 14 32 64)
+ (mirror-action "air-run-right"))
+
+ (action
+ (name "air-jump-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "air-jump-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "air-jump-right"))
+
+ (action
+ (name "air-fall-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "air-fall-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "air-fall-right"))
+
+ (action
+ (name "air-walljump-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 24 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "air-walljump-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 8 14 32 64)
+ (mirror-action "air-walljump-right"))
+
+ (action
+ (name "air-skid-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "air-skid-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "air-skid-right"))
+
+ (action
+ (name "air-kick-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "air-kick-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "air-kick-right"))
+
+ (action
+ (name "air-climb-right")
+ (fps 15.0)
+ (hitbox 16 16 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "air-climb-left")
+ (fps 15.0)
+ (hitbox 16 16 32 64)
+ (mirror-action "air-climb-right"))
+
+ (action
+ (name "air-duck-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 45 32 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "air-duck-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 45 32 32)
+ (mirror-action "air-duck-right"))
+
+ (action
+ (name "air-crawl-right")
+ (fps 12.0)
+ (hitbox 32 46 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "air-crawl-left")
+ (fps 12.0)
+ (hitbox 32 46 64 32)
+ (mirror-action "air-crawl-right"))
+
+ (action
+ (name "air-backflip-right")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "air-backflip-left")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (mirror-action "air-backflip-right"))
+
+ (action
+ (name "air-buttjump-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "air-buttjump-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (mirror-action "air-buttjump-right"))
+
+ (action
+ (name "air-stomp-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "air-stomp-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (mirror-action "air-stomp-right"))
+
+ (action
+ (name "air-slide-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 32 46 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "air-slide-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 32 46 64 32)
+ (mirror-action "air-slide-right"))
+
+ (action
+ (name "air-slidejump-right")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "air-slidejump-left")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (mirror-action "air-slidejump-right"))
+
+ (action
+ (name "air-float-right")
+ (fps 10.0)
+ (hitbox 32 15 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "air-float-left")
+ (fps 10.0)
+ (hitbox 32 15 64 32)
+ (mirror-action "air-float-right"))
+
+ (action
+ (name "air-swim-right")
+ (fps 12.0)
+ (hitbox 32 15 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "air-swim-left")
+ (fps 12.0)
+ (hitbox 32 15 64 32)
+ (mirror-action "air-swim-right"))
+
+ (action
+ (name "air-boost-right")
+ (fps 18.0)
+ (hitbox 32 15 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "air-boost-left")
+ (fps 18.0)
+ (hitbox 32 15 64 32)
+ (mirror-action "air-boost-right"))
+
+ (action
+ (name "air-swimjump-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 32 15 64 32)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "air-swimjump-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 32 15 64 32)
+ (mirror-action "air-swimjump-right"))
+
+; Cutscenes And Extras
+
+ (action
+ (name "earth-stone")
+ (hitbox 10 13 32 32)
+ (images "earth/statue.png"))
+
+ (action
+ (name "credits-right")
+ (fps 10.0)
+ (hitbox 16 14 32 64)
+ (images "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"
+ "larry.png"))
+
+ (action
+ (name "credits-left")
+ (fps 10.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "credits-right"))
+)
diff --git a/data/images/creatures/larry/small-larry.png b/data/images/creatures/larry/small-larry.png
new file mode 100644
index 00000000000..a49f808a082
Binary files /dev/null and b/data/images/creatures/larry/small-larry.png differ
diff --git a/data/images/creatures/penny/penny.sprite b/data/images/creatures/penny/penny.sprite
index 4f0dc766c38..24fdc3420cf 100644
--- a/data/images/creatures/penny/penny.sprite
+++ b/data/images/creatures/penny/penny.sprite
@@ -1,135 +1,3060 @@
-(supertux-sprite
- (action
- (name "stand-right")
- (fps 10.0)
- (hitbox 16 14 32 64)
- (images "stand-0.png"
- "stand-1.png"
- "stand-2.png"
- "stand-3.png"
- "stand-4.png"
- "stand-3.png"
- "stand-2.png"
- "stand-1.png"
- "stand-0.png"
- "stand-5.png"
- "stand-0.png"
- "stand-1.png"
- "stand-2.png"
- "stand-3.png"
- "stand-4.png"
- "stand-3.png"
- "stand-2.png"
- "stand-1.png"
- "stand-0.png"
- "stand-5.png"
- "stand-0.png"
- "stand-1.png"
- "stand-2.png"
- "stand-3.png"
- "stand-4.png"
- "stand-3.png"
- "stand-2.png"
- "stand-1.png"
- "stand-0.png"
- "stand-6.png"
- "stand-7.png"
- "stand-8.png"
- "stand-2.png"
- "stand-3.png"
- "stand-4.png"
- "stand-3.png"
- "stand-2.png"
- "stand-1.png"
- "stand-0.png"
- "stand-5.png")
- )
-
- (action
- (name "stand-left")
- (fps 10.0)
- (hitbox 16 14 32 64)
- (mirror-action "stand-right")
- )
-
-
-; Cutscenes And Extras
-
- (action
- (name "credits-right")
- (fps 10.0)
- (hitbox 16 14 32 64)
- (images "credits-0.png"
- "credits-1.png"
- "credits-2.png"
- "credits-3.png"
- "credits-2.png"
- "credits-1.png"
- "credits-0.png"
- "credits-4.png"
- "credits-0.png"
- "credits-1.png"
- "credits-2.png"
- "credits-3.png"
- "credits-2.png"
- "credits-1.png"
- "credits-0.png"
- "credits-4.png"
- "credits-0.png"
- "credits-1.png"
- "credits-2.png"
- "credits-3.png"
- "credits-2.png"
- "credits-1.png"
- "credits-0.png"
- "credits-4.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-5.png"
- "credits-6.png"
- "credits-7.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-0.png"
- "credits-5.png"
- "credits-6.png"
- "credits-7.png"
- )
- )
- (action
- (name "credits-left")
- (fps 10.0)
- (hitbox 16 14 32 64)
- (mirror-action "credits-right")
- )
-)
+(supertux-sprite
+
+ (action
+ (name "gameover")
+ (fps 30.0)
+ (hitbox 18 6 32 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+; Small Tux
+
+ (action
+ (name "small-stand-right")
+ (fps 10.0)
+ (hitbox 16 26 32 32)
+ (images "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"))
+
+ (action
+ (name "small-stand-left")
+ (fps 10.0)
+ (hitbox 16 26 32 32)
+ (mirror-action "small-stand-right"))
+
+ (action
+ (name "small-idle-right")
+ (fps 12.0)
+ (loop-frame 5)
+ (hitbox 16 26 32 32)
+ (images "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"))
+
+ (action
+ (name "small-idle-left")
+ (fps 12.0)
+ (loop-frame 5)
+ (hitbox 16 26 32 32)
+ (mirror-action "small-idle-right"))
+
+ (action
+ (name "small-scratch-right")
+ (fps 12.0)
+ (hitbox 16 26 32 32)
+ (images "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"))
+
+ (action
+ (name "small-scratch-left")
+ (fps 12.0)
+ (hitbox 16 26 32 32)
+ (mirror-action "small-scratch-right"))
+
+ (action
+ (name "small-walk-right")
+ (fps 14.0)
+ (loop-frame 2)
+ (hitbox 16 26 32 32)
+ (images "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"))
+
+ (action
+ (name "small-walk-left")
+ (fps 14.0)
+ (loop-frame 2)
+ (hitbox 16 26 32 32)
+ (mirror-action "small-walk-right"))
+
+ (action
+ (name "small-run-right")
+ (fps 15.0)
+ (loop-frame 2)
+ (hitbox 18 26 32 32)
+ (images "small-stand-0.png"
+ "small-stand-0.png"
+ "stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"))
+
+ (action
+ (name "small-run-left")
+ (fps 15.0)
+ (loop-frame 2)
+ (hitbox 20 26 32 32)
+ (mirror-action "small-run-right"))
+
+ (action
+ (name "small-jump-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 26 32 32)
+ (images "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"))
+
+ (action
+ (name "small-jump-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 26 32 32)
+ (mirror-action "small-jump-right"))
+
+ (action
+ (name "small-fall-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 26 32 32)
+ (images "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"))
+
+ (action
+ (name "small-fall-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 26 32 32)
+ (mirror-action "small-fall-right"))
+
+ (action
+ (name "small-walljump-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 26 32 32)
+ (images "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"))
+
+ (action
+ (name "small-walljump-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 26 32 32)
+ (mirror-action "small-walljump-right"))
+
+ (action
+ (name "small-skid-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 26 32 32)
+ (images "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"))
+
+ (action
+ (name "small-skid-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 26 32 32)
+ (mirror-action "small-skid-right"))
+
+ (action
+ (name "small-kick-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 26 32 32)
+ (images "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"))
+
+ (action
+ (name "small-kick-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 26 32 32)
+ (mirror-action "small-kick-right"))
+
+ (action
+ (name "small-climb-right")
+ (fps 15.0)
+ (hitbox 16 26 32 32)
+ (images "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"))
+
+ (action
+ (name "small-climb-left")
+ (fps 15.0)
+ (hitbox 16 26 32 32)
+ (mirror-action "small-climb-right"))
+
+ (action
+ (name "small-slide-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 24 26 32 32)
+ (images "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"))
+
+ (action
+ (name "small-slide-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 24 26 32 32)
+ (mirror-action "small-slide-right"))
+
+ (action
+ (name "small-slidejump-right")
+ (fps 18.0)
+ (hitbox 16 14 32 32)
+ (images "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"))
+
+ (action
+ (name "small-slidejump-left")
+ (fps 18.0)
+ (hitbox 16 14 32 32)
+ (mirror-action "small-slidejump-right"))
+
+ (action
+ (name "small-float-right")
+ (fps 10.0)
+ (hitbox 24 14 32 32)
+ (images "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"))
+
+ (action
+ (name "small-float-left")
+ (fps 10.0)
+ (hitbox 24 14 32 32)
+ (mirror-action "small-float-right"))
+
+ (action
+ (name "small-swim-right")
+ (fps 12.0)
+ (hitbox 24 14 32 32)
+ (images "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"))
+
+ (action
+ (name "small-swim-left")
+ (fps 12.0)
+ (hitbox 24 14 32 32)
+ (mirror-action "small-swim-right"))
+
+ (action
+ (name "small-boost-right")
+ (fps 18.0)
+ (hitbox 24 14 32 32)
+ (images "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"))
+
+ (action
+ (name "small-boost-left")
+ (fps 18.0)
+ (hitbox 24 14 32 32)
+ (mirror-action "small-boost-right"))
+
+ (action
+ (name "small-swimjump-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 24 14 32 32)
+ (images "small-stand-0.png"
+ "small-stand-0.png"
+ "small-stand-0.png"))
+
+ (action
+ (name "small-swimjump-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 24 14 32 32)
+ (mirror-action "small-swimjump-right"))
+
+
+; Grow Powerup Transition
+
+ (action
+ (name "grow-right")
+ (fps 16.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "grow-left")
+ (fps 16.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "grow-right"))
+
+ (action
+ (name "swimgrow-right")
+ (fps 16.0)
+ (loops 1)
+ (hitbox 32 15 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "swimgrow-left")
+ (fps 16.0)
+ (loops 1)
+ (hitbox 32 15 64 32)
+ (mirror-action "swimgrow-right"))
+
+ (action
+ (name "climbgrow-right")
+ (fps 16.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "climbgrow-left")
+ (fps 16.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "climbgrow-right"))
+
+ (action
+ (name "slidegrow-right")
+ (fps 16.0)
+ (loops 1)
+ (hitbox 32 46 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "slidegrow-left")
+ (fps 16.0)
+ (loops 1)
+ (hitbox 32 46 64 32)
+ (mirror-action "slidegrow-right"))
+
+
+; Big Tux
+
+ (action
+ (name "big-stand-right")
+ (fps 10.0)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "big-stand-left")
+ (fps 10.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "big-stand-right"))
+
+ (action
+ (name "big-idle-right")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "big-idle-left")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "big-idle-right"))
+
+ (action
+ (name "big-scratch-right")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "big-scratch-left")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "big-scratch-right"))
+
+ (action
+ (name "big-walk-right")
+ (fps 14.0)
+ (loop-frame 2)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "big-walk-left")
+ (fps 14.0)
+ (loop-frame 2)
+ (hitbox 16 14 32 64)
+ (mirror-action "big-walk-right"))
+
+ (action
+ (name "big-run-right")
+ (fps 15.0)
+ (loop-frame 2)
+ (hitbox 18 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "big-run-left")
+ (fps 15.0)
+ (loop-frame 2)
+ (hitbox 20 14 32 64)
+ (mirror-action "big-run-right"))
+
+ (action
+ (name "big-jump-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "big-jump-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "big-jump-right"))
+
+ (action
+ (name "big-fall-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "big-fall-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "big-fall-right"))
+
+ (action
+ (name "big-walljump-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 24 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "big-walljump-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 8 14 32 64)
+ (mirror-action "big-walljump-right"))
+
+ (action
+ (name "big-skid-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "big-skid-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "big-skid-right"))
+
+ (action
+ (name "big-kick-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "big-kick-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "big-kick-right"))
+
+ (action
+ (name "big-climb-right")
+ (fps 15.0)
+ (hitbox 16 16 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "big-climb-left")
+ (fps 15.0)
+ (hitbox 16 16 32 64)
+ (mirror-action "big-climb-right"))
+
+ (action
+ (name "big-duck-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 45 32 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "big-duck-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 45 32 32)
+ (mirror-action "big-duck-right"))
+
+ (action
+ (name "big-crawl-right")
+ (fps 12.0)
+ (hitbox 32 46 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "big-crawl-left")
+ (fps 12.0)
+ (hitbox 32 46 64 32)
+ (mirror-action "big-crawl-right"))
+
+ (action
+ (name "big-backflip-right")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "big-backflip-left")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (mirror-action "big-backflip-right"))
+
+ (action
+ (name "big-buttjump-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "big-buttjump-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (mirror-action "big-buttjump-right"))
+
+ (action
+ (name "big-stomp-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "big-stomp-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (mirror-action "big-stomp-right"))
+
+ (action
+ (name "big-slide-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 32 46 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "big-slide-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 32 46 64 32)
+ (mirror-action "big-slide-right"))
+
+ (action
+ (name "big-slidejump-right")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "big-slidejump-left")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (mirror-action "big-slidejump-right"))
+
+ (action
+ (name "big-float-right")
+ (fps 10.0)
+ (hitbox 32 15 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "big-float-left")
+ (fps 10.0)
+ (hitbox 32 15 64 32)
+ (mirror-action "big-float-right"))
+
+ (action
+ (name "big-swim-right")
+ (fps 12.0)
+ (hitbox 32 15 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "big-swim-left")
+ (fps 12.0)
+ (hitbox 32 15 64 32)
+ (mirror-action "big-swim-right"))
+
+ (action
+ (name "big-boost-right")
+ (fps 18.0)
+ (hitbox 32 15 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "big-boost-left")
+ (fps 18.0)
+ (hitbox 32 15 64 32)
+ (mirror-action "big-boost-right"))
+
+ (action
+ (name "big-swimjump-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 32 15 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "big-swimjump-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 32 15 64 32)
+ (mirror-action "big-swimjump-right"))
+
+
+; Fire Tux
+
+ (action
+ (name "fire-stand-right")
+ (fps 10.0)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "fire-stand-left")
+ (fps 10.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "fire-stand-right"))
+
+ (action
+ (name "fire-idle-right")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "fire-idle-left")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "fire-idle-right"))
+
+ (action
+ (name "fire-scratch-right")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "fire-scratch-left")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "fire-scratch-right"))
+
+ (action
+ (name "fire-walk-right")
+ (fps 14.0)
+ (loop-frame 2)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "fire-walk-left")
+ (fps 14.0)
+ (loop-frame 2)
+ (hitbox 16 14 32 64)
+ (mirror-action "fire-walk-right"))
+
+ (action
+ (name "fire-run-right")
+ (fps 15.0)
+ (loop-frame 2)
+ (hitbox 18 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "fire-run-left")
+ (fps 15.0)
+ (loop-frame 2)
+ (hitbox 20 14 32 64)
+ (mirror-action "fire-run-right"))
+
+ (action
+ (name "fire-jump-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "fire-jump-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "fire-jump-right"))
+
+ (action
+ (name "fire-fall-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "fire-fall-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "fire-fall-right"))
+
+ (action
+ (name "fire-walljump-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 24 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "fire-walljump-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 8 14 32 64)
+ (mirror-action "fire-walljump-right"))
+
+ (action
+ (name "fire-skid-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "fire-skid-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "fire-skid-right"))
+
+ (action
+ (name "fire-kick-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "fire-kick-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "fire-kick-right"))
+
+ (action
+ (name "fire-climb-right")
+ (fps 15.0)
+ (hitbox 16 16 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "fire-climb-left")
+ (fps 15.0)
+ (hitbox 16 16 32 64)
+ (mirror-action "fire-climb-right"))
+
+ (action
+ (name "fire-duck-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 45 32 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "fire-duck-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 45 32 32)
+ (mirror-action "fire-duck-right"))
+
+ (action
+ (name "fire-crawl-right")
+ (fps 12.0)
+ (hitbox 32 46 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "fire-crawl-left")
+ (fps 12.0)
+ (hitbox 32 46 64 32)
+ (mirror-action "fire-crawl-right"))
+
+ (action
+ (name "fire-backflip-right")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "fire-backflip-left")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (mirror-action "fire-backflip-right"))
+
+ (action
+ (name "fire-buttjump-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "fire-buttjump-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (mirror-action "fire-buttjump-right"))
+
+ (action
+ (name "fire-stomp-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "fire-stomp-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (mirror-action "fire-stomp-right"))
+
+ (action
+ (name "fire-slide-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 32 46 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "fire-slide-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 32 46 64 32)
+ (mirror-action "fire-slide-right"))
+
+ (action
+ (name "fire-slidejump-right")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "fire-slidejump-left")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (mirror-action "fire-slidejump-right"))
+
+ (action
+ (name "fire-float-right")
+ (fps 10.0)
+ (hitbox 32 15 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "fire-float-left")
+ (fps 10.0)
+ (hitbox 32 15 64 32)
+ (mirror-action "fire-float-right"))
+
+ (action
+ (name "fire-swim-right")
+ (fps 12.0)
+ (hitbox 32 15 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "fire-swim-left")
+ (fps 12.0)
+ (hitbox 32 15 64 32)
+ (mirror-action "fire-swim-right"))
+
+ (action
+ (name "fire-boost-right")
+ (fps 18.0)
+ (hitbox 32 15 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "fire-boost-left")
+ (fps 18.0)
+ (hitbox 32 15 64 32)
+ (mirror-action "fire-boost-right"))
+
+ (action
+ (name "fire-swimjump-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 32 15 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "fire-swimjump-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 32 15 64 32)
+ (mirror-action "fire-swimjump-right"))
+
+
+; Ice Tux
+
+ (action
+ (name "ice-stand-right")
+ (fps 10.0)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "ice-stand-left")
+ (fps 10.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "ice-stand-right"))
+
+ (action
+ (name "ice-idle-right")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "ice-idle-left")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "ice-idle-right"))
+
+ (action
+ (name "ice-scratch-right")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "ice-scratch-left")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "ice-scratch-right"))
+
+ (action
+ (name "ice-walk-right")
+ (fps 14.0)
+ (loop-frame 2)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "ice-walk-left")
+ (fps 14.0)
+ (loop-frame 2)
+ (hitbox 16 14 32 64)
+ (mirror-action "ice-walk-right"))
+
+ (action
+ (name "ice-run-right")
+ (fps 15.0)
+ (loop-frame 2)
+ (hitbox 18 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "ice-run-left")
+ (fps 15.0)
+ (loop-frame 2)
+ (hitbox 20 14 32 64)
+ (mirror-action "ice-run-right"))
+
+ (action
+ (name "ice-jump-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "ice-jump-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "ice-jump-right"))
+
+ (action
+ (name "ice-fall-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "ice-fall-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "ice-fall-right"))
+
+ (action
+ (name "ice-walljump-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 24 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "ice-walljump-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 8 14 32 64)
+ (mirror-action "ice-walljump-right"))
+
+ (action
+ (name "ice-skid-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "ice-skid-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "ice-skid-right"))
+
+ (action
+ (name "ice-kick-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "ice-kick-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "ice-kick-right"))
+
+ (action
+ (name "ice-climb-right")
+ (fps 15.0)
+ (hitbox 16 16 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "ice-climb-left")
+ (fps 15.0)
+ (hitbox 16 16 32 64)
+ (mirror-action "ice-climb-right"))
+
+ (action
+ (name "ice-duck-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 45 32 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "ice-duck-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 45 32 32)
+ (mirror-action "ice-duck-right"))
+
+ (action
+ (name "ice-crawl-right")
+ (fps 12.0)
+ (hitbox 32 46 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "ice-crawl-left")
+ (fps 12.0)
+ (hitbox 32 46 64 32)
+ (mirror-action "ice-crawl-right"))
+
+ (action
+ (name "ice-backflip-right")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "ice-backflip-left")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (mirror-action "ice-backflip-right"))
+
+ (action
+ (name "ice-buttjump-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "ice-buttjump-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (mirror-action "ice-buttjump-right"))
+
+ (action
+ (name "ice-stomp-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "ice-stomp-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (mirror-action "ice-stomp-right"))
+
+ (action
+ (name "ice-slide-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 32 46 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "ice-slide-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 32 46 64 32)
+ (mirror-action "ice-slide-right"))
+
+ (action
+ (name "ice-slidejump-right")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "ice-slidejump-left")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (mirror-action "ice-slidejump-right"))
+
+ (action
+ (name "ice-float-right")
+ (fps 10.0)
+ (hitbox 32 15 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "ice-float-left")
+ (fps 10.0)
+ (hitbox 32 15 64 32)
+ (mirror-action "ice-float-right"))
+
+ (action
+ (name "ice-swim-right")
+ (fps 12.0)
+ (hitbox 32 15 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "ice-swim-left")
+ (fps 12.0)
+ (hitbox 32 15 64 32)
+ (mirror-action "ice-swim-right"))
+
+ (action
+ (name "ice-boost-right")
+ (fps 18.0)
+ (hitbox 32 15 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "ice-boost-left")
+ (fps 18.0)
+ (hitbox 32 15 64 32)
+ (mirror-action "ice-boost-right"))
+
+ (action
+ (name "ice-swimjump-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 32 15 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "ice-swimjump-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 32 15 64 32)
+ (mirror-action "ice-swimjump-right"))
+
+
+; Earth Tux
+
+ (action
+ (name "earth-stand-right")
+ (fps 10.0)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "earth-stand-left")
+ (fps 10.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "earth-stand-right"))
+
+ (action
+ (name "earth-idle-right")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "earth-idle-left")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "earth-idle-right"))
+
+ (action
+ (name "earth-scratch-right")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "earth-scratch-left")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "earth-scratch-right"))
+
+ (action
+ (name "earth-walk-right")
+ (fps 14.0)
+ (loop-frame 2)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "earth-walk-left")
+ (fps 14.0)
+ (loop-frame 2)
+ (hitbox 16 14 32 64)
+ (mirror-action "earth-walk-right"))
+
+ (action
+ (name "earth-run-right")
+ (fps 15.0)
+ (loop-frame 2)
+ (hitbox 18 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "earth-run-left")
+ (fps 15.0)
+ (loop-frame 2)
+ (hitbox 20 14 32 64)
+ (mirror-action "earth-run-right"))
+
+ (action
+ (name "earth-jump-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "earth-jump-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "earth-jump-right"))
+
+ (action
+ (name "earth-fall-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "earth-fall-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "earth-fall-right"))
+
+ (action
+ (name "earth-walljump-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 24 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "earth-walljump-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 8 14 32 64)
+ (mirror-action "earth-walljump-right"))
+
+ (action
+ (name "earth-skid-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "earth-skid-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "earth-skid-right"))
+
+ (action
+ (name "earth-kick-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "earth-kick-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "earth-kick-right"))
+
+ (action
+ (name "earth-climb-right")
+ (fps 15.0)
+ (hitbox 16 16 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "earth-climb-left")
+ (fps 15.0)
+ (hitbox 16 16 32 64)
+ (mirror-action "earth-climb-right"))
+
+ (action
+ (name "earth-duck-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 45 32 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "earth-duck-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 45 32 32)
+ (mirror-action "earth-duck-right"))
+
+ (action
+ (name "earth-crawl-right")
+ (fps 12.0)
+ (hitbox 32 46 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "earth-crawl-left")
+ (fps 12.0)
+ (hitbox 32 46 64 32)
+ (mirror-action "earth-crawl-right"))
+
+ (action
+ (name "earth-backflip-right")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "earth-backflip-left")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (mirror-action "earth-backflip-right"))
+
+ (action
+ (name "earth-buttjump-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "earth-buttjump-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (mirror-action "earth-buttjump-right"))
+
+ (action
+ (name "earth-stomp-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "earth-stomp-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (mirror-action "earth-stomp-right"))
+
+ (action
+ (name "earth-slide-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 32 46 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "earth-slide-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 32 46 64 32)
+ (mirror-action "earth-slide-right"))
+
+ (action
+ (name "earth-slidejump-right")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "earth-slidejump-left")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (mirror-action "earth-slidejump-right"))
+
+ (action
+ (name "earth-float-right")
+ (fps 10.0)
+ (hitbox 32 15 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "earth-float-left")
+ (fps 10.0)
+ (hitbox 32 15 64 32)
+ (mirror-action "earth-float-right"))
+
+ (action
+ (name "earth-swim-right")
+ (fps 12.0)
+ (hitbox 32 15 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "earth-swim-left")
+ (fps 12.0)
+ (hitbox 32 15 64 32)
+ (mirror-action "earth-swim-right"))
+
+ (action
+ (name "earth-boost-right")
+ (fps 18.0)
+ (hitbox 32 15 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "earth-boost-left")
+ (fps 18.0)
+ (hitbox 32 15 64 32)
+ (mirror-action "earth-boost-right"))
+
+ (action
+ (name "earth-swimjump-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 32 15 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "earth-swimjump-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 32 15 64 32)
+ (mirror-action "earth-swimjump-right"))
+
+; Air Tux
+
+ (action
+ (name "air-stand-right")
+ (fps 10.0)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "air-stand-left")
+ (fps 10.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "air-stand-right"))
+
+ (action
+ (name "air-idle-right")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "air-idle-left")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "air-idle-right"))
+
+ (action
+ (name "air-scratch-right")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "air-scratch-left")
+ (fps 12.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "air-scratch-right"))
+
+ (action
+ (name "air-walk-right")
+ (fps 14.0)
+ (loop-frame 2)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "air-walk-left")
+ (fps 14.0)
+ (loop-frame 2)
+ (hitbox 16 14 32 64)
+ (mirror-action "air-walk-right"))
+
+ (action
+ (name "air-run-right")
+ (fps 15.0)
+ (loop-frame 2)
+ (hitbox 18 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "air-run-left")
+ (fps 15.0)
+ (loop-frame 2)
+ (hitbox 20 14 32 64)
+ (mirror-action "air-run-right"))
+
+ (action
+ (name "air-jump-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "air-jump-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "air-jump-right"))
+
+ (action
+ (name "air-fall-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "air-fall-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "air-fall-right"))
+
+ (action
+ (name "air-walljump-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 24 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "air-walljump-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 8 14 32 64)
+ (mirror-action "air-walljump-right"))
+
+ (action
+ (name "air-skid-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "air-skid-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "air-skid-right"))
+
+ (action
+ (name "air-kick-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "air-kick-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 16 14 32 64)
+ (mirror-action "air-kick-right"))
+
+ (action
+ (name "air-climb-right")
+ (fps 15.0)
+ (hitbox 16 16 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "air-climb-left")
+ (fps 15.0)
+ (hitbox 16 16 32 64)
+ (mirror-action "air-climb-right"))
+
+ (action
+ (name "air-duck-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 45 32 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "air-duck-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 45 32 32)
+ (mirror-action "air-duck-right"))
+
+ (action
+ (name "air-crawl-right")
+ (fps 12.0)
+ (hitbox 32 46 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "air-crawl-left")
+ (fps 12.0)
+ (hitbox 32 46 64 32)
+ (mirror-action "air-crawl-right"))
+
+ (action
+ (name "air-backflip-right")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "air-backflip-left")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (mirror-action "air-backflip-right"))
+
+ (action
+ (name "air-buttjump-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "air-buttjump-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (mirror-action "air-buttjump-right"))
+
+ (action
+ (name "air-stomp-right")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "air-stomp-left")
+ (fps 20.0)
+ (loops 1)
+ (hitbox 16 14 32 46)
+ (mirror-action "air-stomp-right"))
+
+ (action
+ (name "air-slide-right")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 32 46 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "air-slide-left")
+ (fps 30.0)
+ (loops 1)
+ (hitbox 32 46 64 32)
+ (mirror-action "air-slide-right"))
+
+ (action
+ (name "air-slidejump-right")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "air-slidejump-left")
+ (fps 18.0)
+ (hitbox 19 28 32 32)
+ (mirror-action "air-slidejump-right"))
+
+ (action
+ (name "air-float-right")
+ (fps 10.0)
+ (hitbox 32 15 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "air-float-left")
+ (fps 10.0)
+ (hitbox 32 15 64 32)
+ (mirror-action "air-float-right"))
+
+ (action
+ (name "air-swim-right")
+ (fps 12.0)
+ (hitbox 32 15 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "air-swim-left")
+ (fps 12.0)
+ (hitbox 32 15 64 32)
+ (mirror-action "air-swim-right"))
+
+ (action
+ (name "air-boost-right")
+ (fps 18.0)
+ (hitbox 32 15 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "air-boost-left")
+ (fps 18.0)
+ (hitbox 32 15 64 32)
+ (mirror-action "air-boost-right"))
+
+ (action
+ (name "air-swimjump-right")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 32 15 64 32)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "air-swimjump-left")
+ (fps 15.0)
+ (loops 1)
+ (hitbox 32 15 64 32)
+ (mirror-action "air-swimjump-right"))
+
+; Cutscenes And Extras
+
+ (action
+ (name "earth-stone")
+ (hitbox 10 13 32 32)
+ (images "stand-0.png"))
+
+ (action
+ (name "credits-right")
+ (fps 10.0)
+ (hitbox 16 14 32 64)
+ (images "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"
+ "stand-0.png"))
+
+ (action
+ (name "credits-left")
+ (fps 10.0)
+ (hitbox 16 14 32 64)
+ (mirror-action "credits-right"))
+)
diff --git a/data/images/creatures/penny/small-stand-0.png b/data/images/creatures/penny/small-stand-0.png
new file mode 100644
index 00000000000..85674d5035b
Binary files /dev/null and b/data/images/creatures/penny/small-stand-0.png differ
diff --git a/src/object/character_profile.hpp b/src/object/character_profile.hpp
new file mode 100644
index 00000000000..9f1f1a28be4
--- /dev/null
+++ b/src/object/character_profile.hpp
@@ -0,0 +1,63 @@
+// SuperTux
+// Copyright (C) 2024
+//
+// 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 .
+
+#pragma once
+
+#include
+
+enum class CharacterType {
+ TUX = 0,
+ PENNY = 1,
+ LARRY = 2
+};
+
+/**
+ * Defines all gameplay and visual attributes for a character.
+ * Adding new characters or changing gameplay only requires
+ * adding an entry to CharacterRegistry
+ */
+struct CharacterProfile
+{
+ std::string id;
+ std::string name;
+
+ std::string sprite_path;
+
+ float max_speed;
+ float max_speed_multiplier;
+ float acceleration;
+ float deceleration;
+ float jump_force;
+ float fall_acceleration;
+
+ float hitbox_width;
+ float hitbox_height;
+
+ // Default constructor for Tux (fallback)
+ CharacterProfile() :
+ id("tux"),
+ name("Tux"),
+ sprite_path("tux.sprite"),
+ max_speed(230.0f),
+ max_speed_multiplier(1.0f),
+ acceleration(200.0f),
+ deceleration(200.0f),
+ jump_force(8.4f),
+ fall_acceleration(20.0f),
+ hitbox_width(31.8f),
+ hitbox_height(63.8f)
+ {}
+};
diff --git a/src/object/character_registry.cpp b/src/object/character_registry.cpp
new file mode 100644
index 00000000000..c24657bde17
--- /dev/null
+++ b/src/object/character_registry.cpp
@@ -0,0 +1,121 @@
+// SuperTux
+// Copyright (C) 2024
+//
+// 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 .
+
+#include "object/character_registry.hpp"
+#include "object/character_profile.hpp"
+#include "util/log.hpp"
+#include "util/reader_collection.hpp"
+#include "util/reader_document.hpp"
+#include "util/reader_mapping.hpp"
+
+#include
+
+CharacterRegistry::CharacterRegistry() :
+ m_default_character_id("tux")
+{
+ load_profiles("characters.stlst");
+}
+
+void CharacterRegistry::load_profiles(const std::string& filename)
+{
+ auto doc = ReaderDocument::from_file(filename);
+ auto root = doc.get_root();
+ if (root.get_name() != "supertux-playerlist")
+ {
+ throw std::runtime_error("File is not a supertux-playerlist file: " + filename);
+ }
+
+ auto collection = root.get_collection();
+ for (const auto& obj : collection.get_objects())
+ {
+ if (obj.get_name() != "player")
+ {
+ log_warning << "Unknown token '" << obj.get_name() << "' in player list" << std::endl;
+ continue;
+ }
+
+ CharacterProfile profile;
+ auto mapping = obj.get_mapping();
+ mapping.get("id", profile.id);
+ mapping.get("name", profile.name);
+ mapping.get("sprite", profile.sprite_path);
+ mapping.get("max-speed", profile.max_speed);
+ mapping.get("max-speed-multiplier", profile.max_speed_multiplier);
+ mapping.get("acceleration", profile.acceleration);
+ mapping.get("deceleration", profile.deceleration);
+ mapping.get("jump-force", profile.jump_force);
+ mapping.get("fall-acceleration", profile.fall_acceleration);
+ mapping.get("hitbox-width", profile.hitbox_width);
+ mapping.get("hitbox-height", profile.hitbox_height);
+
+ if (profile.id.empty())
+ {
+ log_warning << "Skipping player entry with empty id in " << filename << std::endl;
+ continue;
+ }
+
+ m_profiles[profile.id] = profile;
+ }
+}
+
+const CharacterProfile& CharacterRegistry::get_profile(const std::string& character_id) const
+{
+ auto it = m_profiles.find(character_id);
+ if (it != m_profiles.end())
+ {
+ return it->second;
+ }
+
+ return get_default_character();
+}
+
+std::vector CharacterRegistry::get_character_ids() const
+{
+ std::vector ids;
+ for (const auto& pair : m_profiles)
+ {
+ ids.push_back(pair.first);
+ }
+ return ids;
+}
+
+bool CharacterRegistry::has_character(const std::string& character_id) const
+{
+ return m_profiles.find(character_id) != m_profiles.end();
+}
+
+const CharacterProfile& CharacterRegistry::get_default_character() const
+{
+ return m_profiles.at(m_default_character_id);
+}
+
+CharacterType CharacterRegistry::string_to_character(const std::string& id)
+{
+ if (id == "penny") return CharacterType::PENNY;
+ if (id == "larry") return CharacterType::LARRY;
+ return CharacterType::TUX;
+}
+
+std::string CharacterRegistry::character_to_string(CharacterType type)
+{
+ switch(type) {
+ case CharacterType::PENNY: return "penny";
+ case CharacterType::LARRY: return "larry";
+ case CharacterType::TUX: return "tux";
+ }
+ return "tux";
+}
+
diff --git a/src/object/character_registry.hpp b/src/object/character_registry.hpp
new file mode 100644
index 00000000000..e5334084957
--- /dev/null
+++ b/src/object/character_registry.hpp
@@ -0,0 +1,70 @@
+// SuperTux
+// Copyright (C) 2024
+//
+// 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 .
+
+#pragma once
+
+#include "object/character_profile.hpp"
+#include "util/currenton.hpp"
+
+#include