pingus-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pingus-CVS] rev 2328 - in trunk: . data/data src src/actions src/partic


From: Ingo Ruhnke
Subject: [Pingus-CVS] rev 2328 - in trunk: . data/data src src/actions src/particles
Date: Mon, 10 May 2004 13:43:22 +0200

Author: grumbel
Date: 2004-05-10 13:43:22 +0200 (Mon, 10 May 2004)
New Revision: 2328

Modified:
   trunk/TODO
   trunk/data/data/pingus.xml
   trunk/src/action_button.cxx
   trunk/src/actions/angel.cxx
   trunk/src/actions/basher.cxx
   trunk/src/actions/basher.hxx
   trunk/src/actions/blocker.cxx
   trunk/src/actions/boarder.cxx
   trunk/src/actions/bomber.cxx
   trunk/src/actions/bridger.cxx
   trunk/src/actions/climber.cxx
   trunk/src/actions/digger.cxx
   trunk/src/actions/drown.cxx
   trunk/src/actions/exiter.cxx
   trunk/src/actions/faller.cxx
   trunk/src/actions/faller.hxx
   trunk/src/actions/floater.cxx
   trunk/src/actions/jumper.cxx
   trunk/src/actions/laser_kill.cxx
   trunk/src/actions/miner.cxx
   trunk/src/actions/miner.hxx
   trunk/src/actions/rocket_launcher.cxx
   trunk/src/actions/slider.cxx
   trunk/src/actions/smashed.cxx
   trunk/src/actions/splashed.cxx
   trunk/src/actions/superman.cxx
   trunk/src/actions/teleported.cxx
   trunk/src/actions/waiter.cxx
   trunk/src/actions/walker.cxx
   trunk/src/particles/explosive_particle.cxx
   trunk/src/particles/ground_particle.cxx
   trunk/src/particles/pingu_particle_holder.cxx
   trunk/src/particles/rain_particle_holder.cxx
   trunk/src/particles/smoke_particle_holder.cxx
   trunk/src/particles/snow_particle_holder.cxx
   trunk/src/pingus_resource.cxx
   trunk/src/pingus_resource.hxx
   trunk/src/sprite.hxx
Log:
- changed resource handling a bit

Modified: trunk/TODO
===================================================================
--- trunk/TODO  2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/TODO  2004-05-10 11:43:22 UTC (rev 2328)
@@ -1,3 +1,19 @@
+Resource String Cleanup:
+========================
+Old:
+  <surface><resource type="datafile">
+    <resource-datafile>groundpieces-ground</resource-datafile>
+  <resource-ident>snow/block2</resource-ident>
+    <modifier>ROT0</modifier>
+  </resource></surface>
+
+Should be:
+  <surface>
+    <name>groundpieces/ground/snow/block2</name>
+    <modifier>ROT0</modifier>
+  </surface>
+
+
 Roadmap for Pingus 0.5.0
 ~~~~~~~~~~~~~~~~~~~~~~~~
 

Modified: trunk/data/data/pingus.xml
===================================================================
--- trunk/data/data/pingus.xml  2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/data/data/pingus.xml  2004-05-10 11:43:22 UTC (rev 2328)
@@ -1,8 +1,6 @@
 <resources>
-  <section name="Pingus">
-
+  <section name="pingus">
     <section name="floaterlayer">
-
       <sprite name="left">
         <translation origin="bottom_center" x="0" y="2"/>
         <image file="../images/pingus/floaterlayer.png">
@@ -18,71 +16,189 @@
       </sprite>
     </section>
 
