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

Re: [pygame] Loading XBM cursors?



On Tue, 3 Apr 2001, Niki Spahiev wrote:

>Jan Ekholm wrote:
>> 
>> Hi all,
>> 
>> I tried to load into our game a few custom cursors. They are all in XBM
>> files, so I tried to use:
>> 
>> pygame.cursors.load_xbm(file,mask)
>> 
>> but the function fails with:
>> 
>>   File "/usr/local/lib/python2.0/site-packages/pygame/cursors.py", line
>> 174, in load_xbm
>>     info = tuple([int(curs[x].split()[-1]) for x in range(4)])
>> ValueError: invalid literal for int(): {
>> 
>> I can't say I understand what goes on there... Maybe the funtion assumes
>> another (binary) format that can be decoded with the above function? The
>> XBM file I try to load is composed of the following files (data and mask):
>> 
>> #define cursors-map-point-001_width 32
>> #define cursors-map-point-001_height 32
>> static char cursors-map-point-001_bits[] = {
>>   0x0f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00,
>>   0x73, 0x00, 0x00, 0x00, 0xe3, 0x00, 0x00, 0x00, 0xc3, 0x01, 0x00, 0x00,
>>   0x83, 0x03, 0x00, 0x00, 0x03, 0x07, 0x00, 0x00, 0x03, 0x0e, 0x00, 0x00,
>>   0x03, 0x1c, 0x00, 0x00, 0x03, 0x38, 0x00, 0x00, 0x03, 0x70, 0x00, 0x00,
>>   0x03, 0xe0, 0x00, 0x00, 0x03, 0xc0, 0x01, 0x00, 0x03, 0x80, 0x03, 0x00,
>>   0x0b, 0x00, 0x07, 0x00, 0x03, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x1c, 0x00,
>>   0x13, 0x00, 0x38, 0x00, 0x03, 0x00, 0x30, 0x00, 0x0b, 0x00, 0x30, 0x00,
>>   0x03, 0xc0, 0x3f, 0x00, 0x4b, 0xc0, 0x3f, 0x00, 0x83, 0x01, 0x03, 0x00,
>>   0x8b, 0x01, 0x03, 0x00, 0xa3, 0x01, 0x03, 0x00, 0x83, 0x01, 0x03, 0x00,
>>   0xff, 0x01, 0x03, 0x00, 0xff, 0x01, 0x03, 0x00, 0x80, 0x01, 0x03, 0x00,
>>   0x80, 0xff, 0x03, 0x00, 0x80, 0xff, 0x03, 0x00 };
>> 
>> #define cursors-map-point-mask-001_width 32
>> #define cursors-map-point-mask-001_height 32
>> static char cursors-map-point-mask-001_bits[] = {
>>   0x0f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00,
>>   0x7f, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x01, 0x00, 0x00,
>>   0xff, 0x03, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0xff, 0x0f, 0x00, 0x00,
>>   0xff, 0x1f, 0x00, 0x00, 0xff, 0x3f, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00,
>>   0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x01, 0x00, 0xff, 0xff, 0x03, 0x00,
>>   0xff, 0xff, 0x07, 0x00, 0xff, 0xff, 0x0f, 0x00, 0xff, 0xff, 0x1f, 0x00,
>>   0xff, 0xff, 0x3f, 0x00, 0xff, 0xff, 0x3f, 0x00, 0xff, 0xff, 0x3f, 0x00,
>>   0xff, 0xff, 0x3f, 0x00, 0xff, 0xff, 0x3f, 0x00, 0xff, 0xff, 0x03, 0x00,
>>   0xff, 0xff, 0x03, 0x00, 0xff, 0xff, 0x03, 0x00, 0xff, 0xff, 0x03, 0x00,
>>   0xff, 0xff, 0x03, 0x00, 0xff, 0xff, 0x03, 0x00, 0x80, 0xff, 0x03, 0x00,
>>   0x80, 0xff, 0x03, 0x00, 0x80, 0xff, 0x03, 0x00 };
>> 
>> Do I assume soemthing wrong about the function, or is this something fixed
>> in 1.0pre? I still use 0.9, with SDL 1.1.8 (although SDL it is not used by
>> the function load_xbm() at all, AFAIK.
>> 
>> Any hints? Anyone done this? If it's fixed in 1.0 I'll go download it
>> right away...
>
>For me it looks like all 4 #define should be on top.

It's two separate files. load_xbm() wants two filenames/files, one for the
data and one for the mask. 

--------------------+--------------------------------------------------------
Jan 'Chakie' Ekholm |     Balrog New Media    http://www.balrog.fi/
   Linux Inside     | I'm the blue screen of death, nobody hears your screams

____________________________________
pygame mailing list
pygame-users@seul.org
http://pygame.seul.org