Jump to content

  • Log In with Google      Sign In   
  • Create Account


More SDL problems


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
2 replies to this topic

#1 Crusable   Members   -  Reputation: 592

Like
0Likes
Like

Posted 12 October 2012 - 09:08 PM

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.

Edited by JTippetts, 12 October 2012 - 10:12 PM.
Added code tags for you.

"C spilled his beer all over C++'s shirt. Outraged, C++ shouted, "Good god, man! Have you no class?"

"Your mother is so fat that the recursive function that was used to calculate her mass created a stack overflow"

 

 


Sponsor:

#2 superman3275   Crossbones+   -  Reputation: 2011

Like
0Likes
Like

Posted 12 October 2012 - 09:19 PM

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.

Edited by superman3275, 12 October 2012 - 09:20 PM.

I'm a game programmer and computer science ninja ph34r.png!

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 smile.png!


#3 JTippetts   Moderators   -  Reputation: 8410

Like
0Likes
Like

Posted 12 October 2012 - 10:17 PM

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.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS