sgdk
|
00001 00010 #ifndef _TOOLS_H_ 00011 #define _TOOLS_H_ 00012 00013 #include "bmp.h" 00014 #include "vdp_tile.h" 00015 #include "vdp_bg.h" 00016 #include "map.h" 00017 00018 00023 #define COMPRESSION_NONE 0 00024 00028 #define COMPRESSION_APLIB 1 00029 00033 #define COMPRESSION_LZ4W 2 00034 00035 00046 typedef s16 _comparatorCallback(void* o1, void* o2); 00047 00048 00053 void setRandomSeed(u16 seed); 00058 u16 random(); 00059 00064 u32 getFPS(); 00069 fix32 getFPS_f(); 00070 00071 00096 u16 kprintf(const char *fmt, ...) __attribute__ ((format (printf, 1, 2))); 00097 00103 void KLog(char* text); 00104 void KLog_U1(char* t1, u32 v1); 00105 void KLog_U2(char* t1, u32 v1, char* t2, u32 v2); 00106 void KLog_U3(char* t1, u32 v1, char* t2, u32 v2, char* t3, u32 v3); 00107 void KLog_U4(char* t1, u32 v1, char* t2, u32 v2, char* t3, u32 v3, char* t4, u32 v4); 00108 void KLog_U1_(char* t1, u32 v1, char* t2); 00109 void KLog_U2_(char* t1, u32 v1, char* t2, u32 v2, char* t3); 00110 void KLog_U3_(char* t1, u32 v1, char* t2, u32 v2, char* t3, u32 v3, char* t4); 00111 void KLog_U4_(char* t1, u32 v1, char* t2, u32 v2, char* t3, u32 v3, char* t4, u32 v4, char* t5); 00112 void KLog_U1x(u16 minSize, char* t1, u32 v1); 00113 void KLog_U2x(u16 minSize, char* t1, u32 v1, char* t2, u32 v2); 00114 void KLog_U3x(u16 minSize, char* t1, u32 v1, char* t2, u32 v2, char* t3, u32 v3); 00115 void KLog_U4x(u16 minSize, char* t1, u32 v1, char* t2, u32 v2, char* t3, u32 v3, char* t4, u32 v4); 00116 void KLog_U1x_(u16 minSize, char* t1, u32 v1, char* t2); 00117 void KLog_U2x_(u16 minSize, char* t1, u32 v1, char* t2, u32 v2, char* t3); 00118 void KLog_U3x_(u16 minSize, char* t1, u32 v1, char* t2, u32 v2, char* t3, u32 v3, char* t4); 00119 void KLog_U4x_(u16 minSize, char* t1, u32 v1, char* t2, u32 v2, char* t3, u32 v3, char* t4, u32 v4, char* t5); 00120 void KLog_S1(char* t1, s32 v1); 00121 void KLog_S2(char* t1, s32 v1, char* t2, s32 v2); 00122 void KLog_S3(char* t1, s32 v1, char* t2, s32 v2, char* t3, s32 v3); 00123 void KLog_S4(char* t1, s32 v1, char* t2, s32 v2, char* t3, s32 v3, char* t4, s32 v4); 00124 void KLog_S1_(char* t1, s32 v1, char* t2); 00125 void KLog_S2_(char* t1, s32 v1, char* t2, s32 v2, char* t3); 00126 void KLog_S3_(char* t1, s32 v1, char* t2, s32 v2, char* t3, s32 v3, char* t4); 00127 void KLog_S4_(char* t1, s32 v1, char* t2, s32 v2, char* t3, s32 v3, char* t4, s32 v4, char* t5); 00128 void KLog_S1x(u16 minSize, char* t1, s32 v1); 00129 void KLog_S2x(u16 minSize, char* t1, s32 v1, char* t2, s32 v2); 00130 void KLog_S3x(u16 minSize, char* t1, s32 v1, char* t2, s32 v2, char* t3, s32 v3); 00131 void KLog_S4x(u16 minSize, char* t1, s32 v1, char* t2, s32 v2, char* t3, s32 v3, char* t4, s32 v4); 00132 void KLog_f1(char* t1, fix16 v1); 00133 void KLog_f2(char* t1, fix16 v1, char* t2, fix16 v2); 00134 void KLog_f3(char* t1, fix16 v1, char* t2, fix16 v2, char* t3, fix16 v3); 00135 void KLog_f4(char* t1, fix16 v1, char* t2, fix16 v2, char* t3, fix16 v3, char* t4, fix16 v4); 00136 void KLog_f1x(s16 numDec, char* t1, fix16 v1); 00137 void KLog_f2x(s16 numDec, char* t1, fix16 v1, char* t2, fix16 v2); 00138 void KLog_f3x(s16 numDec, char* t1, fix16 v1, char* t2, fix16 v2, char* t3, fix16 v3); 00139 void KLog_f4x(s16 numDec, char* t1, fix16 v1, char* t2, fix16 v2, char* t3, fix16 v3, char* t4, fix16 v4); 00140 void KLog_F1(char* t1, fix32 v1); 00141 void KLog_F2(char* t1, fix32 v1, char* t2, fix32 v2); 00142 void KLog_F3(char* t1, fix32 v1, char* t2, fix32 v2, char* t3, fix32 v3); 00143 void KLog_F4(char* t1, fix32 v1, char* t2, fix32 v2, char* t3, fix32 v3, char* t4, fix32 v4); 00144 void KLog_F1x(s16 numDec, char* t1, fix32 v1); 00145 void KLog_F2x(s16 numDec, char* t1, fix32 v1, char* t2, fix32 v2); 00146 void KLog_F3x(s16 numDec, char* t1, fix32 v1, char* t2, fix32 v2, char* t3, fix32 v3); 00147 void KLog_F4x(s16 numDec, char* t1, fix32 v1, char* t2, fix32 v2, char* t3, fix32 v3, char* t4, fix32 v4); 00148 00149 00162 Bitmap *allocateBitmap(const Bitmap *bitmap); 00177 Bitmap *allocateBitmapEx(u16 width, u16 heigth); 00189 TileSet *allocateTileSet(const TileSet *tileset); 00201 TileSet *allocateTileSetEx(u16 numTile); 00213 TileMap *allocateTileMap(const TileMap *tilemap); 00227 TileMap *allocateTileMapEx(u16 width, u16 heigth); 00240 Image *allocateImage(const Image *image); 00252 Map *allocateMap(const MapDefinition *mapDef); 00253 00268 Bitmap *unpackBitmap(const Bitmap *src, Bitmap *dest); 00283 TileSet *unpackTileSet(const TileSet *src, TileSet *dest); 00298 TileMap *unpackTileMap(const TileMap *src, TileMap *dest); 00313 Image *unpackImage(const Image *src, Image *dest); 00314 00331 u32 unpack(u16 compression, u8 *src, u8 *dest); 00332 00344 u32 aplib_unpack(u8 *src, u8 *dest); 00357 u32 lz4w_unpack(const u8 *src, u8 *dest); 00358 00359 00371 void qsort_u8(u8 *data, u16 left, u16 right); 00383 void qsort_s8(s8 *data, u16 left, u16 right); 00395 void qsort_u16(u16 *data, u16 left, u16 right); 00407 void qsort_s16(s16 *data, u16 left, u16 right); 00419 void qsort_u32(u32 *data, u16 left, u16 right); 00431 void qsort_s32(s32 *data, u16 left, u16 right); 00432 00444 void qsort(void** data, u16 len, _comparatorCallback* cb); 00445 00446 00447 00448 #endif // _TOOLS_H_