-    <sprite name="rocketlauncher0">
-      <image file="../images/pingus/rocketlauncher.png">
-        <grid pos="0,0" size="32,32" array="7,2"/>
-      </image>
-    </sprite>
-    <sprite name="boarder0">
-      <image file="../images/pingus/boarder.png">
-        <grid pos="0,0" size="30,30" array="1,2"/>
-      </image>
-    </sprite>
-    <sprite name="angel0">
-      <image file="../images/pingus/angel.png">
-        <grid pos="0,0" size="46,30" array="4,1"/>
-      </image>
-    </sprite>
-    <sprite name="superman0">
-      <image file="../images/pingus/superman.png">
-        <grid pos="0,0" size="30,30" array="8,1"/>
-      </image>
-    </sprite>
-    <sprite name="bomber0">
-      <image file="../images/pingus/bomber.png">
-        <grid pos="0,0" size="32,32" array="16,1"/>
-      </image>
-    </sprite>
-    <sprite name="basher0">
-      <image file="../images/pingus/basher.png">
-        <grid pos="0,0" size="32,32" array="12,2"/>
-      </image>
-    </sprite>
-    <sprite name="climber0">
-      <image file="../images/pingus/climber.png">
-        <grid pos="0,0" size="32,32" array="8,2"/>
-      </image>
-    </sprite>
-    <sprite name="faller0">
-      <image file="../images/pingus/faller.png">
-        <grid pos="0,0" size="32,32" array="8,1"/>
-      </image>
-    </sprite>
-    <sprite name="jumper0">
-      <image file="../images/pingus/faller.png">
-        <grid pos="0,0" size="32,32" array="8,1"/>
-      </image>
-    </sprite>
-    <sprite name="tumble0">
-      <image file="../images/pingus/tumble.png">
-        <grid pos="0,0" size="32,32" array="8,1"/>
-      </image>
-    </sprite>
-    <sprite name="bridger0">
-      <image file="../images/pingus/bridger.png">
-        <grid pos="0,0" size="32,32" array="15,2"/>
-      </image>
-    </sprite>
-    <sprite name="bridger_walk0">
-      <image file="../images/pingus/bridger_walk.png">
-        <grid pos="0,0" size="32,32" array="4,2"/>
-      </image>
-    </sprite>
-    <sprite name="bridger_build0">
-      <image file="../images/pingus/bridger_build.png">
-        <grid pos="0,0" size="32,32" array="11,2"/>
-      </image>
-    </sprite>
+    <section name="rocketlauncher">
+      <sprite name="left">
+        <image file="../images/pingus/rocketlauncher.png">
+          <grid pos="0,0" size="32,32" array="7,1"/>
+        </image>
+      </sprite>
+
+      <sprite name="right">
+        <image file="../images/pingus/rocketlauncher.png">
+          <grid pos="0,32" size="32,32" array="7,1"/>
+        </image>
+      </sprite>
+    </section>
+
+    <section name="boarder">
+      <sprite name="left">
+        <image file="../images/pingus/boarder.png">
+          <grid pos="0,0" size="30,30" array="1,1"/>
+        </image>
+      </sprite>
+
+      <sprite name="right">
+        <image file="../images/pingus/boarder.png">
+          <grid pos="0,30" size="30,30" array="1,1"/>
+        </image>
+      </sprite>
+    </section>
+
+    <section name="angel">
+      <sprite name="left">
+        <image file="../images/pingus/angel.png">
+          <grid pos="0,0" size="46,30" array="4,1"/>
+        </image>
+      </sprite>
+
+      <sprite name="right">
+        <image file="../images/pingus/angel.png">
+          <grid pos="0,0" size="46,30" array="4,1"/>
+        </image>
+      </sprite>
+    </section>
+
+    <section name="superman">
+      <sprite name="left">
+        <image file="../images/pingus/superman.png">
+          <grid pos="0,0" size="30,30" array="8,1"/>
+        </image>
+      </sprite>
+
+      <sprite name="right">
+        <image file="../images/pingus/superman.png">
+          <grid pos="0,0" size="30,30" array="8,1"/>
+        </image>
+      </sprite>
+    </section>
+
+    <section name="bomber">
+      <sprite name="left">
+        <image file="../images/pingus/bomber.png">
+          <grid pos="0,0" size="32,32" array="16,1"/>
+        </image>
+      </sprite>
+
+      <sprite name="right">
+        <image file="../images/pingus/bomber.png">
+          <grid pos="0,0" size="32,32" array="16,1"/>
+        </image>
+      </sprite>
+    </section>
+
+    <section name="basher">
+      <sprite name="left">
+        <translation origin="bottom_center" x="0" y="1"/>
+        <image file="../images/pingus/basher.png">
+          <grid pos="0,0" size="32,32" array="12,1"/>
+        </image>
+      </sprite>
+
+      <sprite name="right">
+        <translation origin="bottom_center" x="0" y="1"/>
+        <image file="../images/pingus/basher.png">
+          <grid pos="0,32" size="32,32" array="12,1"/>
+        </image>
+      </sprite>
+    </section>
+
+    <section name="climber">
+      <sprite name="left">
+        <image file="../images/pingus/climber.png">
+          <grid pos="0,0" size="32,32" array="8,1"/>
+        </image>
+      </sprite>
+
+      <sprite name="right">
+        <image file="../images/pingus/climber.png">
+          <grid pos="0,32" size="32,32" array="8,1"/>
+        </image>
+      </sprite>
+    </section>
+
+    <section name="faller">
+      <sprite name="left">
+        <image file="../images/pingus/faller.png">
+          <grid pos="0,0" size="32,32" array="8,1"/>
+        </image>
+      </sprite>
+
+      <sprite name="right">
+        <image file="../images/pingus/faller.png">
+          <grid pos="0,0" size="32,32" array="8,1"/>
+        </image>
+      </sprite>
+    </section>
+
+    <section name="jumper">
+      <sprite name="left">
+        <image file="../images/pingus/faller.png">
+          <grid pos="0,0" size="32,32" array="8,1"/>
+        </image>
+      </sprite>
+
+      <sprite name="right">
+        <image file="../images/pingus/faller.png">
+          <grid pos="0,0" size="32,32" array="8,1"/>
+        </image>
+      </sprite>
+    </section>
+
+    <section name="tumble">
+      <sprite name="left">
+        <image file="../images/pingus/tumble.png">
+          <grid pos="0,0" size="32,32" array="8,1"/>
+        </image>
+      </sprite>
+
+      <sprite name="right">
+        <image file="../images/pingus/tumble.png">
+          <grid pos="0,0" size="32,32" array="8,1"/>
+        </image>
+      </sprite>
+    </section>
+
+    <section name="bridger">
+      <sprite name="left">
+        <image file="../images/pingus/bridger.png">
+          <grid pos="0,0" size="32,32" array="15,1"/>
+        </image>
+      </sprite>
+
+      <sprite name="left">
+        <image file="../images/pingus/bridger.png">
+          <grid pos="0,32" size="32,32" array="15,1"/>
+        </image>
+      </sprite>
+    </section>
+
+    <section name="bridger_walk">
+      <sprite name="left">
+        <image file="../images/pingus/bridger_walk.png">
+          <grid pos="0,0" size="32,32" array="4,1"/>
+        </image>
+      </sprite>
+      
+      <sprite name="right">
+        <image file="../images/pingus/bridger_walk.png">
+          <grid pos="0,32" size="32,32" array="4,1"/>
+        </image>
+      </sprite>
+    </section>
+
+    <section name="bridger_build">
+      <sprite name="left">
+        <image file="../images/pingus/bridger_build.png">
+          <grid pos="0,0" size="32,32" array="11,1"/>
+        </image>
+      </sprite>
+
+      <sprite name="right">
+        <image file="../images/pingus/bridger_build.png">
+          <grid pos="0,32" size="32,32" array="11,1"/>
+        </image>
+      </sprite>
+    </section>
     
     <section name="walker">
       <sprite name="left">
@@ -102,284 +218,151 @@
       </sprite>
     </section>
 
-    <sprite name="walker0">
-      <image file="../images/pingus/walker.png">
-        <grid pos="0,0" size="32,32" array="8,2"/>
-      </image>
-    </sprite>
-    <sprite name="blocker0">
-      <image file="../images/pingus/blocker.png">
-        <grid pos="0,0" size="32,32" array="6,1"/>
-      </image>
-    </sprite>
-    <sprite name="floater0">
-      <image file="../images/pingus/floater.png">
-        <grid pos="0,0" size="32,32" array="8,1"/>
-      </image>
-    </sprite>
-    <sprite name="digger0">
-      <image file="../images/pingus/digger.png">
-        <grid pos="0,0" size="32,32" array="14,1"/>
-      </image>
-    </sprite>
-    <sprite name="miner0">
-      <image file="../images/pingus/miner.png">
-        <grid pos="0,0" size="32,32" array="12,2"/>
-      </image>
-    </sprite>
+    <section name="blocker">
+      <sprite name="left">
+        <image file="../images/pingus/blocker.png">
+          <grid pos="0,0" size="32,32" array="6,1"/>
+        </image>
+      </sprite>
+
+      <sprite name="right">
+        <image file="../images/pingus/blocker.png">
+          <grid pos="0,0" size="32,32" array="6,1"/>
+        </image>
+      </sprite>
+    </section>
+    
+    <section name="floater">
+      <sprite name="left">
+        <image file="../images/pingus/floater.png">
+          <grid pos="0,0" size="32,32" array="8,1"/>
+        </image>
+      </sprite>
+      
+      <sprite name="right">
+        <image file="../images/pingus/floater.png">
+          <grid pos="0,0" size="32,32" array="8,1"/>
+        </image>
+      </sprite>
+    </section>
+
+    <section name="digger">
+      <sprite name="left">
+        <image file="../images/pingus/digger.png">
+          <grid pos="0,0" size="32,32" array="14,1"/>
+        </image>
+      </sprite>
+
+      <sprite name="right">
+        <image file="../images/pingus/digger.png">
+          <grid pos="0,0" size="32,32" array="14,1"/>
+        </image>
+      </sprite>
+    </section>
+
+    <section name="miner">
+      <sprite name="left">
+        <image file="../images/pingus/miner.png">
+          <grid pos="0,0" size="32,32" array="12,1"/>
+        </image>
+      </sprite>
+
+      <sprite name="right">
+        <image file="../images/pingus/miner.png">
+          <grid pos="0,32" size="32,32" array="12,1"/>
+        </image>
+      </sprite>
+    </section>
+
     <sprite name="splash0">
       <image file="../images/pingus/splash.png">
         <grid pos="0,0" size="32,32" array="12,1"/>
       </image>
     </sprite>
+
     <sprite name="splash_debris0">
       <image file="../images/pingus/splash_debris.png">
         <grid pos="0,0" size="32,32" array="6,2"/>
       </image>
     </sprite>
+
     <sprite name="splat0">
       <image file="../images/pingus/splat.png">
         <grid pos="0,0" size="32,32" array="16,1"/>
       </image>
     </sprite>
