pingus-cvs
[Top][All Lists]
Advanced

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

[Pingus-CVS] r2749 - branches/pingus_sdl/src/worldobjs


From: jsalmon3
Subject: [Pingus-CVS] r2749 - branches/pingus_sdl/src/worldobjs
Date: Tue, 17 Jul 2007 18:24:37 +0200

Author: jsalmon3
Date: 2007-07-17 18:24:34 +0200 (Tue, 17 Jul 2007)
New Revision: 2749

Modified:
   branches/pingus_sdl/src/worldobjs/liquid.cpp
Log:
Fixed Liquid::on_startup so it correctly marks the collision masks, gives a big 
performance boost at startup too

Modified: branches/pingus_sdl/src/worldobjs/liquid.cpp
===================================================================
--- branches/pingus_sdl/src/worldobjs/liquid.cpp        2007-07-17 14:02:11 UTC 
(rev 2748)
+++ branches/pingus_sdl/src/worldobjs/liquid.cpp        2007-07-17 16:24:34 UTC 
(rev 2749)
@@ -60,11 +60,19 @@
 {
   CollisionMask mask = Resource::load_collision_mask("liquids/water");
 
-  for(int i=0; i < width; ++i)
-    world->put(mask,
-               static_cast<int>(pos.x + i),
-               static_cast<int>(pos.y),
-               Groundtype::GP_WATER);
+  for (int x = static_cast<int>(pos.x);
+      x < pos.x + width;
+      x += sur.get_width())
+    {
+      for (int i = 0; i < sur.get_frame_count(); ++i)
+        {
+          sur.set_frame(i);
+          world->get_colmap()->put(mask,
+                     static_cast<int>(pos.x + x),
+                     static_cast<int>(pos.y),
+                     Groundtype::GP_WATER);
+        }
+    }
 }
 
 void





reply via email to

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