r10118 - in packages/trunk/supertuxkart/debian: . patches

Christoph Egger christoph-guest at alioth.debian.org
Fri Aug 7 16:21:50 UTC 2009


Author: christoph-guest
Date: 2009-08-07 16:21:50 +0000 (Fri, 07 Aug 2009)
New Revision: 10118

Added:
   packages/trunk/supertuxkart/debian/clean
   packages/trunk/supertuxkart/debian/patches/rubber.patch
Modified:
   packages/trunk/supertuxkart/debian/control
   packages/trunk/supertuxkart/debian/patches/series
   packages/trunk/supertuxkart/debian/rules
Log:
Update package, include fix for #539964

Added: packages/trunk/supertuxkart/debian/clean
===================================================================
--- packages/trunk/supertuxkart/debian/clean	                        (rev 0)
+++ packages/trunk/supertuxkart/debian/clean	2009-08-07 16:21:50 UTC (rev 10118)
@@ -0,0 +1,3 @@
+config.sub
+config.guess
+debian/supertuxkart.6

Modified: packages/trunk/supertuxkart/debian/control
===================================================================
--- packages/trunk/supertuxkart/debian/control	2009-08-07 04:54:08 UTC (rev 10117)
+++ packages/trunk/supertuxkart/debian/control	2009-08-07 16:21:50 UTC (rev 10118)
@@ -5,7 +5,7 @@
 Uploaders: Gonéri Le Bouder <goneri at rulezlan.org>, Sam Hocevar (Debian packages) <sam+deb at zoy.org>,
  Alexander Reichle-Schmehl <tolimar at debian.org>, Cyril Brulebois <kibi at debian.org>,
  Christoph Egger <debian at christoph-egger.org>
-Build-Depends: debhelper (>= 6.0.7~), autotools-dev, libplib-dev,
+Build-Depends: debhelper (>= 7.0.0~), autotools-dev, libplib-dev,
  libsdl-ttf2.0-dev, libsdl-image1.2-dev, docbook-to-man, libopenal-dev,
  libalut-dev, libmikmod2-dev, libvorbis-dev, quilt
 Standards-Version: 3.8.2

