Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

Sprites.hpp

Go to the documentation of this file.
00001 /* $Id: Sprites.hpp,v 1.1.1.1 2005/04/22 17:18:53 ndsdev Exp $ */
00017 #ifndef SPRITES_H
00018 #define SPRITES_H
00019 
00020 #ifndef ARM9
00021 #error Video is only available on the ARM9
00022 #endif
00023 
00024 #include <NDS/ARM9/video.h>
00025 #include <NDS/jtypes.h>
00026 
00031 struct Sprite
00032 {
00033   int x;                
00034   int y;                
00035   int dx;               
00036   int dy;               
00037   sSpriteEntry* oam;    
00038   int gfxID;            
00039 
00052   void configureOAM(int gfx_id, int num_colors, int width, int height);
00053 };
00054 
00060 class SpritesBase {
00061 public:
00069   SpriteEntry OAMCopy[128];
00070 
00079   SpriteRotation* rotationData;
00080 
00088   SpriteEntry OAMSubCopy[128];
00089 
00098   SpriteRotation* rotationSubData;
00099 
00104   void initOAM(void);
00105 
00113   void updateOAM(void);
00114 
00119   SpritesBase();
00120 
00141   int LoadSpriteData1D(uint32 oam_id, const uint16* data, uint32 data_len,
00142                        int* gfxid, int* gfxidsub = 0);
00143 
00151   void MoveSprite(Sprite* sp);
00152 
00157   virtual ~SpritesBase();
00158 
00164   virtual uint32 displayCr(void) const;
00165 
00171   virtual void reset(void);
00172 
00173 protected:
00174   uint32 gfx_id;     
00175   uint32 gfx_id_sub; 
00176 
00177 };
00178 
00179 #endif

Generated on Fri Apr 22 13:47:42 2005 for PhoenixRising NDS Library by doxygen 1.3.6