-    <sprite name="exit0">
-      <image file="../images/pingus/exit.png">
-        <grid pos="0,0" size="32,32" array="9,2"/>
-      </image>
-    </sprite>
-    <sprite name="drownfall0">
-      <image file="../images/pingus/drownfall.png">
-        <grid pos="0,0" size="32,32" array="15,2"/>
-      </image>
-    </sprite>
-    <sprite name="drownwalk0">
-      <image file="../images/pingus/drownwalk.png">
-        <grid pos="0,0" size="32,32" array="15,2"/>
-      </image>
-    </sprite>
-    <sprite name="waiter">
-      <image file="../images/pingus/waiter.png">
-        <grid pos="0,0" size="32,32" array="6,1"/>
-      </image>
-    </sprite>
-    <sprite name="slider0">
-      <image file="../images/pingus/slider.png">
-        <grid pos="0,0" size="32,15" array="1,2"/>
-      </image>
-    </sprite>
-    <sprite name="bomber1">
-      <image file="../images/pingus/bomber1.png">
-        <grid pos="0,0" size="32,32" array="16,1"/>
-      </image>
-    </sprite>
-    <sprite name="basher1">
-      <image file="../images/pingus/basher1.png">
-        <grid pos="0,0" size="32,32" array="12,2"/>
-      </image>
-    </sprite>
-    <sprite name="climber1">
-      <image file="../images/pingus/climber1.png">
-        <grid pos="0,0" size="32,32" array="8,2"/>
-      </image>
-    </sprite>
-    <sprite name="faller1">
-      <image file="../images/pingus/faller1.png">
-        <grid pos="0,0" size="32,32" array="8,1"/>
-      </image>
-    </sprite>
-    <sprite name="jumper1">
-      <image file="../images/pingus/faller1.png">
-        <grid pos="0,0" size="32,32" array="8,1"/>
-      </image>
-    </sprite>
-    <sprite name="tumble1">
-      <image file="../images/pingus/tumble1.png">
-        <grid pos="0,0" size="32,32" array="8,1"/>
-      </image>
-    </sprite>
-    <sprite name="bridger1">
-      <image file="../images/pingus/bridger1.png">
-        <grid pos="0,0" size="32,32" array="15,2"/>
-      </image>
-    </sprite>
-    <sprite name="walker1">
-      <image file="../images/pingus/walker1.png">
-        <grid pos="0,0" size="32,32" array="8,2"/>
-      </image>
-    </sprite>
-    <sprite name="blocker1">
-      <image file="../images/pingus/blocker1.png">
-        <grid pos="0,0" size="32,32" array="6,1"/>
-      </image>
-    </sprite>
-    <sprite name="floater1">
-      <image file="../images/pingus/floater1.png">
-        <grid pos="0,0" size="32,32" array="8,1"/>
-      </image>
-    </sprite>
-    <sprite name="digger1">
-      <image file="../images/pingus/digger1.png">
-        <grid pos="0,0" size="32,32" array="14,1"/>
-      </image>
-    </sprite>
-    <sprite name="miner1">
-      <image file="../images/pingus/miner1.png">
-        <grid pos="0,0" size="32,32" array="12,2"/>
-      </image>
-    </sprite>
-    <sprite name="exit1">
-      <image file="../images/pingus/exit1.png">
-        <grid pos="0,0" size="32,32" array="9,2"/>
-      </image>
-    </sprite>
-    <sprite name="drownfall1">
-      <image file="../images/pingus/drownfall1.png">
-        <grid pos="0,0" size="32,32" array="15,2"/>
-      </image>
-    </sprite>
-    <sprite name="bomber2">
-      <image file="../images/pingus/bomber2.png">
-        <grid pos="0,0" size="32,32" array="16,1"/>
-      </image>
-    </sprite>
-    <sprite name="basher2">
-      <image file="../images/pingus/basher2.png">
-        <grid pos="0,0" size="32,32" array="12,2"/>
-      </image>
-    </sprite>
-    <sprite name="climber2">
-      <image file="../images/pingus/climber2.png">
-        <grid pos="0,0" size="32,32" array="8,2"/>
-      </image>
-    </sprite>
-    <sprite name="faller2">
-      <image file="../images/pingus/faller2.png">
-        <grid pos="0,0" size="32,32" array="8,1"/>
-      </image>
-    </sprite>
-    <sprite name="jumper2">
-      <image file="../images/pingus/faller2.png">
-        <grid pos="0,0" size="32,32" array="8,1"/>
-      </image>
-    </sprite>
-    <sprite name="tumble2">
-      <image file="../images/pingus/tumble2.png">
-        <grid pos="0,0" size="32,32" array="8,1"/>
-      </image>
-    </sprite>
-    <sprite name="bridger2">
-      <image file="../images/pingus/bridger2.png">
-        <grid pos="0,0" size="32,32" array="15,2"/>
-      </image>
-    </sprite>
-    <sprite name="walker2">
-      <image file="../images/pingus/walker2.png">
-        <grid pos="0,0" size="32,32" array="8,2"/>
-      </image>
-    </sprite>
-    <sprite name="blocker2">
-      <image file="../images/pingus/blocker2.png">
-        <grid pos="0,0" size="32,32" array="6,1"/>
-      </image>
-    </sprite>
-    <sprite name="floater2">
-      <image file="../images/pingus/floater2.png">
-        <grid pos="0,0" size="32,32" array="8,2"/>
-      </image>
-    </sprite>
-    <sprite name="digger2">
-      <image file="../images/pingus/digger2.png">
-        <grid pos="0,0" size="32,32" array="14,1"/>
-      </image>
-    </sprite>
-    <sprite name="miner2">
-      <image file="../images/pingus/miner2.png">
-        <grid pos="0,0" size="32,32" array="12,2"/>
-      </image>
-    </sprite>
-    <sprite name="exit2">
-      <image file="../images/pingus/exit2.png">
-        <grid pos="0,0" size="32,32" array="9,2"/>
-      </image>
-    </sprite>
-    <sprite name="drownfall2">
-      <image file="../images/pingus/drownfall2.png">
-        <grid pos="0,0" size="32,32" array="15,2"/>
-      </image>
-    </sprite>
-    <sprite name="bomber3">
-      <image file="../images/pingus/bomber3.png">
-        <grid pos="0,0" size="32,32" array="16,1"/>
-      </image>
-    </sprite>
-    <sprite name="basher3">
-      <image file="../images/pingus/basher3.png">
-        <grid pos="0,0" size="32,32" array="12,2"/>
-      </image>
-    </sprite>
-    <sprite name="climber3">
-      <image file="../images/pingus/climber3.png">
-        <grid pos="0,0" size="32,32" array="8,2"/>
-      </image>
-    </sprite>
-    <sprite name="faller3">
-      <image file="../images/pingus/faller3.png">
-        <grid pos="0,0" size="32,32" array="8,1"/>
-      </image>
-    </sprite>
-    <sprite name="jumper3">
-      <image file="../images/pingus/faller3.png">
-        <grid pos="0,0" size="32,32" array="8,1"/>
-      </image>
-    </sprite>
-    <sprite name="tumble3">
-      <image file="../images/pingus/tumble3.png">
-        <grid pos="0,0" size="32,32" array="8,1"/>
-      </image>
-    </sprite>
-    <sprite name="bridger3">
-      <image file="../images/pingus/bridger3.png">
-        <grid pos="0,0" size="32,32" array="15,2"/>
-      </image>
-    </sprite>
-    <sprite name="walker3">
-      <image file="../images/pingus/walker3.png">
-        <grid pos="0,0" size="32,32" array="8,2"/>
-      </image>
-    </sprite>
-    <sprite name="blocker3">
-      <image file="../images/pingus/blocker3.png">
-        <grid pos="0,0" size="32,32" array="6,1"/>
-      </image>
-    </sprite>
-    <sprite name="floater3">
-      <image file="../images/pingus/floater3.png">
-        <grid pos="0,0" size="32,32" array="8,2"/>
-      </image>
-    </sprite>
-    <sprite name="digger3">
-      <image file="../images/pingus/digger3.png">
-        <grid pos="0,0" size="32,32" array="14,1"/>
-      </image>
-    </sprite>
-    <sprite name="miner3">
-      <image file="../images/pingus/miner3.png">
-        <grid pos="0,0" size="32,32" array="12,2"/>
-      </image>
-    </sprite>
-    <sprite name="exit3">
-      <image file="../images/pingus/exit3.png">
-        <grid pos="0,0" size="32,32" array="9,2"/>
-      </image>
-    </sprite>
-    <sprite name="drownfall3">
-      <image file="../images/pingus/drownfall3.png">
-        <grid pos="0,0" size="32,32" array="15,2"/>
-      </image>
-    </sprite>
-  </section>
 
