Package: python-pygame
Version: 1.8.1release-2+b1
Severity: normal
Tags: upstream


There is an error in how circle collisions are calculated in
pygame.sprite.collide_circle.  It checks whether distance^2 < radius1^2
+ radius2^2, where it should check whether distance^2 < (radius1 +
radius2)^2.  The effect is that sometimes clearly colliding rects/radii
are not reported as colliding:

>>> import pygame
>>> class test: pass
...
>>> a, b = test(), test()
>>> a.rect = pygame.Rect
>>> a.rect = pygame.Rect(0,0,10,10)
>>> b.rect = pygame.Rect(8,8,10,10)
>>> pygame.sprite.collide_circle(a,b)
False
>>> c, d = test(), test()
>>> c.rect = pygame.Rect(0,0,10,10)
>>> d.rect = pygame.Rect(8,0,10,10)
>>> c.radius = d.radius = 5
>>> pygame.sprite.collide_circle(c,d)
False

I'm also a little bit worried: this kind of error should be caught by
upstream regression/unit testing; don't pygame developers write tests
for their code before shipping?

-- Package-specific info:
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                          Version                       Description
+++-=============================-=============================-==========================================================================
un  libsdl-dev                    <none>                        (no description 
available)
ii  libsdl-gfx1.2-4               2.0.20-1.1                    drawing and 
graphical effects extension for SDL
un  libsdl-image-dev              <none>                        (no description 
available)
un  libsdl-image1.0-dev           <none>                        (no description 
available)
un  libsdl-image1.1-dev           <none>                        (no description 
available)
ii  libsdl-image1.2               1.2.10-2+b2                   image loading 
library for Simple DirectMedia Layer 1.2
un  libsdl-image1.2-dev           <none>                        (no description 
available)
un  libsdl-mixer-dev              <none>                        (no description 
available)
un  libsdl-mixer1.0-dev           <none>                        (no description 
available)
un  libsdl-mixer1.1-dev           <none>                        (no description 
available)
ii  libsdl-mixer1.2               1.2.8-6.3                     mixer library 
for Simple DirectMedia Layer 1.2
un  libsdl-mixer1.2-dev           <none>                        (no description 
available)
ii  libsdl-net1.2                 1.2.7-2                       network library 
for Simple DirectMedia Layer
un  libsdl-perl                   <none>                        (no description 
available)
ii  libsdl-sound1.2               1.0.3-3+b1                    Decoder of 
several sound file formats for SDL
ii  libsdl-ttf2.0-0               2.0.9-1                       ttf library for 
Simple DirectMedia Layer with FreeType 2 support
un  libsdl0.11                    <none>                        (no description 
available)
un  libsdl0.11-dev                <none>                        (no description 
available)
un  libsdl1.0-dev                 <none>                        (no description 
available)
un  libsdl1.1-dev                 <none>                        (no description 
available)
un  libsdl1.2                     <none>                        (no description 
available)
un  libsdl1.2-all                 <none>                        (no description 
available)
un  libsdl1.2-arts                <none>                        (no description 
available)
un  libsdl1.2-dev                 <none>                        (no description 
available)
un  libsdl1.2-esd                 <none>                        (no description 
available)
un  libsdl1.2-nas                 <none>                        (no description 
available)
un  libsdl1.2-oss                 <none>                        (no description 
available)
ii  libsdl1.2debian               1.2.14-6.1                    Simple 
DirectMedia Layer
un  libsdl1.2debian-all           <none>                        (no description 
available)
ii  libsdl1.2debian-alsa          1.2.14-6.1                    Simple 
DirectMedia Layer (with X11 and ALSA options)
un  libsdl1.2debian-arts          <none>                        (no description 
available)
un  libsdl1.2debian-esd           <none>                        (no description 
available)
un  libsdl1.2debian-nas           <none>                        (no description 
available)
un  libsdl1.2debian-oss           <none>                        (no description 
available)
un  libsdl1.2debian-pulseaudio    <none>                        (no description 
available)

-- System Information:
Debian Release: 6.0.5
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-5-686 (SMP w/1 CPU core)
Locale: LANG=fi_FI.UTF-8, LC_CTYPE=fi_FI.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages python-pygame depends on:
ii  libc6              2.11.3-3              Embedded GNU C Library: Shared lib
ii  libjpeg62          6b1-1                 The Independent JPEG Group's JPEG 
ii  libpng12-0         1.2.44-1+squeeze4     PNG library - runtime
ii  libsdl-image1.2    1.2.10-2+b2           image loading library for Simple D
ii  libsdl-mixer1.2    1.2.8-6.3             mixer library for Simple DirectMed
ii  libsdl-ttf2.0-0    2.0.9-1               ttf library for Simple DirectMedia
ii  libsdl1.2debian    1.2.14-6.1            Simple DirectMedia Layer
ii  libsmpeg0          0.4.5+cvs20030824-2.2 SDL MPEG Player Library - shared l
ii  libx11-6           2:1.3.3-4             X11 client-side library
ii  python             2.6.6-3+squeeze7      interactive high-level object-orie
ii  python-central     0.6.16+nmu1           register and build utility for Pyt
ii  python-numpy       1:1.4.1-5             Numerical Python adds a fast array
ii  ttf-freefont       20090104-7            Freefont Serif, Sans and Mono True

python-pygame recommends no packages.

python-pygame suggests no packages.

-- no debconf information


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to