#22657 - Mephisto - Sat Jun 26, 2004 12:41 pm
Here is my problem :
i want to use all 32 rotations
sprite1 -> rotation0
sprite2 -> rotation1
sprite3 -> rotation2
sprite4 -> rotation3
sprite5 -> rotation4
sprite6 -> rotation5
sprite7 -> rotation6
sprite8 -> rotation7
Here all is fine
sprite1 -> rotation0
sprite2 -> rotation1
sprite3 -> rotation2
sprite4 -> rotation3
sprite5 -> rotation8
sprite6 -> rotation9
sprite7 -> rotation10
sprite8 -> rotation11
sprites 5 6 7 & 8 does not show
sprite1 -> rotation0
sprite2 -> rotation1
sprite3 -> rotation2
sprite4 -> rotation3
sprite5 -> rotation4
sprite6 -> rotation5
sprite7 -> rotation6
sprite8 -> rotation7
sprite9 -> rotation8
sprite10 -> rotation9
sprite11 -> rotation10
sprite12 -> rotation11
sprites 1 - 8 are fine
sprite9 use rotation0 instead of rotation8
sprite10 use rotation1 instead of rotation9
sprite11 use rotation2 instead of rotation10
sprite12 use rotation3 instead of rotation11
here is my code:
plz help i need all 32 rotation plz !!!
Last edited by Mephisto on Sat Jun 26, 2004 3:49 pm; edited 2 times in total
i want to use all 32 rotations
sprite1 -> rotation0
sprite2 -> rotation1
sprite3 -> rotation2
sprite4 -> rotation3
sprite5 -> rotation4
sprite6 -> rotation5
sprite7 -> rotation6
sprite8 -> rotation7
Here all is fine
sprite1 -> rotation0
sprite2 -> rotation1
sprite3 -> rotation2
sprite4 -> rotation3
sprite5 -> rotation8
sprite6 -> rotation9
sprite7 -> rotation10
sprite8 -> rotation11
sprites 5 6 7 & 8 does not show
sprite1 -> rotation0
sprite2 -> rotation1
sprite3 -> rotation2
sprite4 -> rotation3
sprite5 -> rotation4
sprite6 -> rotation5
sprite7 -> rotation6
sprite8 -> rotation7
sprite9 -> rotation8
sprite10 -> rotation9
sprite11 -> rotation10
sprite12 -> rotation11
sprites 1 - 8 are fine
sprite9 use rotation0 instead of rotation8
sprite10 use rotation1 instead of rotation9
sprite11 use rotation2 instead of rotation10
sprite12 use rotation3 instead of rotation11
here is my code:
Code: |
#define ROT_NUM(num) ( (num) << 9 );
typedef struct spriteRot_struct { u16 Unused0[3]; FIXED8_8 PA; u16 Unused1[3]; FIXED8_8 PB; u16 Unused2[3]; FIXED8_8 PC; u16 Unused3[3]; FIXED8_8 PD; } spriteRot_struct; spriteOAM_struct SpritesOAM[128]; spriteRot_struct *RotData = (spriteRot_struct*)SpritesOAM; u32 properties = ROT_NUM(num) | ROT_FLAG | SPR_COLOR256 | SPR_SIZE32x32 | SPR_PRIORITY(3); sprite->Attribute0 = properties << 8; sprite->Attribute1 = (u16)( properties & 0x0000FF00 ); sprite->Attribute2 = ...... //update Rotdatas in OAM for(i = 0; i < 32; i ++) { SpritesOAM_RAM[i * 16 + 3] = RotData[i].PA; SpritesOAM_RAM[i * 16 + 7] = RotData[i].PB; SpritesOAM_RAM[i * 16 + 11] = RotData[i].PC; SpritesOAM_RAM[i * 16 + 15] = RotData[i].PD; } |
plz help i need all 32 rotation plz !!!
Last edited by Mephisto on Sat Jun 26, 2004 3:49 pm; edited 2 times in total