SDL Thread Error ? December 16, 2008 05:52AM | Registered: 14 years ago Posts: 703 |
Re: SDL Thread Error ? December 16, 2008 08:50AM | Registered: 14 years ago Posts: 703 |
Re: SDL Thread Error ? December 16, 2008 03:48PM | Registered: 14 years ago Posts: 73 |
Quote
When I run it via the HBC I get the following error - "sdl not configured with thread support". I've identified the SDL_INIT_TIMER and SDL_GetTicks() as the culprits.
Re: SDL Thread Error ? December 16, 2008 07:13PM | Registered: 14 years ago Posts: 703 |
Re: SDL Thread Error ? December 16, 2008 07:32PM | Registered: 14 years ago Posts: 15 |
Re: SDL Thread Error ? December 16, 2008 09:08PM | Registered: 14 years ago Posts: 703 |
Re: SDL Thread Error ? December 16, 2008 10:10PM | Registered: 14 years ago Posts: 703 |
Re: SDL Thread Error ? December 16, 2008 10:18PM | Registered: 14 years ago Posts: 15 |
Re: SDL Thread Error ? December 16, 2008 10:48PM | Registered: 14 years ago Posts: 703 |
Re: SDL Thread Error ? December 16, 2008 10:59PM | Registered: 14 years ago Posts: 15 |
Re: SDL Thread Error ? December 16, 2008 11:16PM | Registered: 14 years ago Posts: 703 |
Re: SDL Thread Error ? December 16, 2008 11:34PM | Registered: 14 years ago Posts: 15 |
Re: SDL Thread Error ? December 16, 2008 11:58PM | Registered: 14 years ago Posts: 73 |
Re: SDL Thread Error ? December 17, 2008 12:40AM | Registered: 14 years ago Posts: 703 |
Re: SDL Thread Error ? December 17, 2008 01:07AM | Registered: 14 years ago Posts: 15 |
Re: SDL Thread Error ? December 17, 2008 08:18AM | Registered: 14 years ago Posts: 703 |
typedef unsigned long DWORD; typedef unsigned char BYTE; typedef unsigned short WORD; typedef long LONG; typedef struct { DWORD biSize; LONG biWidth; LONG biHeight; WORD biPlanes; WORD biBitCount; DWORD biCompression; DWORD biSizeImage; LONG biXPelsPerMeter; LONG biYPelsPerMeter; DWORD biClrUsed; DWORD biClrImportant; } BITMAPINFOHEADER; typedef struct { char magic[2]; Uint32 bfSize; Uint16 bfReserved1; Uint16 bfReserved2; Uint32 bfOffBits; } BITMAPFILEHEADER; unsigned long ByteSwap2 (unsigned long nLongNumber) { return (((nLongNumber&0x000000FF)<<24)+((nLongNumber&0x0000FF00)<<8)+ ((nLongNumber&0x00FF0000)>>8)+((nLongNumber&0xFF000000)>>24)); } SDL_Surface* bitmap_SDL(const char* path,BYTE* pixel_buffer) { FILE* pFile = NULL; pFile = fopen(path,"rb"); if (!pFile) return 0; SDL_Surface* s = NULL; BITMAPINFOHEADER bih; BITMAPFILEHEADER bfh; fread(&bfh,14,1,pFile); fread(&bih,40,1,pFile); #ifdef _WII_ // my bmps were created on Windows ... have to deal with Endianness bih.biWidth = ByteSwap2(bih.biWidth); bih.biHeight = ByteSwap2(bih.biHeight); bih.biSizeImage = ByteSwap2(bih.biSizeImage); #endif if (bih.biSizeImage <= 0) return 0; pixel_buffer = new BYTE[bih.biSizeImage]; BYTE* pitch = new BYTE[(bih.biWidth * 3)]; if (!pixel_buffer || !pitch) { fclose(pFile); return 0; } // BMP's are stored upsidedown so flip it for( int i=0 ; i < bih.biHeight ; i++){ fread(pitch,bih.biWidth * 3,1,pFile); // copy to buffer memcpy((BYTE*) pixel_buffer +( bih.biHeight - i - 1) * (bih.biWidth * 3) , (BYTE*)pitch, bih.biWidth * 3); } delete [] pitch; pitch = NULL; #ifdef _WII_ s = SDL_CreateRGBSurfaceFrom(pixel_buffer,bih.biWidth,bih.biHeight,24,bih.biWidth*3,0x000000FF, 0x0000FF00,0x00FF0000, 0); #else s = SDL_CreateRGBSurfaceFrom(pixel_buffer,bih.biWidth,bih.biHeight,24,bih.biWidth*3,0x00FF0000, 0x0000FF00,0x000000FF, 0); #endif fclose(pFile); if (!s) return 0; return s; }
Re: SDL Thread Error ? December 17, 2008 08:41AM | Registered: 14 years ago Posts: 15 |