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_BKG_MAP_H 00016 #define SO_BKG_MAP_H 00017 00018 #ifdef __cplusplus 00019 extern "C" { 00020 #endif 00021 00022 // ---------------------------------------------------------------------------- //! @{ 00065 // ---------------------------------------------------------------------------- 00066 00067 // ---------------------------------------------------------------------------- 00068 // Includes 00069 // ---------------------------------------------------------------------------- 00070 00071 #include "SoSystem.h" 00072 #include "SoBkg.h" 00073 #include "SoDisplay.h" 00074 #include "SoTileMap.h" 00075 00076 // ---------------------------------------------------------------------------- 00077 // Defines 00078 // ---------------------------------------------------------------------------- 00079 00080 #define SO_BKG_MAP_MODE_RAW 0x0000 00081 #define SO_BKG_MAP_MODE_DYNAMIC 0x0001 00082 00083 // ---------------------------------------------------------------------------- 00084 // Typedefs 00085 // ---------------------------------------------------------------------------- 00086 00092 typedef struct 00093 { 00094 u16 m_Mode; 00095 u16 m_Bkg; 00096 u16 m_XPos; 00097 u16 m_YPos; 00098 SoTileMap *m_TileMap; 00099 } SoBkgMap; 00100 00101 00102 // ---------------------------------------------------------------------------- 00103 // Public methods; 00104 // ---------------------------------------------------------------------------- 00105 00107 #define SoBkgMapIsDynamic(a_This) ((a_This)->m_Mode & SO_BKG_MAP_MODE_DYNAMIC) 00108 00110 #define SoBkgMapGetBackground(a_This) ((const u16)((a_This)->m_Bkg)) 00111 00112 void SoBkgMapInit(SoBkgMap *a_This, u16 a_Mode); 00113 void SoBkgMapSetBackground(SoBkgMap *a_This, u32 a_Index); 00114 void SoBkgMapSetTileMap(SoBkgMap *a_This, SoTileMap *a_TileMap); 00115 void SoBkgMapSetScroll(SoBkgMap *a_This, u16 a_XPos, u16 a_YPos); 00116 00117 //void SoBkgMapWrite(SoBkgMap *a_This, u16 a_XIndex, u16 a_YIndex, u16 a_Len, u16 *a_buffer); 00118 //void SoBkgMapWrite(SoBkgMap *a_This, u16 a_XIndex, u16 a_YIndex, u16 a_Len, u16 *a_buffer); 00119 //void SoBkgMapWriteV(SoBkgMap *a_This, u16 a_XIndex, u16 a_YIndex, u16 a_Len, u16 *a_buffer); 00120 //void SoBkgMapWriteBlock(SoBkgMap *a_This, u16 a_XIndex, u16 a_YIndex, u16 a_Width, u16 a_Height, 00121 // u16 a_Pitch, u16 *a_buffer); 00122 //const SoBkgFont* SoBkgMapSetFont(SoBkgMap *a_This, const SoBkgFont *a_Font); 00123 00124 00125 // ---------------------------------------------------------------------------- 00126 // EOF 00127 // ---------------------------------------------------------------------------- 00128 00130 00131 #ifdef __cplusplus 00132 } // extern "C" 00133 #endif 00134 00135 #endif // SO_BKG_MAP_H