-  <section name="Other">
+    <section name="exit">
+      <sprite name="right">
+        <image file="../images/pingus/exit.png">
+          <grid pos="0,0" size="32,32" array="9,1"/>
+        </image>
+      </sprite>
+
+      <sprite name="right">
+        <image file="../images/pingus/exit.png">
+          <grid pos="0,32" size="32,32" array="9,1"/>
+        </image>
+      </sprite>
+    </section>
+
+    <section name="drownfall">
+      <sprite name="left">
+        <image file="../images/pingus/drownfall.png">
+          <grid pos="0,0" size="32,32" array="15,1"/>
+        </image>
+      </sprite>
+
+      <sprite name="left">
+        <image file="../images/pingus/drownfall.png">
+          <grid pos="0,32" size="32,32" array="15,1"/>
+        </image>
+      </sprite>
+    </section>
+
+    <section name="drownwalk">
+      <sprite name="left">
+        <image file="../images/pingus/drownwalk.png">
+          <grid pos="0,0" size="32,32" array="15,1"/>
+        </image>
+      </sprite>
+      <sprite name="left">
+        <image file="../images/pingus/drownwalk.png">
+          <grid pos="0,32" size="32,32" array="15,1"/>
+        </image>
+      </sprite>
+    </section>
+    
+    <section name="waiter">
+      <sprite name="left">
+        <image file="../images/pingus/waiter.png">
+          <grid pos="0,0" size="32,32" array="6,1"/>
+        </image>
+      </sprite>
+
+      <sprite name="right">
+        <image file="../images/pingus/waiter.png">
+          <grid pos="0,0" size="32,32" array="6,1"/>
+        </image>
+      </sprite>
+    </section>
+    
+    <section name="slider">
+      <sprite name="left">
+        <image file="../images/pingus/slider.png">
+          <grid pos="0,0" size="32,15" array="1,1"/>
+        </image>
+      </sprite>
+
+      <sprite name="right">
+        <image file="../images/pingus/slider.png">
+          <grid pos="0,15" size="32,15" array="1,1"/>
+        </image>
+      </sprite>      
+    </section>
+  </section>
+  
+  <section name="other">
     <sprite name="brick_right">
       <image file="../images/pingus/brick_right.png" />
     </sprite>
@@ -440,7 +423,8 @@
       </image>
     </sprite>
   </section>
-  <section name="Particles">
+  
+  <section name="particles">
     <sprite name="explosive">
       <image file="../images/particles/explosive.png">
       </image>

Modified: trunk/src/action_button.cxx
===================================================================
--- trunk/src/action_button.cxx 2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/src/action_button.cxx 2004-05-10 11:43:22 UTC (rev 2328)
@@ -50,8 +50,7 @@
   font   = Fonts::pingus_small;
   font_b = Fonts::pingus_large;
 
