More SDL problems

Started by
1 comment, last by JTippetts 11 years, 6 months ago
Hello again,

im having more troubles with SDL. I am following lazy foo's toutorials and i did the second project.

CODE:

#include "SDL.h"
#include <string>
using namespace std;
//attributes of the screen
const int SCREEN_WIDTH = 640;
const int SCREEN_HEIGHT = 480;
const int SCREEN_BPP = 32; //bits-per-pixel
//Surfaces
SDL_Surface *message = NULL;
SDL_Surface *background = NULL;
SDL_Surface *screen = NULL;
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 );
}
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;
//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;
}
int main( int argc, char* args[] ) {
//Initilize
if(SDL_Init( SDL_INIT_EVERYTHING ) == -1) return 1;
//Set up screen
screen = SDL_SetVideoMode( SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_BPP, SDL_SWSURFACE );
if( screen == NULL ) return 1;

//set video caption
SDL_WM_SetCaption( "Hello World", NULL );

//Load image
message = load_image( "hello.bmp" );
background = load_image( "background.bmp" );
//Apply image to screen
apply_surface( 0, 0, background, screen );
apply_surface( 320, 0, background, screen );
apply_surface( 0, 240, background, screen );
apply_surface( 320, 240, background, screen );

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


//Update Screen
if( SDL_Flip( screen ) == -1 ) return 1;

//Pause
SDL_Delay( 10000 );
//Free the loaded image
SDL_FreeSurface( message );
SDL_FreeSurface(background);

//Quit SDL
SDL_Quit();
return 0;
}

(Sorry i dont know how to put the code in those things)

and i get this message when im done:

'Space Game.exe': Loaded 'C:\Users\Mathew\Documents\Visual Studio 2010\Projects\Space Game\Debug\Space Game.exe', Symbols loaded.
'Space Game.exe': Loaded 'C:\Windows\System32\ntdll.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\kernel32.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\KernelBase.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Users\Mathew\Documents\Visual Studio 2010\Projects\Space Game\Debug\SDL.dll', Binary was not built with debug information.
'Space Game.exe': Loaded 'C:\Windows\System32\advapi32.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\msvcrt.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\sechost.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\rpcrt4.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\gdi32.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\user32.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\lpk.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\usp10.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\winmm.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\msvcp100.dll', Symbols loaded.
'Space Game.exe': Loaded 'C:\Windows\System32\msvcr100.dll', Symbols loaded.
'Space Game.exe': Loaded 'C:\Windows\System32\imm32.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\msctf.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\ddraw.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\dciman32.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\setupapi.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\cfgmgr32.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\oleaut32.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\ole32.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\devobj.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\dwmapi.dll', Cannot find or open the PDB file
'Space Game.exe': Unloaded 'C:\Windows\System32\ddraw.dll'
'Space Game.exe': Unloaded 'C:\Windows\System32\dwmapi.dll'
'Space Game.exe': Unloaded 'C:\Windows\System32\setupapi.dll'
'Space Game.exe': Unloaded 'C:\Windows\System32\devobj.dll'
'Space Game.exe': Unloaded 'C:\Windows\System32\oleaut32.dll'
'Space Game.exe': Unloaded 'C:\Windows\System32\ole32.dll'
'Space Game.exe': Unloaded 'C:\Windows\System32\cfgmgr32.dll'
'Space Game.exe': Unloaded 'C:\Windows\System32\dciman32.dll'
'Space Game.exe': Loaded 'C:\Windows\System32\uxtheme.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\dwmapi.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\KBDUS.DLL', Cannot find or open the PDB file
'Space Game.exe': Unloaded 'C:\Windows\System32\KBDUS.DLL'
'Space Game.exe': Loaded 'C:\Windows\System32\KBDUS.DLL', Cannot find or open the PDB file
'Space Game.exe': Unloaded 'C:\Windows\System32\KBDUS.DLL'
'Space Game.exe': Loaded 'C:\Windows\System32\dsound.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\ole32.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\powrprof.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\setupapi.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\cfgmgr32.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\oleaut32.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\devobj.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\dinput.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\hid.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\wintrust.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\crypt32.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\msasn1.dll', Cannot find or open the PDB file
'Space Game.exe': Loaded 'C:\Windows\System32\cryptbase.dll', Cannot find or open the PDB file
The thread 'Win32 Thread' (0xfcc) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0xb90) has exited with code 0 (0x0).
The program '[2768] Space Game.exe: Native' has exited with code 0 (0x0).


so the program runs for the 10 sec, but its black. There is no picture. I have all the files and librarys/linker stuff done right. My image Background is 320 by 240. and the hello is 280 by 200. im not sure if i did the math right, or if there is some other problem but i need some help.
Advertisement
Don't show us those messages you get when you are done, that's happens with every library, it's perfectly normal and just clutters up your post. Also, try using the code formatting, it make reading your code far easier. All problems aside, here's what I think is wrong:

Do you have the image files in your project under the exact same names? When you say:
loadimage("Blah")
The string inside the quotes is the filename. It looks in the folder you're projects in and searches for that files name. Try setting up an if loop that says if it can't load the image to print out an error message. I believe you don't have the files, or they're not .bmp.

I'm a game programmer and computer science ninja !

Here's my 2D RPG-Ish Platformer Programmed in Python + Pygame, with a Custom Level Editor and Rendering System!

Here's my Custom IDE / Debugger Programmed in Pure Python and Designed from the Ground Up for Programming Education!

Want to ask about Python, Flask, wxPython, Pygame, C++, HTML5, CSS3, Javascript, jQuery, C++, Vimscript, SFML 1.6 / 2.0, or anything else? Recruiting for a game development team and need a passionate programmer? Just want to talk about programming? Email me here:

hobohm.business@gmail.com

or Personal-Message me on here !

Some googling indicates that the PDB file warnings might go away if you run Visual Studio with administrator priveleges. I couldn't say if this is the answer or not, since I don't use VS, but it might be worth a shot.

After you call load_image(), check the return values to verify that they are not NULL. If they are, then loading the surfaces failed and as the previous poster indicated you'll want to ensure that your images are located where your executable can find them.

This topic is closed to new replies.

Advertisement