The Socrates Gameboy Advance Development Engine
The SGADE is a development library for the Nintendo Gameboy
Advance. It's free for all uses and is distributed without guarantees.
For more information visit
the SGADE page.
00001 // ---------------------------------------------------------------------------- 00013 // ---------------------------------------------------------------------------- 00014 00015 #ifndef SO_SPRITE_H 00016 #define SO_SPRITE_H 00017 00018 #ifdef __cplusplus 00019 extern "C" { 00020 #endif 00021 00022 00023 // ---------------------------------------------------------------------------- //! @{ 00037 // ---------------------------------------------------------------------------- 00038 00039 00040 // ---------------------------------------------------------------------------- 00041 // Includes; 00042 // ---------------------------------------------------------------------------- 00043 00044 #include "SoSystem.h" 00045 #include "SoSpriteAnimation.h" 00046 #include "SoDisplay.h" 00047 00048 // ---------------------------------------------------------------------------- 00049 // Type definitions. 00050 // ---------------------------------------------------------------------------- 00051 00060 typedef struct 00061 { 00077 u16 m_Attribute[ 4 ]; 00078 00079 } SoSprite; 00080 00081 // ---------------------------------------------------------------------------- 00082 // Public methods; 00083 // ---------------------------------------------------------------------------- 00084 00085 void SoSpriteDisable( SoSprite* a_This ); 00086 00087 void SoSpriteFlipHorizontal( SoSprite* a_This ); 00088 void SoSpriteFlipVertical( SoSprite* a_This ); 00089 00090 u32 SoSpriteGetWidth( SoSprite* a_This ); 00091 u32 SoSpriteGetHeight( SoSprite* a_This ); 00092 00093 void SoSpriteSetTranslate( SoSprite* a_This, s32 a_X, s32 a_Y ); 00094 00095 void SoSpriteSetMosaicEnable( SoSprite* a_This, bool a_Enable ); 00096 void SoSpriteSetSizeDoubleEnable( SoSprite* a_This, bool a_Enable ); 00097 00098 void SoSpriteSetRotationAndScaleEnable( SoSprite* a_This, bool a_Enable ); 00099 void SoSpriteSetRotationAndScaleIndex( SoSprite* a_This, u32 a_Index ); 00100 00101 void SoSpriteSet256ColorMode( SoSprite* a_This, bool a_Enable ); 00102 00103 void SoSpriteSetAnimationIndex( SoSprite* a_This, u32 a_Index ); 00104 00105 u32 SoSpriteGetAnimationIndex( SoSprite* a_This ); 00106 00107 void SoSpriteSetSize( SoSprite* a_This, u32 a_Width, u32 a_Height ); 00108 00109 void SoSpriteSetPriority(SoSprite* a_This, u32 a_Priority); 00110 00111 void SoSpriteCopyPropertiesFromAnimation( SoSprite* a_This, const SoSpriteAnimation* a_Animation ); 00112 00113 void SoSpriteSet16ColorPaletteIndex(SoSprite* a_This, u16 a_Index); 00114 00115 00116 // ---------------------------------------------------------------------------- 00117 // EOF; 00118 // ---------------------------------------------------------------------------- 00119 00121 00122 #ifdef __cplusplus 00123 } // extern "C" 00124 #endif 00125 00126 #endif