Page 1 of 1

SDL problem.

Posted: Mon Jun 15, 2009 8:30 pm
by YenTex
I followed LazyFoo's hello world tutorial exactly, it compiles fine, and launches, but the images I try to load don't load.
I'm using a MacBook Pro with the latest version of Xcode, and Leopard.
The same exact code with the same exact images work fine on my PC with Dev-C++
CODE

Code: Select all

//The headers 
#include "SDL/SDL.h" 
#include <string> 


const int SCREEN_WIDTH = 640; 
const int SCREEN_HEIGHT = 480; 
const int SCREEN_BPP = 32; 

SDL_Surface *message = NULL; 
SDL_Surface *background = NULL;
SDL_Surface *screen = NULL; 
SDL_Surface *load_image( std::string background ) 
{
	SDL_Surface* loadedImage = NULL;
	
	SDL_Surface* optimizedImage = NULL; 
	
	loadedImage = SDL_LoadBMP( background.c_str() ); 
	
	if( loadedImage != NULL ) 
	{
		optimizedImage = SDL_DisplayFormat( loadedImage );
		
		SDL_FreeSurface( loadedImage );
	}
	
	return optimizedImage; 
}
void apply_surface( int x, int y, SDL_Surface* source, SDL_Surface* destination )
{
	SDL_Rect offset;
	offset.x = x;
	offset.y = y;
	SDL_BlitSurface( source, NULL, destination, &offset );
}

int main( int argc, char* args[] )
{
	if( SDL_Init( SDL_INIT_EVERYTHING ) == -1 )
	{
		return 1; 
	}
	screen = SDL_SetVideoMode( SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_BPP, SDL_SWSURFACE );
	
	if( screen == NULL )
	{
		return 1; 
	}
	
	SDL_WM_SetCaption( "Hello World", NULL );
	message = load_image( "message.bmp" );
	background = load_image( "background.bmp" );
	
	apply_surface( 0, 0, background, screen );
	apply_surface( 180, 140, message, screen );
	
	if( SDL_Flip( screen ) == -1 )
	{
		return 1; 
	}
	
	SDL_Delay( 10000 );
	
	SDL_FreeSurface( message );
	SDL_FreeSurface( background );
	
	SDL_Quit();
	
	return 0; 
	
}

Re: SDL problem.

Posted: Mon Jun 15, 2009 8:31 pm
by rolland
Are the images in the same folder as where the final executable is placed?

Re: SDL problem.

Posted: Mon Jun 15, 2009 8:38 pm
by YenTex
nope, but this fixed it. thanks!