Added: packages/trunk/supertuxkart/debian/patches/rubber.patch
===================================================================
--- packages/trunk/supertuxkart/debian/patches/rubber.patch	                        (rev 0)
+++ packages/trunk/supertuxkart/debian/patches/rubber.patch	2009-08-07 16:21:50 UTC (rev 10118)
@@ -0,0 +1,124 @@
+Index: a/src/items/rubber_band.cpp
+===================================================================
+--- a/src/items/rubber_band.cpp	(revision 3741)
++++ b/src/items/rubber_band.cpp	(working copy)
+@@ -51,7 +51,7 @@
+     vertices->add(0, 0, 0); vertices->add(0, 0, 0);
+     vertices->add(0, 0, 0); vertices->add(0, 0, 0);
+     m_attached_state = RB_TO_PLUNGER;
+-    update(0);
++    updatePosition();
+ 
+     sgVec3 norm;
+     sgSetVec3(norm, 1/sqrt(2.0f), 0, 1/sqrt(2.0f));
+@@ -80,6 +80,42 @@
+ }   // removeFromScene
+ 
+ // ----------------------------------------------------------------------------
++/** Updates the position of the rubber band. It especially sets the
++ *  end position of the rubber band, i.e. the side attached to the plunger,
++ *  track, or kart hit.
++ */
++void RubberBand::updatePosition()
++{
++    const Vec3 &k = m_owner.getXYZ();
++
++    // Get the position to which the band is attached
++    // ----------------------------------------------
++    switch(m_attached_state)
++    {
++    case RB_TO_KART:    m_end_position = m_hit_kart->getXYZ(); break;
++    case RB_TO_TRACK:   m_end_position = m_hit_position;       break;
++    case RB_TO_PLUNGER: m_end_position = m_plunger->getXYZ();
++                        checkForHit(k, m_end_position);        break;
++    }   // switch(m_attached_state);
++
++    // Update the rubber band positions
++    // --------------------------------
++    // Todo: make height dependent on length (i.e. rubber band gets
++    // thinner). And call explosion if the band is too long.
++    const float hh=.1f;  // half height of the band
++    const Vec3 &p=m_end_position;  // for shorter typing
++    float *f = vertices->get(0);
++    f[0] = p.getX()-hh; f[1] = p.getY(); f[2] = p.getZ()-hh;
++    f = vertices->get(1);
++    f[0] = p.getX()+hh; f[1] = p.getY(); f[2] = p.getZ()+hh;
++    f = vertices->get(2);
++    f[0] = k.getX()+hh; f[1] = k.getY(); f[2] = k.getZ()+hh;
++    f = vertices->get(3);
++    f[0] = k.getX()-hh; f[1] = k.getY(); f[2] = k.getZ()-hh;
++    dirtyBSphere();
++}   // updatePosition
++
++// ----------------------------------------------------------------------------
+ /** Updates the rubber band. It takes the new position of the kart and the
+  *  plunger, and sets the quad representing the rubber band appropriately.
+  *  It then casts a ray along the rubber band to detect if anything is hit. If
+@@ -97,38 +133,12 @@
+         return;
+     }
+ 
+-    Vec3 p;
++    updatePosition();
+     const Vec3 &k = m_owner.getXYZ();
+-
+-    // Get the position to which the band is attached
+-    // ----------------------------------------------
+-    switch(m_attached_state)
+-    {
+-    case RB_TO_KART:    p = m_hit_kart->getXYZ(); break;
+-    case RB_TO_TRACK:   p = m_hit_position;       break;
+-    case RB_TO_PLUNGER: p = m_plunger->getXYZ();
+-                        checkForHit(k, p);        break;
+-    }   // switch(m_attached_state);
+-
+-    // Draw the rubber band
+-    // --------------------
+-    // Todo: make height dependent on length (i.e. rubber band gets
+-    // thinner). And call explosion if the band is too long.
+-    const float hh=.1f;  // half height of the band
+-  
+-    float *f = vertices->get(0);
+-    f[0] = p.getX()-hh; f[1] = p.getY(); f[2] = p.getZ()-hh;
+-    f = vertices->get(1);
+-    f[0] = p.getX()+hh; f[1] = p.getY(); f[2] = p.getZ()+hh;
+-    f = vertices->get(2);
+-    f[0] = k.getX()+hh; f[1] = k.getY(); f[2] = k.getZ()+hh;
+-    f = vertices->get(3);
+-    f[0] = k.getX()-hh; f[1] = k.getY(); f[2] = k.getZ()-hh;
+-    dirtyBSphere();
+-
++    
+     // Check for rubber band snapping
+     // ------------------------------
+-    float l = (p-k).length2();
++    float l = (m_end_position-k).length2();
+     float max_len = m_owner.getKartProperties()->getRubberBandMaxLength();
+     if(l>max_len*max_len)
+     {
+@@ -143,7 +153,7 @@
+     if(m_attached_state!=RB_TO_PLUNGER)
+     {
+         float force = m_owner.getKartProperties()->getRubberBandForce();
+-        Vec3 diff   = p-k;
++        Vec3 diff   = m_end_position-k;
+         
+         // detach rubber band if kart gets very close to hit point
+         if(m_attached_state==RB_TO_TRACK && diff.length2() < 10*10)
+Index: a/src/items/rubber_band.hpp
+===================================================================
+--- a/src/items/rubber_band.hpp	(revision 3741)
++++ b/src/items/rubber_band.hpp	(working copy)
+@@ -50,7 +50,12 @@
+     /** State for rubber band. */
+     ssgSimpleState *m_state;
+ 
++    /** Stores the end of the rubber band (i.e. the side attached to the 
++     *  plunger. */
++    Vec3                m_end_position;
++
+     void checkForHit(const Vec3 &k, const Vec3 &p);
++    void updatePosition();
+ 
+ public:
+          RubberBand(Plunger *plunger, const Kart &kart);

Modified: packages/trunk/supertuxkart/debian/patches/series
===================================================================
--- packages/trunk/supertuxkart/debian/patches/series	2009-08-07 04:54:08 UTC (rev 10117)
+++ packages/trunk/supertuxkart/debian/patches/series	2009-08-07 16:21:50 UTC (rev 10118)
@@ -1 +1,2 @@
 # Nothing to do right now
+rubber.patch

Modified: packages/trunk/supertuxkart/debian/rules
===================================================================
--- packages/trunk/supertuxkart/debian/rules	2009-08-07 04:54:08 UTC (rev 10117)
+++ packages/trunk/supertuxkart/debian/rules	2009-08-07 16:21:50 UTC (rev 10118)
@@ -58,17 +58,12 @@
 #	Add here commands to clean up after the build process.
 	[ ! -f Makefile ] || $(MAKE) distclean
 
-	rm config.sub
-	rm config.guess
-
-	rm -f debian/supertuxkart.6
-
 	dh_clean 
 
 install: build
 	dh_testdir
 	dh_testroot
-	dh_clean -k 
+	dh_prep
 	dh_installdirs -psupertuxkart -Pdebian/tmp usr/share/pixmaps usr/share/icons/hicolor/32x32/apps usr/share/icons/hicolor/64x64/apps usr/share/applications
 
 #	Add here commands to install the package into debian/supertuxkart.




More information about the Pkg-games-commits mailing list