-  sprite = Sprite("Pingus/" + action_to_string(name) + to_string(owner_id), 
"pingus", 25.0f);
-  sprite.set_align_center_bottom();
+  sprite = Sprite("pingus/" + action_to_string(name) + "/right");
 
   // FIXME: Big fat hack
   if (   name == Digger  || name == Bomber

Modified: trunk/src/actions/angel.cxx
===================================================================
--- trunk/src/actions/angel.cxx 2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/src/actions/angel.cxx 2004-05-10 11:43:22 UTC (rev 2328)
@@ -32,7 +32,7 @@
   : PinguAction(p),
     counter(0.0),
     x_pos(pingu->get_x()),
-    sprite("Pingus/angel" + to_string(pingu->get_owner()), "pingus")
+    sprite("pingus/angel")
 {
   sprite.set_align_center_bottom();
 }

Modified: trunk/src/actions/basher.cxx
===================================================================
--- trunk/src/actions/basher.cxx        2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/src/actions/basher.cxx        2004-05-10 11:43:22 UTC (rev 2328)
@@ -32,13 +32,13 @@
 
 Basher::Basher (Pingu* p)
   : PinguAction(p),
-    sprite(PingusResource::load_sprite("Pingus/basher0", "pingus")),
-    bash_radius(PingusResource::load_pixelbuffer("Other/bash_radius", 
"pingus")),
-    bash_radius_gfx(PingusResource::load_pixelbuffer("Other/bash_radius_gfx", 
"pingus")),
+    bash_radius(PingusResource::load_pixelbuffer("other/bash_radius")),
+    bash_radius_gfx(PingusResource::load_pixelbuffer("other/bash_radius_gfx")),
     basher_c(0),
     first_bash(true)
 {
-  sprite.set_alignment(origin_bottom_center);
+  sprite.load(Direction::LEFT,  PingusResource::load_sprite("pingus/basher"));
+  sprite.load(Direction::RIGHT, PingusResource::load_sprite("pingus/basher"));
 
   bash_radius_width     = bash_radius.get_width();
   bash_radius_gfx_width = bash_radius_gfx.get_width();
@@ -55,19 +55,13 @@
 void
 Basher::draw (GraphicContext& gc)
 {
-#ifdef CLANLIB_0_6
-  if (pingu->direction.is_left())
-    sprite.set_direction (Sprite::LEFT);
-  else
-    sprite.set_direction (Sprite::RIGHT);
-#endif
-  gc.draw (sprite, pingu->get_pos() + Vector (0, +1));
+  gc.draw(sprite(pingu->direction), pingu->get_pos());
 }
 
 void
 Basher::update ()
 {
-  sprite.update ();
+  sprite(pingu->direction).update();
 
   ++basher_c;
   if (basher_c % 3 == 0)
@@ -100,8 +94,9 @@
              if (basher_c % 2 == 0)
                bash();
            }
-         else if (sprite.get_current_frame()/float(sprite.get_frame_count()) > 
0.6f) // FIXME: EVIL!
-           {
+         else if (sprite(pingu->direction).get_current_frame() 
+                   / float(sprite(pingu->direction).get_frame_count()) > 0.6f) 
+           { // FIXME: EVIL! Engine must not relay on graphic
              pingu->set_action(Actions::Walker);
            }
        }

Modified: trunk/src/actions/basher.hxx
===================================================================
--- trunk/src/actions/basher.hxx        2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/src/actions/basher.hxx        2004-05-10 11:43:22 UTC (rev 2328)
@@ -20,7 +20,7 @@
 #ifndef HEADER_PINGUS_ACTIONS_BASHER_HXX
 #define HEADER_PINGUS_ACTIONS_BASHER_HXX
 
-#include "../sprite.hxx"
+#include "../state_sprite.hxx"
 #include "../pingu_action.hxx"
 
 namespace Pingus {
@@ -29,7 +29,7 @@
 class Basher : public PinguAction
 {
 private:
-  CL_Sprite sprite;
+  StateSprite sprite;
   CL_PixelBuffer bash_radius;
   CL_PixelBuffer bash_radius_gfx;
   int basher_c;

Modified: trunk/src/actions/blocker.cxx
===================================================================
--- trunk/src/actions/blocker.cxx       2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/src/actions/blocker.cxx       2004-05-10 11:43:22 UTC (rev 2328)
@@ -33,7 +33,7 @@
 
 Blocker::Blocker(Pingu* p)
   : PinguAction(p),
-    sprite(PingusResource::load_sprite("Pingus/blocker" + 
to_string(pingu->get_owner()), "pingus")) // 6.0f)
+    sprite(PingusResource::load_sprite("pingus/blocker")) // 6.0f)
 {
   sprite.set_alignment(origin_bottom_center);
 

Modified: trunk/src/actions/boarder.cxx
===================================================================
--- trunk/src/actions/boarder.cxx       2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/src/actions/boarder.cxx       2004-05-10 11:43:22 UTC (rev 2328)
@@ -31,7 +31,7 @@
   : PinguAction(p),
     x_pos(pingu->get_x()),
     speed(0.0),
-    sprite("Pingus/boarder" + to_string(pingu->get_owner()), "pingus")
+    sprite("pingus/boarder")
 {
   sprite.set_align_center_bottom();
 }

Modified: trunk/src/actions/bomber.cxx
===================================================================
--- trunk/src/actions/bomber.cxx        2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/src/actions/bomber.cxx        2004-05-10 11:43:22 UTC (rev 2328)
@@ -46,16 +46,15 @@
     sound_played(false),
     gfx_exploded(false),
     colmap_exploded(false),
-    sprite("Pingus/bomber" + to_string(pingu->get_owner()), "pingus", 
-           17.0f, Sprite::NONE, Sprite::ONCE),
-    explo_surf(PingusResource::load_sprite("Other/explo" + 
to_string(pingu->get_owner()), "pingus"))
+    sprite("pingus/bomber", "pingus", 17.0f, Sprite::NONE, Sprite::ONCE),
+    explo_surf(PingusResource::load_sprite("other/explo"))
 {
   // Only load the surface again if no static_surface is available
   if (!static_surface_loaded)
     {
       static_surface_loaded = true;
-      bomber_radius     = 
PingusResource::load_pixelbuffer("Other/bomber_radius", "pingus");
-      bomber_radius_gfx = 
PingusResource::load_pixelbuffer("Other/bomber_radius_gfx", "pingus");
+      bomber_radius     = 
PingusResource::load_pixelbuffer("other/bomber_radius");
+      bomber_radius_gfx = 
PingusResource::load_pixelbuffer("other/bomber_radius_gfx");
     }
   sprite.set_align_center_bottom();
 }

Modified: trunk/src/actions/bridger.cxx
===================================================================
--- trunk/src/actions/bridger.cxx       2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/src/actions/bridger.cxx       2004-05-10 11:43:22 UTC (rev 2328)
@@ -41,17 +41,17 @@
 Bridger::Bridger (Pingu* p)
   : PinguAction(p),
     mode(B_BUILDING),
-    walk_sprite(Sprite("Pingus/bridger_walk" + to_string(pingu->get_owner()), 
"pingus", 15.0f, Sprite::NONE, Sprite::ONCE)),
-    build_sprite(Sprite("Pingus/bridger_build" + 
to_string(pingu->get_owner()), "pingus", 15.0f, Sprite::NONE, Sprite::ONCE)),
+    walk_sprite(Sprite("pingus/bridger_walk", "pingus", 15.0f, Sprite::NONE, 
Sprite::ONCE)),
+    build_sprite(Sprite("pingus/bridger_build", "pingus", 15.0f, Sprite::NONE, 
Sprite::ONCE)),
     bricks(MAX_BRICKS),
     block_build(false),
     name(_("Bridger") + std::string(" (") + to_string(bricks) + ")")
 {
   if (!static_surfaces_loaded)
     {
-      static_surface = PingusResource::load_surface ("Pingus/bridger0", 
"pingus");
-      brick_l = PingusResource::load_pixelbuffer("Other/brick_left", "pingus");
-      brick_r = PingusResource::load_pixelbuffer("Other/brick_right", 
"pingus");
+      static_surface = PingusResource::load_surface ("pingus/bridger");
+      brick_l = PingusResource::load_pixelbuffer("other/brick_left");
+      brick_r = PingusResource::load_pixelbuffer("other/brick_right");
       static_surfaces_loaded = true;
     }
 

Modified: trunk/src/actions/climber.cxx
===================================================================
--- trunk/src/actions/climber.cxx       2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/src/actions/climber.cxx       2004-05-10 11:43:22 UTC (rev 2328)
@@ -27,7 +27,7 @@
 
 Climber::Climber (Pingu* p)
   : PinguAction(p),
-    sprite(Sprite ("Pingus/climber0", "pingus")),
+    sprite(Sprite ("pingus/climber0")),
     sprite_width(sprite.get_width()),
     sprite_height(sprite.get_height())
 {

Modified: trunk/src/actions/digger.cxx
===================================================================
--- trunk/src/actions/digger.cxx        2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/src/actions/digger.cxx        2004-05-10 11:43:22 UTC (rev 2328)
@@ -33,16 +33,11 @@
 
 Digger::Digger (Pingu* p)
   : PinguAction(p),
-    digger_radius(PingusResource::load_pixelbuffer("Other/digger_radius", 
"pingus")),
-    digger_radius_gfx(PingusResource::load_pixelbuffer("Other/digger_radius", 
"pingus")),
-    sprite(Sprite (std::string("Pingus/digger") + to_string(pingu->get_owner 
()), "pingus")),
+    digger_radius(PingusResource::load_pixelbuffer("other/digger_radius")),
+    digger_radius_gfx(PingusResource::load_pixelbuffer("other/digger_radius")),
+    sprite("pingus/digger"),
     digger_c(0)
 {
-#if 0
-  // FIXME: Just an idea...
-  sprite = Sprite (std::string("Pingus/digger") + to_string(pingu->get_owner 
()),
-                  "pingus", PropertyMgr::instance()->get_int 
("actions/digger/sprite-fps", 20));
-#endif
   sprite.set_align_center_bottom();
 
   digger_radius_width  = digger_radius.get_width();

Modified: trunk/src/actions/drown.cxx
===================================================================
--- trunk/src/actions/drown.cxx 2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/src/actions/drown.cxx 2004-05-10 11:43:22 UTC (rev 2328)
@@ -27,7 +27,7 @@
 
 Drown::Drown (Pingu* p)
   : PinguAction(p),
-    sprite(Sprite("Pingus/drownfall0", "pingus", 60.0f, Sprite::NONE, 
Sprite::ONCE))
+    sprite(Sprite("pingus/drownfall0", "pingus", 60.0f, Sprite::NONE, 
Sprite::ONCE))
 {
   sprite.set_align_center_bottom();
 }

Modified: trunk/src/actions/exiter.cxx
===================================================================
--- trunk/src/actions/exiter.cxx        2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/src/actions/exiter.cxx        2004-05-10 11:43:22 UTC (rev 2328)
@@ -28,7 +28,7 @@
 
 Exiter::Exiter (Pingu* p)
   : PinguAction(p),
-    sprite(Sprite("Pingus/exit0", "pingus", 15.0f, Sprite::NONE, 
Sprite::ONCE)),
+    sprite(Sprite("pingus/exit0", "pingus", 15.0f, Sprite::NONE, 
Sprite::ONCE)),
     sound_played(false)
 {
   sprite.set_align_center_bottom();

Modified: trunk/src/actions/faller.cxx
===================================================================
--- trunk/src/actions/faller.cxx        2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/src/actions/faller.cxx        2004-05-10 11:43:22 UTC (rev 2328)
@@ -25,6 +25,7 @@
 #include "../gui/graphic_context.hxx"
 #include "../movers/linear_mover.hxx"
 #include "../pingu.hxx"
+#include "../pingus_resource.hxx"
 #include "../string_converter.hxx"
 #include "../world.hxx"
 #include "../worldobj.hxx"
@@ -34,14 +35,13 @@
 namespace Actions {
 
 Faller::Faller (Pingu* p)
-  : PinguAction(p),
-    faller(Sprite("Pingus/faller" + to_string(pingu->get_owner ()), "pingus")),
-    // FIXME: we can save some cpu cycles & memory if we do this when it
-    // is necessary
-    tumbler(Sprite("Pingus/tumble" + to_string(pingu->get_owner()), "pingus"))
+  : PinguAction(p)
 {
-  faller .set_align_center_bottom();
-  tumbler.set_align_center_bottom();
+  faller.load(Direction::LEFT,  
PingusResource::load_sprite("pingus/faller/left"));
+  faller.load(Direction::RIGHT, 
PingusResource::load_sprite("pingus/faller/right"));
+
+  tumbler.load(Direction::LEFT,  
PingusResource::load_sprite("pingus/tumbler/left"));
+  tumbler.load(Direction::RIGHT, 
PingusResource::load_sprite("pingus/tumbler/right"));
 }
 
 Faller::~Faller () { }
@@ -49,8 +49,8 @@
 void
 Faller::update ()
 {
-  tumbler.update();
-  faller.update();
+  tumbler(pingu->direction).update();
+  faller(pingu->direction).update();
 
   // Pingu stands on ground
   if (rel_getpixel(0, -1) !=  Groundtype::GP_NOTHING)
@@ -148,9 +148,9 @@
 Faller::draw (GraphicContext& gc)
 {
   if (is_tumbling()) {
-    gc.draw(tumbler, pingu->get_pos ());
+    gc.draw(tumbler(pingu->direction), pingu->get_pos ());
   } else {
-    gc.draw(faller, pingu->get_pos ());
+    gc.draw(faller(pingu->direction), pingu->get_pos ());
   }
 }
 

Modified: trunk/src/actions/faller.hxx
===================================================================
--- trunk/src/actions/faller.hxx        2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/src/actions/faller.hxx        2004-05-10 11:43:22 UTC (rev 2328)
@@ -20,7 +20,7 @@
 #ifndef HEADER_PINGUS_ACTIONS_FALLER_HXX
 #define HEADER_PINGUS_ACTIONS_FALLER_HXX
 
-#include "../sprite.hxx"
+#include "../state_sprite.hxx"
 #include "../pingu_action.hxx"
 
 namespace Pingus {
@@ -29,8 +29,8 @@
 class Faller : public PinguAction
 {
 private:
-  Sprite faller;
-  Sprite tumbler;
+  StateSprite faller;
+  StateSprite tumbler;
 
   int falling;
 

Modified: trunk/src/actions/floater.cxx
===================================================================
--- trunk/src/actions/floater.cxx       2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/src/actions/floater.cxx       2004-05-10 11:43:22 UTC (rev 2328)
@@ -29,7 +29,7 @@
   : PinguAction(p),
     falling_depth(0),
     step(0),
-    sprite(Sprite ("Pingus/floater0", "pingus"))
+    sprite(Sprite ("pingus/floater0", "pingus"))
 {
   sprite.set_align_center_bottom();
 }

Modified: trunk/src/actions/jumper.cxx
===================================================================
--- trunk/src/actions/jumper.cxx        2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/src/actions/jumper.cxx        2004-05-10 11:43:22 UTC (rev 2328)
@@ -28,7 +28,7 @@
 
 Jumper::Jumper (Pingu* p)
   : PinguAction(p),
-    sprite(Sprite("Pingus/jumper" + to_string(pingu->get_owner ()), "pingus"))
+    sprite("pingus/jumper")
 {
   sprite.set_align_center_bottom();
 }

Modified: trunk/src/actions/laser_kill.cxx
===================================================================
--- trunk/src/actions/laser_kill.cxx    2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/src/actions/laser_kill.cxx    2004-05-10 11:43:22 UTC (rev 2328)
@@ -27,7 +27,7 @@
 
 LaserKill::LaserKill(Pingu* p)
   : PinguAction(p),
-    sprite(Sprite ("Other/laser_kill", "pingus", 20.0f, Sprite::NONE, 
Sprite::ONCE))
+    sprite(Sprite ("other/laser_kill", "pingus", 20.0f, Sprite::NONE, 
Sprite::ONCE))
 {
   sprite.set_align_center_bottom();
 }

Modified: trunk/src/actions/miner.cxx
===================================================================
--- trunk/src/actions/miner.cxx 2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/src/actions/miner.cxx 2004-05-10 11:43:22 UTC (rev 2328)
@@ -31,26 +31,21 @@
 
 Miner::Miner (Pingu* p)
   : PinguAction(p),
-    miner_radius(PingusResource::load_pixelbuffer("Other/bash_radius", 
"pingus")),
-    miner_radius_gfx(PingusResource::load_pixelbuffer("Other/bash_radius_gfx", 
"pingus")),
-    sprite(Sprite("Pingus/miner0", "pingus", 20.0f)),
+    miner_radius(PingusResource::load_pixelbuffer("other/bash_radius")),
+    
miner_radius_gfx(PingusResource::load_pixelbuffer("other/bash_radius_gfx")),
     slow_count(0)
 {
-  sprite.set_align_center_bottom();
+  sprite.load(Direction::LEFT,  
PingusResource::load_sprite("pingus/miner/left"));
+  sprite.load(Direction::RIGHT, 
PingusResource::load_sprite("pingus/miner/right"));
 
   miner_radius_width = miner_radius.get_width();
   miner_radius_gfx_width = miner_radius_gfx.get_width();
-
-  if (pingu->direction.is_left())
-    sprite.set_direction(Sprite::LEFT);
-  else
-    sprite.set_direction(Sprite::RIGHT);
 }
 
 void
 Miner::update ()
 {
-  sprite.update();
+  sprite(pingu->direction).update();
 
   ++slow_count;
   if (!(slow_count % 4))
@@ -100,7 +95,7 @@
 void
 Miner::draw (GraphicContext& gc)
 {
-  gc.draw(sprite, pingu->get_pos());
+  gc.draw(sprite(pingu->direction), pingu->get_pos());
 }
 
 } // namespace Actions

Modified: trunk/src/actions/miner.hxx
===================================================================
--- trunk/src/actions/miner.hxx 2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/src/actions/miner.hxx 2004-05-10 11:43:22 UTC (rev 2328)
@@ -22,7 +22,7 @@
 
 #include <ClanLib/display.h>
 #include "../pingu_action.hxx"
-#include "../sprite.hxx"
+#include "../state_sprite.hxx"
 
 namespace Pingus {
 namespace Actions {
@@ -32,7 +32,7 @@
 private:
   CL_PixelBuffer miner_radius;
   CL_PixelBuffer miner_radius_gfx;
-  Sprite sprite;
+  StateSprite sprite;
   int slow_count;
 
   /** Width of the miner_radius surface */

Modified: trunk/src/actions/rocket_launcher.cxx
===================================================================
--- trunk/src/actions/rocket_launcher.cxx       2004-05-10 10:23:47 UTC (rev 
2327)
+++ trunk/src/actions/rocket_launcher.cxx       2004-05-10 11:43:22 UTC (rev 
2328)
@@ -32,8 +32,7 @@
 
 RocketLauncher::RocketLauncher (Pingu* p)
   : PinguAction(p),
-    sprite("Pingus/rocketlauncher" + to_string(pingu->get_owner()), "pingus",
-           10.0f, Sprite::NONE, Sprite::ONCE),
+    sprite("pingus/rocketlauncher", "pingus", 10.0f, Sprite::NONE, 
Sprite::ONCE),
     launched(false)
 {
   sprite.set_align_center_bottom();

Modified: trunk/src/actions/slider.cxx
===================================================================
--- trunk/src/actions/slider.cxx        2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/src/actions/slider.cxx        2004-05-10 11:43:22 UTC (rev 2328)
@@ -28,7 +28,7 @@
 
 Slider::Slider (Pingu* p)
   : PinguAction(p),
-    sprite("Pingus/slider" + to_string(pingu->get_owner()), "pingus"),
+    sprite("pingus/slider"),
     speed(10)
 {
   sprite.set_align_center_bottom();

Modified: trunk/src/actions/smashed.cxx
===================================================================
--- trunk/src/actions/smashed.cxx       2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/src/actions/smashed.cxx       2004-05-10 11:43:22 UTC (rev 2328)
@@ -28,7 +28,7 @@
 Smashed::Smashed (Pingu* p)
   : PinguAction(p),
     sound_played(false),
-    sprite("Pingus/bomber0", "pingus")
+    sprite("pingus/bomber")
 {
   sprite.set_align_center_bottom();
 }

Modified: trunk/src/actions/splashed.cxx
===================================================================
--- trunk/src/actions/splashed.cxx      2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/src/actions/splashed.cxx      2004-05-10 11:43:22 UTC (rev 2328)
@@ -31,7 +31,7 @@
   : PinguAction(p),
     particle_thrown(false),
     sound_played(false),
-    sprite("Pingus/splat0", "pingus", 30.0f, Sprite::NONE, Sprite::ONCE)
+    sprite("pingus/splat", "pingus", 30.0f, Sprite::NONE, Sprite::ONCE)
 {
   sprite.set_align_center_bottom();
 }

Modified: trunk/src/actions/superman.cxx
===================================================================
--- trunk/src/actions/superman.cxx      2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/src/actions/superman.cxx      2004-05-10 11:43:22 UTC (rev 2328)
@@ -30,7 +30,7 @@
   : PinguAction(p),
     counter(0.0f),
     x_pos(pingu->get_x()),
-    sprite("Pingus/superman" + to_string(pingu->get_owner()), "pingus")
+    sprite("pingus/superman", "pingus")
 {
   sprite.set_align_center_bottom();
 }

Modified: trunk/src/actions/teleported.cxx
===================================================================
--- trunk/src/actions/teleported.cxx    2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/src/actions/teleported.cxx    2004-05-10 11:43:22 UTC (rev 2328)
@@ -27,7 +27,7 @@
 Teleported::Teleported(Pingu* p)
   : PinguAction(p),
     sound_played(false),
-    sprite("Pingus/bomber0", "pingus")
+    sprite("pingus/bomber0", "pingus")
 {
 }
 

Modified: trunk/src/actions/waiter.cxx
===================================================================
--- trunk/src/actions/waiter.cxx        2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/src/actions/waiter.cxx        2004-05-10 11:43:22 UTC (rev 2328)
@@ -29,7 +29,7 @@
 Waiter::Waiter (Pingu* p)
   : PinguAction(p),
     countdown(2.0f),
-    sprite("Pingus/waiter", "pingus", 5.0f)
+    sprite("pingus/waiter", "pingus", 5.0f)
 {
   sprite.set_align_center_bottom();
 }

Modified: trunk/src/actions/walker.cxx
===================================================================
--- trunk/src/actions/walker.cxx        2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/src/actions/walker.cxx        2004-05-10 11:43:22 UTC (rev 2328)
@@ -32,11 +32,11 @@
 Walker::Walker (Pingu* p)
   : PinguAction(p)
 {
-  walker.load(Direction::LEFT,  
PingusResource::load_sprite("Pingus/walker/left", "pingus"));
-  walker.load(Direction::RIGHT, 
PingusResource::load_sprite("Pingus/walker/right" , "pingus"));
+  walker.load(Direction::LEFT,  
PingusResource::load_sprite("pingus/walker/left", "pingus"));
+  walker.load(Direction::RIGHT, 
PingusResource::load_sprite("pingus/walker/right" , "pingus"));
 
-  floaterlayer.load(Direction::LEFT,  
PingusResource::load_sprite("Pingus/floaterlayer/left",  "pingus"));
-  floaterlayer.load(Direction::RIGHT, 
PingusResource::load_sprite("Pingus/floaterlayer/right", "pingus"));
+  floaterlayer.load(Direction::LEFT,  
PingusResource::load_sprite("pingus/floaterlayer/left",  "pingus"));
+  floaterlayer.load(Direction::RIGHT, 
PingusResource::load_sprite("pingus/floaterlayer/right", "pingus"));
 
   // Reset the velocity
   pingu->set_velocity(Vector());

Modified: trunk/src/particles/explosive_particle.cxx
===================================================================
--- trunk/src/particles/explosive_particle.cxx  2004-05-10 10:23:47 UTC (rev 
2327)
+++ trunk/src/particles/explosive_particle.cxx  2004-05-10 11:43:22 UTC (rev 
2328)
@@ -28,9 +28,6 @@
                                     : Particle (x, y, x_a, y_a),
                                       alive (true)
 {
-//  sprite = Sprite (PingusResource::load_surface
-//                ("Particles/explosive",
-//                 "pingus"));
 }
 
 ExplosiveParticle::~ExplosiveParticle ()

Modified: trunk/src/particles/ground_particle.cxx
===================================================================
--- trunk/src/particles/ground_particle.cxx     2004-05-10 10:23:47 UTC (rev 
2327)
+++ trunk/src/particles/ground_particle.cxx     2004-05-10 11:43:22 UTC (rev 
2328)
@@ -24,7 +24,7 @@
 GroundParticle::GroundParticle (int x, int y, float x_a, float y_a)
   : Particle (x,y, x_a, y_a)
 {
-  surface = PingusResource::load_sprite("Particles/ground", "pingus");
+  surface = PingusResource::load_sprite("particles/ground");
   livetime = 25 + (rand() % 10);
   time = livetime;
 }

Modified: trunk/src/particles/pingu_particle_holder.cxx
===================================================================
--- trunk/src/particles/pingu_particle_holder.cxx       2004-05-10 10:23:47 UTC 
(rev 2327)
+++ trunk/src/particles/pingu_particle_holder.cxx       2004-05-10 11:43:22 UTC 
(rev 2328)
@@ -40,7 +40,7 @@
 
 
 PinguParticleHolder::PinguParticleHolder ()
-  : surface(PingusResource::load_sprite("Particles/pingu_explo", "pingus"))
+  : surface(PingusResource::load_sprite("particles/pingu_explo"))
 {
 }
 

Modified: trunk/src/particles/rain_particle_holder.cxx
===================================================================
--- trunk/src/particles/rain_particle_holder.cxx        2004-05-10 10:23:47 UTC 
(rev 2327)
+++ trunk/src/particles/rain_particle_holder.cxx        2004-05-10 11:43:22 UTC 
(rev 2328)
@@ -37,9 +37,9 @@
 
 
 RainParticleHolder::RainParticleHolder ()
-  : rain1_surf (PingusResource::load_sprite("Particles/rain1", "pingus")),
-    rain2_surf (PingusResource::load_sprite("Particles/rain2", "pingus")),
-    rain_splash(PingusResource::load_sprite("Particles/rain_splash", "pingus"))
+  : rain1_surf (PingusResource::load_sprite("particles/rain1")),
+    rain2_surf (PingusResource::load_sprite("particles/rain2")),
+    rain_splash(PingusResource::load_sprite("particles/rain_splash"))
 {
 }
 

Modified: trunk/src/particles/smoke_particle_holder.cxx
===================================================================
--- trunk/src/particles/smoke_particle_holder.cxx       2004-05-10 10:23:47 UTC 
(rev 2327)
+++ trunk/src/particles/smoke_particle_holder.cxx       2004-05-10 11:43:22 UTC 
(rev 2328)
@@ -34,8 +34,8 @@
 
 
 SmokeParticleHolder::SmokeParticleHolder ()
-  : surf1(PingusResource::load_sprite("Particles/smoke", "pingus")),
-    surf2(PingusResource::load_sprite("Particles/smoke2", "pingus"))
+  : surf1(PingusResource::load_sprite("particles/smoke", "pingus")),
+    surf2(PingusResource::load_sprite("particles/smoke2", "pingus"))
 {
 }
 

Modified: trunk/src/particles/snow_particle_holder.cxx
===================================================================
--- trunk/src/particles/snow_particle_holder.cxx        2004-05-10 10:23:47 UTC 
(rev 2327)
+++ trunk/src/particles/snow_particle_holder.cxx        2004-05-10 11:43:22 UTC 
(rev 2328)
@@ -58,12 +58,12 @@
 
 
 SnowParticleHolder::SnowParticleHolder ()
-  : snow1 (PingusResource::load_sprite("Particles/snow1",       "pingus")),
-    snow2 (PingusResource::load_sprite("Particles/snow2",       "pingus")),
-    snow3 (PingusResource::load_sprite("Particles/snow3",       "pingus")),
-    snow4 (PingusResource::load_sprite("Particles/snow4",       "pingus")),
-    snow5 (PingusResource::load_sprite("Particles/snow5",       "pingus")),
-    ground(PingusResource::load_sprite("Particles/ground_snow", "pingus"))
+  : snow1 (PingusResource::load_sprite("particles/snow1")),
+    snow2 (PingusResource::load_sprite("particles/snow2")),
+    snow3 (PingusResource::load_sprite("particles/snow3")),
+    snow4 (PingusResource::load_sprite("particles/snow4")),
+    snow5 (PingusResource::load_sprite("particles/snow5")),
+    ground(PingusResource::load_sprite("particles/ground_snow"))
 {
 }
 

Modified: trunk/src/pingus_resource.cxx
===================================================================
--- trunk/src/pingus_resource.cxx       2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/src/pingus_resource.cxx       2004-05-10 11:43:22 UTC (rev 2328)
@@ -37,6 +37,7 @@
 
 namespace Pingus {
 
+CL_ResourceManager PingusResource::resmgr;
 std::map<std::string, CL_ResourceManager> PingusResource::resource_map;
 std::map<ResDescriptor, CL_Surface>        PingusResource::surface_map;
 std::map<ResDescriptor, CL_Font>          PingusResource::font_map;
@@ -45,6 +46,7 @@
 PingusResource::init()
 {
   // do nothing
+  
resmgr.add_resources(CL_ResourceManager(path_manager.complete("data/pingus.xml")));
 }
 
 void
@@ -58,6 +60,12 @@
 CL_ResourceManager
 PingusResource::get(const std::string& arg_filename)
 {
+  if (arg_filename.empty())
+    {
+      return resmgr;
+    }
+  else
+    {
   std::string filename = arg_filename + ".xml";
 
   std::map<std::string, CL_ResourceManager>::iterator i = 
resource_map.find(filename);
@@ -78,6 +86,7 @@
 
       return res_manager;
     }
+    }
 }
 
 CL_Surface

Modified: trunk/src/pingus_resource.hxx
===================================================================
--- trunk/src/pingus_resource.hxx       2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/src/pingus_resource.hxx       2004-05-10 11:43:22 UTC (rev 2328)
@@ -34,6 +34,7 @@
 class PingusResource
 {
 private:
+  static CL_ResourceManager resmgr;
   static std::map<std::string, CL_ResourceManager> resource_map;
   static std::map<ResDescriptor, CL_Surface> surface_map;
   static std::map<ResDescriptor, CL_Font>    font_map;
@@ -53,7 +54,7 @@
 
   /** Load a surface with res_name from datafile */
   static CL_Surface load_surface(const std::string& res_name,
-                                const std::string& datafile,
+                                const std::string& datafile  = "",
                                 ResourceModifierNS::ResourceModifier modifier
                                 = ResourceModifierNS::ROT0);
 
@@ -61,12 +62,11 @@
   static CL_Surface load_surface(const ResDescriptor&);
   static CL_Sprite  load_sprite(const ResDescriptor&);
   static CL_Sprite  load_sprite(const std::string& res_name,
-                                const std::string& datafile);
+                                const std::string& datafile = "");
   static CL_SpriteDescription load_sprite_desc(const std::string& res_name,
-                                               const std::string& datafile);
-
+                                               const std::string& datafile = 
"");
   static CL_PixelBuffer load_pixelbuffer(const std::string& res_name,
-                                              const std::string& datafile);
+                                              const std::string& datafile = 
"");
   static CL_PixelBuffer load_pixelbuffer(const ResDescriptor&);
 
   /** Load a font with res_name from datafile */

Modified: trunk/src/sprite.hxx
===================================================================
--- trunk/src/sprite.hxx        2004-05-10 10:23:47 UTC (rev 2327)
+++ trunk/src/sprite.hxx        2004-05-10 11:43:22 UTC (rev 2328)
@@ -50,7 +50,7 @@
   Sprite ();
 
   Sprite (std::string arg_sur_name,
-         std::string arg_datafile,
+         std::string arg_datafile = "",
          float arg_frames_per_second = 10.0f,
          Direction dir = NONE,
          LoopType arg_loop_type = ENDLESS);





reply via email to

[Prev in Thread] Current Thread [Next in Thread]