I've recently started to re-write a large section of my code in PureGDK when I had a thought. So I looked through the header files and compared them properly this time to the Dark GDK ones. There's lots missing that's in the Dark GDK headers, and I was only originally after the "bitmap" and "image" extras.
If the libraries are the same ones that are with GDK and DBP (hopefully) then would it be simple enough to make the template functions as in the PureGDK .cpp files to call those missing functions? Originally I wanted to look at grabbing the direct x surface, but there the low level handling of objects and matrix's I need to do for extra speed in a number of things.
Also the GlobStruct I cannot find either. Is there a way of getting this?
Understandably for other languages like Pure Basic, etc these will not be used whatsoever but in C/C++ it would be handy to get those extra low level commands for low level, get your hands dirty programming in direct x and manual manipulation of other data such as 3d models and matrices, etc.
I could write a simple piece of code that takes the Dark GDK headers and create similar template functions in .cpp file and the .h files to the ones that are already there, but are these available in the compiled dll?
If so then this would be so awesome and I can get straight on to writing the conversion code.
For example:
"DarkSDKBitmap.h" from Dark GDK ( missing dbSetBitmapFormat() )
void dbCreateBitmap ( int iID, int iWidth, int iHeight );
void dbLoadBitmap ( char* szFilename, int iID );
void dbSaveBitmap ( char* szFilename, int iID );
void dbLoadBitmap ( char* szFilename );
void dbSaveBitmap ( char* szFilename );
void dbCopyBitmap ( int iID, int iToID );
void dbCopyBitmap ( int iID, int iX1, int iY1, int iX2, int iY2, int iToID, int iToX1, int iToY1, int iToX2, int iToY2 );
void dbDeleteBitmap ( int iID );
void dbFlipBitmap ( int iID );
void dbMirrorBitmap ( int iID );
void dbFadeBitmap ( int iID, int iFade );
void dbBlurBitmap ( int iID, int iBlurLevel );
void dbSetCurrentBitmap ( int iID );
int dbCurrentBitmap ( void );
int dbBitmapExist ( int iID );
int dbBitmapWidth ( int iID );
int dbBitmapHeight ( int iID );
int dbBitmapDepth ( int iID );
int dbBitmapMirrored ( int iID );
int dbBitmapFlipped ( int iID );
int dbBitmapExist ( void );
int dbBitmapWidth ( void );
int dbBitmapHeight ( void );
int dbBitmapDepth ( void );
int dbBitmapMirrored ( void );
int dbBitmapFlipped ( void );
void dbGetBitmapData ( int iID, DWORD* dwWidth, DWORD* dwHeight, DWORD* dwDepth, LPSTR* pData, DWORD* dwDataSize, bool bLockData );
void dbSetBitmapData ( int bitmapindex, DWORD dwWidth, DWORD dwHeight, DWORD dwDepth, LPSTR pData, DWORD dwDataSize );
void ConstructorBitmap ( HINSTANCE );
void DestructorBitmap ( void );
void SetErrorHandlerBitmap ( LPVOID pErrorHandlerPtr );
void PassCoreDataBitmap ( LPVOID pGlobPtr );
void RefreshD3DBitmap ( int iMode );
void UpdateBitmapZeroOfNewBackbufferBitmap ( void );
"pgdk-bitmap.h" from PureGDK
int32_t dbLoadBitmap(std::string fileName, int32_t bitmapID = -1);
int32_t dbCreateBitmap(int32_t width, int32_t height, int32_t bitmapID = -1);
int32_t dbDeleteBitmap(int32_t bitmapID, int32_t typeID = kGDK_ID_Bitmap, int32_t clearCache = 0, int32_t isID = 0);
void dbFlipBitmap(int32_t bitmapID);
void dbMirrorBitmap(int32_t bitmapID);
void dbFadeBitmap(int32_t bitmapID, int32_t percent);
void dbBlurBitmap(int32_t bitmapID, int32_t blur);
void dbSetCurrentBitmap(int32_t bitmapID);
void dbSetBitmapFormat(int32_t bitmapFormat);
int32_t dbCurrentBitmap();
int32_t dbIsBitmap(int32_t bitmapID);
int32_t dbBitmapWidth(int32_t bitmapID = 0);
int32_t dbBitmapHeight(int32_t bitmapID = 0);
int32_t dbBitmapDepth(int32_t bitmapID = 0);
int32_t dbBitmapMirrored(int32_t bitmapID = 0);
int32_t dbBitmapFlipped(int32_t bitmapID = 0);
void dbCopyBitmap(int32_t sourceBitmapID, int32_t destinationBitmapID, RECT* source = 0, RECT* destination = 0);
Although the important one at the time for me was the "image" functions and now the GlobStruct and 3d functions.
I'd love to be able to go through the Dark GDK headers and add these functions.
Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!