[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[pygame] blit_array() and AMD64
Hi,
It appears that blit_array() is broken on some systems - I have two 
users who are getting the following error:
    pygame.surfarray.blit_array(surf,arr)
ValueError: unsupported datatype for array
Both of these machines are AMD64 (one Ubuntu, one Gentoo) leading me to 
believe that might be responsible. I've knocked up the following script 
which reproduces the error:
 import pygame, Numeric
 pygame.init()
 surf = pygame.Surface((2,3))
 arr = Numeric.array([[1,2,3],[4,5,6]])
 pygame.surfarray.blit_array(surf,arr)
This works fine on all 32 bit machines I have tried, but not on my AMD64 
machine.
I noticed that the surf returned by pygame.Surface() translates to an 
array with 'i' in it, so I tried adding that to the array and 
blit_array() worked fine:
 arr = N.array([[1,2,3],[4,5,6]], 'i')
Does anyone know what might be going on here? If it is AMD64 related I 
can imagine I'll be getting much more of these reports in future.
Cheers,
Kelvin.