Sign in to follow this  
cj270608

SDL

Recommended Posts

Boomlala    139
Go to My Documents. Go inside the Visual Studio folder. Go to Projects. Go to a folder with the name of your VS solution. Go to the folder with the name of the VS project.

And there ya go.

Share this post


Link to post
Share on other sites
cj270608    124
To help you out, here's my source.


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

//The attributes of the screen
const int SCREEN_WIDTH = 640;
const int SCREEN_HEIGHT = 480;
const int SCREEN_BPP = 32;
//The surfaces that will be used
SDL_Surface *message = NULL;
SDL_Surface *background = NULL;
SDL_Surface *screen = NULL;
SDL_Surface *load_image( std::string filename )
{
//Temporary storage for the image that's loaded
SDL_Surface* loadedImage = NULL;

//The optimized image that will be used
SDL_Surface* optimizedImage = NULL;

//Load the image
loadedImage = SDL_LoadBMP( filename.c_str() );
//If nothing went wrong in loading the image
if( loadedImage != NULL )
{
//Create an optimized image
optimizedImage = SDL_DisplayFormat( loadedImage );

//Free the old image
SDL_FreeSurface( loadedImage );
}
//Return the optimized image
return optimizedImage;
}
void apply_surface( int x, int y, SDL_Surface* source, SDL_Surface* destination )
{
//Make a temporary rectangle to hold the offsets
SDL_Rect offset;

//Give the offsets to the rectangle
offset.x = x;
offset.y = y;
//Blit the surface
SDL_BlitSurface( source, NULL, destination, &offset );
}
int main( int argc, char* args[] )
{
//Initialize all SDL subsystems
if( SDL_Init( SDL_INIT_EVERYTHING ) == -1 )
{
return 1;
}
//Set up the screen
screen = SDL_SetVideoMode( SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_BPP, SDL_SWSURFACE );
//If there was an error in setting up the screen
if( screen == NULL )
{
return 1;
}
//Set the window caption
SDL_WM_SetCaption( "Hello World", NULL );

//Load the images
message = load_image( "hello_world.bmp" );
background = load_image( "background.bmp" );

//Apply the background to the screen
apply_surface( 0, 0, background, screen );

//Apply the message to the screen
apply_surface( 180, 140, message, screen );

//Update the screen
if( SDL_Flip( screen ) == -1 )
{
return 1;
}

//Wait 2 seconds
SDL_Delay( 2000 );

//Quit SDL
SDL_Quit();

//Free the surfaces
SDL_FreeSurface( message );
SDL_FreeSurface( background );
//Quit SDL
SDL_Quit();
//Return
return 0;
}

Share this post


Link to post
Share on other sites
omr    131
As a startup it doesn't differ where you put your image files. If it works, that's okey then. But when you start to make bigger projects, its a good idea to put all data files in a seperate folder. If you keep source files and data files all together, it will be very messy soon. Even you seperate some source files into different folders.

For example.

src
|---- main.cpp
engine
|------ engine.cpp
|------ engine.h


data
gfx
|----- man.bmp
|----- car.bmp
sfx
|----- bum.wav
|----- disco.wav


"src" is folder is for your source files. And "data" is for your data files. When using, you can type in your code: load_image( "data/gfx/man.bmp" );

This is also something related with the project options of your editor. You can set your source folder or output folder. If you are using Visual Studio get familiar with what is Debug mode, Relase mode. It makes several folders for these.

Currently you can just put your image next to your main.cpp (or next to your source files). But it is not a good behaviour in the long run.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this